Ephemeral Castle Cluster Bootstrap
Scope
This page documents the active tazlab-k8s one-shot bootstrap flow inside ephemeral-castle/.
Current Synthesis
clusters/tazlab-k8s/proxmox/create.sh is the high-level rebirth orchestrator. It mints bootstrap credentials, applies the Terragrunt foundation layers, patches Talos for Tailscale, then drives Flux convergence and post-bootstrap validation.
Bootstrap Sequence
1. Secret Minting
- resolve Infisical, Proxmox, GitHub, and Tailscale operator secrets from
/home/tazpod/secrets - mint a short-lived Tailscale AuthKey in memory
- avoid persisting the AuthKey into Terraform/Terragrunt state
2. Terragrunt Foundation
secretsfetches Proxmox credentials andTALOS_SECRETBOX_KEYfrom Infisicalplatformcreates the Proxmox VMs and applies Talos machine configurationengineinstalls ESO and creates thetazlab-secretsbridgenetworkinginstalls MetalLBgitopsbootstraps Fluxstorageinstalls Longhorn and the S3 backup secret
3. Talos Tailscale Patching
create.shpatches the Talos machine config with TailscaleExtensionServiceConfig- the patch is applied node-by-node with
talosctl apply-config - hostnames are generated from the cluster name and role
4. Flux Reconciliation
- reconcile the
flux-systemsource - reconcile core infrastructure kustomizations
- reconcile
infrastructure-auth,apps-data, andapps-static - wait for each kustomization to become Ready
5. Post-Bootstrap Validation
- wait for Longhorn PVCs to bind
- wait for the PostgreSQL restore job to start and complete
- sync runtime-generated Grafana secret data back into the monitoring namespace
- wait for Grafana readiness
- wait for the Traefik LoadBalancer IP
- run
check-blog.sh
Important Implementation Details
- network and gitops layers are parallelized after
engine storagestays after the parallel group because it depends on the ESO bridge- the script logs parallel layer output to
/workspace/logs/dag-fix/ - success output includes per-layer timing and total rebirth time
Operational Verification
check-blog.shverifies HTTPS and looks for theHugomarker stringprecision-test.shandstress-test.shexercise the rebirth loop and log per-cycle behavior
Relationships
- ephemeral-castle
- Ephemeral Castle Repository Map
- Ephemeral Castle Proxmox Talos Foundation
- TazLab Cluster Delivery Flow
Source Basis
clusters/tazlab-k8s/proxmox/create.shclusters/tazlab-k8s/proxmox/destroy.shclusters/tazlab-k8s/proxmox/check-blog.shclusters/tazlab-k8s/proxmox/precision-test.shclusters/tazlab-k8s/proxmox/stress-test.shclusters/tazlab-k8s/BOOTSTRAP.md