Getting Started
llms.txt lists every page for an agent
Show the whole prompt
Read https://intentius.io/chant/lexicons/gcp/getting-started/.
In a new directory, install `@intentius/chant` and `@intentius/chant-lexicon-gcp`, write the `GcsBucket` example from the page, and run `npx chant build --output dist/manifests.yaml` and `npx chant lint src`.
Show me the output and the manifests. Print the `kubectl apply --dry-run=server` and `kubectl apply` commands for me to run; do not run them.
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`.Optional: hand this page to your coding agent
Read https://intentius.io/chant/lexicons/gcp/getting-started/.In a new directory, install `@intentius/chant` and `@intentius/chant-lexicon-gcp`, write the `GcsBucket` example from the page, and run `npx chant build --output dist/manifests.yaml` and `npx chant lint src`.Show me the output and the manifests. Print the `kubectl apply --dry-run=server` and `kubectl apply` commands for me to run; do not run them.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`.What is chant?
Section titled “What is chant?”You write TypeScript, and chant builds it into Config Connector YAML that you apply to a GKE cluster running Config Connector.
Prerequisites
Section titled “Prerequisites”- A GKE cluster with Config Connector installed
- A
ConfigConnectorContextresource configured per namespace - A GCP Service Account bound to the Config Connector controller
Install
Section titled “Install”npm install --save-dev @intentius/chant @intentius/chant-lexicon-gcpYour first resource
Section titled “Your first resource”Start with the GcsBucket composite, one function call that returns a Storage bucket:
import { GcsBucket } from "@intentius/chant-lexicon-gcp";import { defaultAnnotations, GCP } from "@intentius/chant-lexicon-gcp";
export const annotations = defaultAnnotations({ "cnrm.cloud.google.com/project-id": GCP.ProjectId,});
const { bucket } = GcsBucket({ name: "my-data-bucket", location: "US", versioning: true,});
export { bucket };Build and deploy
Section titled “Build and deploy”# Generate Config Connector YAMLchant build --output dist/manifests.yaml
# Validate against the cluster API (no changes applied)kubectl apply -f dist/manifests.yaml --dry-run=server
# Applykubectl apply -f dist/manifests.yamlUsing resource constructors
Section titled “Using resource constructors”import { StorageBucket, IAMPolicyMember, GCP } from "@intentius/chant-lexicon-gcp";
export const bucket = new StorageBucket({ location: "US", storageClass: "STANDARD", uniformBucketLevelAccess: true, versioning: { enabled: true },});
export const reader = new IAMPolicyMember({ member: "serviceAccount:app@my-project.iam.gserviceaccount.com", role: "roles/storage.objectViewer", resourceRef: { apiVersion: "storage.cnrm.cloud.google.com/v1beta1", kind: "StorageBucket", name: bucket, },});Next steps
Section titled “Next steps”- Config Connector Concepts — resource structure, references, project binding
- Examples — StorageBucket, ComputeInstance, CloudSQL, IAM
- Lint Rules — built-in checks for security and best practices