# The missing link. Everything else in dev/ — the GitRepository, the two # Kustomizations, the three ExternalSecrets — was applied once by hand and then # never re-read, because no Kustomization watched this directory. Editing # proxy-kustomization.yaml in git changed nothing in the cluster until someone # remembered to kubectl apply it, which cost real time more than once (the # CONTROL_PLANE_REF_NAME rollout, then LLM_INPUT_COST). # # This object watches ./dev, so those files are reconciled like any other # manifest. It lives in ./dev itself, so it also manages itself — the same # self-referential arrangement `flux bootstrap` sets up. # # Apply it once with kubectl. That is the last manual apply this repo needs. # # Sharp edge worth knowing: with prune enabled, deleting proxy-kustomization.yaml # from git deletes the Kustomization it defines, and that Kustomization's own # prune then removes the Kong configuration it manages. That is GitOps behaving # correctly, but the blast radius of removing one file is two levels deep. apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: platform-llm-dev-bootstrap namespace: llm spec: interval: 10m sourceRef: kind: GitRepository name: platform-llm-dev path: ./dev prune: true # No postBuild here on purpose: the entrypoint manifests carry literal values, # and the substitutions belong to the Kustomizations they define.