chant on Kubernetes
llms.txt lists every page for an agent
For a team that ships to Kubernetes: manifests and Helm charts from TypeScript, GitOps through Argo CD or Flux, and a local k3d cluster to try it on.
Works
- Kubernetes manifests and Helm charts from TypeScript, in the formats kubectl and helm read
- GitOps on-ramps for Argo CD (
ArgoAppFor) and Flux CD (FluxGitSource,FluxAppFor) - Drift reported against the composite argument and source line that set the field, with a k3d demo you can run
Differs
By forge
--generate githubwrites the pull-request workflow under.github/workflows/, run onpull_requestand onpushto the target branch.- Both jobs use the job's own
github.token. On a pull request from a fork that token is read-only, so the plan note and the status are not posted.
--generate gitlabwrites.gitlab-ci.yml, andapplyruns one at a time per environment throughresource_group.- A CI job token cannot write merge request notes, so set a project access token with the
apiscope as the masked variableCHANT_FORGE_TOKEN.
--generate forgejowrites the GitHub workflow in the Forgejo dialect under.forgejo/workflows/: the runner label, action references by URL, and nopermissionsblock.- Forgejo workflows are GitHub-dialect, so
chant auditapplies its GitHub rules to them.
First step
npm install --save-dev @intentius/chant-lexicon-k8snpx chant init my-infra --lexicon k8sShow the whole prompt
Read https://intentius.io/chant/for/kubernetes/.
Set up chant with the k8s lexicon in this repository, and the helm lexicon as well if it holds Helm charts.
Install it with `npm install --save-dev @intentius/chant-lexicon-k8s`, run `npx chant init . --lexicon k8s`, and read every `skills/*/SKILL.md` it writes before you author anything.
Run `npx chant build` and `npx chant lint` until both pass, and open a pull request with the result. Apply manifests only to a local k3d cluster, and only when I ask.
Never deploy to a real cloud account or shared environment (with `chant run`, `chant components` or a platform's own CLI), approve (a pull request review, `chant approve` or `chant run approve`), override a policy denial (`chant approve policy-override`), or merge; never cut or publish a release (`chant release cut --yes` or `chant release publish`), push or delete a `ci/*` tag (`chant ci tick` pushes them), or change the value of an existing flag; never touch `.chant/allowed_signers` or `chant/lifecycle`.Proof
Example projects in the chant repository for this room, each with a README that has the commands to run it. The last rows count the examples each lexicon ships, read from the repository when this site was built.
| Example | Where |
|---|---|
getting-started | examples/getting-started |
k8s-drift-to-source | examples/k8s-drift-to-source |
argo-cd-gke | examples/argo-cd-gke |
flux-apps | examples/flux-apps |
| 14 examples | lexicons/k8s/examples |
| 9 examples | lexicons/helm/examples |
| 1 example | lexicons/k3d/examples |
| 1 example | lexicons/k3s/examples |