CI & Release / Verify simulator (push) Skipped
CI & Release / Trivy scan (push) Skipped
CI & Release / Semantic Release (push) Skipped
CI & Release / Verify simulator (pull_request) Failing after 4s
CI & Release / Trivy scan (pull_request) Skipped
CI & Release / Semantic Release (pull_request) Skipped
Extend glossary with storage floors, source of truth, and linkable anchors. Fix broken links, pose frame drift, rsync/offload wording, and README tone. Add docs/improvement audit records and live demo links in design journey.
GitOps — ground segment (Flux)
Flux = long-lived ground config from git. Not on drones. Not fleet manifest. Different lifecycles (11 — CI/CD).
Boundary: Terraform vs Flux vs fleet manifest
| Layer | Tool | Owns |
|---|---|---|
| Cluster + first boot | Terraform (../terraform/) |
Namespaces, PVCs, Deployments, CronJobs, NodePorts |
| Ongoing ground config | Flux (this directory) | Policy labels, dashboard bundles, offload knobs |
| Drones | Fleet release manifest | Compose digests, model weights, peer registry — dock-only |
Drones outside GitOps. No reconciler in flight. Dock applies pinned manifest once. No mid-mission drift — no update endpoint in radio profile.
Layout
infra/gitops/
flux/ Flux GitRepository + Kustomization CRs (install into flux-system)
ground/ Kustomize overlay reconciled into the ground namespace
Bootstrap on the k3d simulation cluster
infra/ansible/sim-cluster.yml installs Flux and applies CRs. After first git push, Flux reconciles infra/gitops/ground/.
# Manual bootstrap (if you skipped Ansible):
flux install --namespace=flux-system
kubectl apply -k infra/gitops/flux
Reconcile immediately:
flux reconcile source git swarm-house -n flux-system
flux reconcile kustomization ground-segment -n flux-system
What Flux manages
ground/ overlay: GitOps-managed ConfigMap with fleet policy metadata. Production extends to Grafana dashboards, Prometheus rules, offload-schedule ConfigMaps — git-versioned, no terraform apply for label tweaks.