Flux GitOps spike over deploy/ (pull-based reconcile) #366
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#366
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Flux GitOps spike over
deploy/Move kai-server CD from push-only (a resource changes only when a Forgejo Actions
workflow fires) to pull-based reconcile, so a commit to
mainbecomes the deployand drift on live resources gets reverted.
Status: Stage 1 is LIVE on kai-server (2026-06-17). Flux controllers
installed,
appsKustomizationReady: Trueat the live revision - the deployrunner is now Flux-managed and the manual
kubectl applybootstrap is retired.infrastructureships suspended as designed.Landed (Stage 1)
clusters/kai-server/sync tree: read-onlyGitRepositoryagainst canonicalForgejo + layered
Kustomizations (infrastructuresuspended,appsactive).deploy/_flux/<layer>/kustomization.yamloverlays listing existing flatmanifests by path (no file moves), validated under
LoadRestrictionsNone.appsadopts onlyforgejo-runner-deploy.ymlwithprune: false, sothe reconciler owns the CD runner and the manual
kubectl applybootstrapretires.
scripts/flux-bootstrap.sh(on-box, idempotent) +docs/flux-gitops.md.read:repositoryscope (git pull is apure read); the holding account also needs read access to the repo.
Follow-ups (staged rollout)
read:repository) token, stash at SSM/forgejo/flux-deploy-token, runscripts/flux-bootstrap.shon kai-server.Done -
appsreconciled green.agentic-os-kai/SSM.md.forgejo-runner-deployStatefulSet, confirm Flux reverts it within the interval.
appstoprune: trueonce trusted.infrastructurelayer (SecretStore, ExternalSecrets,ExternalDNS, cert-manager issuers); add
dependsOn: infrastructureto apps.deploy/_flux/appsto the remaining services one entry at a time.gotk-componentsinto git (controllers areflux install-managed fornow).
Flux
HelmReleaseobjects.Origin: infra automation review, this session.
Stage 1 live (2026-06-17). Bootstrapped on kai-server: flux 2.4.0 controllers installed and ready,
flux-systemgit secret seeded from SSM/forgejo/flux-deploy-token, sync objects applied.The deploy runner (
forgejo-runner-deploy.yml) is now Flux-managed; the manualkubectl applybootstrap is retired. Bootstrap hit one snag -scripts/flux-bootstrap.shhardcoded acoilysiren/org-dir path while the checkout lives undercoilyco-flight-deck/; fixed ind3b8a76to derive the root from the script location.Next: the drift test (hand-edit the live StatefulSet, watch Flux revert), then flip
appstoprune: trueand move to Stage 2.