--- # Full dev/test cluster bring-up, in order (docs/02 sequencing; run AFTER # `tofu apply` has created and cloud-init has baselined the VMs): # k3s HA install -> Cilium CNI -> verify readiness -> Flux + SOPS hand-off. # # TARGET (R-ENV-02): every imported play takes its host pattern from a var that # defaults to the dev group, so `ansible-playbook playbooks/site.yml` with no extra # vars is byte-for-byte the dev run it always was. Extra vars are global and reach # imported playbooks, so the whole chain retargets with three flags: # ansible-playbook playbooks/site.yml \ # -e k3s_hosts=k3s_prod \ # -e k3s_primary_hosts=k3s_prod_primary \ # -e k3s_secondary_hosts=k3s_prod_secondary # DO NOT run that yet — prod is blocked on the disk-layout decision # (infra/PROD-PROVISIONING.md §2) and the §7 repo blockers, and the operator has ruled # the prod cluster stays uninitialized until all three nodes are present (§8). - name: Import - node baseline (packages, kernel modules, Longhorn disk, swap-off) ansible.builtin.import_playbook: node-baseline.yml - name: Import - install k3s HA control plane ansible.builtin.import_playbook: k3s.yml - name: Import - install Cilium CNI ansible.builtin.import_playbook: cilium.yml - name: Import - verify cluster readiness ansible.builtin.import_playbook: verify.yml - name: Import - Flux + SOPS bootstrap hand-off ansible.builtin.import_playbook: flux-bootstrap.yml