This document outlines standard operational procedures for a k3s-nebula cluster.
For a complete deployment of both infrastructure and configuration, we recommend using the provided Taskfile:
task deploy:allThis automated task will:
- Deploy cluster infrastructure
- Configure RBAC groups
- Verify cluster health
- Deploy cluster configuration
cd cluster-infrastructure
terraform init
terraform applycd ../scripts
./retrieve-kubeconfig.sh
export KUBECONFIG=$(pwd)/kubeconfig.yaml
kubectl get nodescd ../cluster-configuration
terraform init
terraform applyBefore deploying ArgoCD, run the secrets setup script:
./scripts/setup-argocd-secrets.shArgoCD uses Keycloak for OIDC authentication. Ensure:
- Keycloak is accessible at your configured URL (e.g.,
https://auth.example.com) - The target realm exists
- An admin user exists with permissions to create clients
You need to create groups manually in Keycloak to map to RBAC roles:
ArgoCD-AdminsArgoCD-Developers
This project uses S3 for Terraform state.
- Infrastructure State:
s3://<your-bucket>/<path>/infrastructure/terraform.tfstate - Configuration State:
s3://<your-bucket>/<path>/configuration/terraform.tfstate
To view outputs:
cd cluster-infrastructure
terraform output -json | jq- Check node status:
kubectl get nodes - Check pods:
kubectl get pods -A - Check Load Balancer: Access HAProxy stats page (if enabled)
This project is maintained by WebTree. For WebTree's specific implementation details, please refer to internal documentation.