Skip to content

Apply the Hyperion stack

terraform/proxmox/infraestructure/hyperion installs the platform layer of the cluster: Cilium, cert-manager with a Cloudflare ClusterIssuer, the shared Gateway with a wildcard certificate, and ArgoCD with the homelab project and the root app-of-apps.

Through CI: merge changes under terraform/proxmox/infraestructure/hyperion to main. The Tofu :: k8s hyperion workflow runs the bootstrap task, then plans and applies.

From your workstation, run the same two steps. The bootstrap task installs the cert-manager and ArgoCD CRDs and creates the cloudflare-api-token and infisical-service-token secrets. It must run first, because the plan needs those CRDs to exist.

Terminal window
cd terraform/proxmox/infraestructure/hyperion
export GITHUB_WORKSPACE="$(git rev-parse --show-toplevel)" # the task resolves paths from it
task --taskfile "$GITHUB_WORKSPACE/.github/tasks/hyperion-bootstrap.yml"
tofu init
tofu apply

The apply waits 120 seconds after Cilium is installed so the CNI is ready before the other resources. The Gateway API CRDs are already there, because K3s installs them.

Terminal window
kubectl get pods -A
kubectl get gateway -n cilium-gateway
kubectl get certificate -n cilium-gateway

wildcard-certificate should be Ready, and ArgoCD should answer at https://argocd.home.cervant.net.

Chart versions are pinned in locals.tf (cilium_chart_version, argocd_chart_version, cert_manager_chart_version). Renovate opens pull requests for them.

See Hyperion components and Terraform: Hyperion.