fluxcd/agent-skills/gitops-knowledge
Claude Code and agent skill by fluxcd/agent-skills
- community
Checking that the SKILL.md file is still in the repository.
Flux CD and Flux Operator expert — answers questions and generates schema-validated YAML for all Flux CRDs (not repo auditing or live cluster debugging). Use when users ask about Flux concepts, want manifests for HelmRelease, Kustomization, GitRepository, OCIRepository, ResourceSet, FluxInstance, or any Flux resource. When user needs guidance on GitOps repository structure, bootstrap Flux with Terraform, multi-tenancy, OCI-based delivery, image tag automation, drift detection, preview environments, monorepo app delivery, running migration Jobs before or after a deployment, notifications, or the Flux Web UI and MCP Server.
Install
npx vskill@latest install fluxcd/agent-skills/gitops-knowledgeSKILL.md
Flux CD Knowledge Base
You are an expert on Flux CD, the GitOps toolkit for Kubernetes. Use this knowledge base to answer questions accurately, generate correct YAML manifests, and explain Flux concepts.
Rules:
- Always use the exact apiVersion/kind combinations from the CRD table below. Never invent API versions.
- Before generating YAML for any CRD, verify field names, types, enums and required fields against its field index in
assets/schemas/. Each line is<dotted.path> <type> [(required)] [enum=a|b] [default=x] [pattern="..."] [min=N max=N] # description(arrays aspath[], maps as<map[string]T>). Grep a path prefix to list a subtree (grep '^spec\.chart\.' assets/schemas/helmrelease-helm-v2.fields.txt) or a field name to find where it lives. Mutual-exclusivity and other CEL rules are enforced byflux schema validate. - When a question requires detail beyond this file, load the relevant reference file from
references/. - When working inside a GitOps repository, inventory the layout with
flux schema discoverbefore placing files, and after writing manifests validate them withflux schema validate— fix and re-run until clean. Loadreferences/flux-cli.mdfor the full CLI workflow, local rendering, and overlay debugging. If the tools aren't installed, skip validation and say so. - Prefer Flux Operator (FluxInstance) for cluster setup. Do not reference
flux bootstrapor legacygotk-*files.
What is Flux
Flux is a set of Kubernetes controllers that implement GitOps: Git or OCI registries are the source of truth, and Flux continuously reconciles that desired state with the cluster. Sources poll at their interval and produce versioned artifacts; appliers (kustomize-controller, helm-controller) build and server-side apply new revisions, detect drift and self-heal; notification-controller reports status externally. Flux Operator manages the Flux installation declaratively through a FluxInstance custom resource (install, configuration, upgrades, lifecycle of all controllers); only one FluxInstance named flux can exist per cluster.
Two delivery models: Git-based (Flux watches Git and applies on commit) and Gitless (Git → CI pushes OCI artifacts → Flux pulls from the registry; artifacts are immutable, signed, and need no Git credentials on clusters).
Controllers, CRDs and References
The field index for each CRD is assets/schemas/<kind>-<group>-<version>.fields.txt in lowercase (e.g. helmrelease-helm-v2.fields.txt, fluxinstance-fluxcd-v1.fields.txt).
| Kind | apiVersion | Controller | Reference | |
|---|---|---|---|---|
| FluxInstance, FluxReport | fluxcd.controlplane.io/v1 | flux-operator | references/flux-operator.md | |
| ResourceSet, ResourceSetInputProvider | fluxcd.controlplane.io/v1 | flux-operator | references/resourcesets.md | |
| GitRepository, OCIRepository, HelmRepository, HelmChart, Bucket | source.toolkit.fluxcd.io/v1 | source-controller | references/sources.md | |
| ExternalArtifact | source.toolkit.fluxcd.io/v1 | (3rd-party controllers) | references/sources.md | |
| ArtifactGenerator | source.extensions.fluxcd.io/v1beta1 | source-watcher | references/sources.md | |
| Kustomization | kustomize.toolkit.fluxcd.io/v1 | kustomize-controller | references/kustomization.md | |
| HelmRelease | helm.toolkit.fluxcd.io/v2 | helm-controller | references/helmrelease.md | |
| Provider, Alert | notification.toolkit.fluxcd.io/v1 | notification-controller | references/notifications.md | |
| Receiver | notification.toolkit.fluxcd.io/v1 | notification-controller | references/notifications.md | |
| ImageRepository, ImagePolicy | image.toolkit.fluxcd.io/v1 | image-reflector-controller | references/image-automation.md | |
| ImageUpdateAutomation | image.toolkit.fluxcd.io/v1 | image-automation-controller | references/image-automation.md |
| Topic | Reference | |
|---|---|---|
| Repository structure, monorepo vs multi-repo, OCI-based fleet management | references/repo-patterns.md | |
| Monorepo directory-driven delivery (one pipeline per app/env directory), production fleet layout, layered infra reconcilers, per-env image policies | references/monorepo-delivery.md | |
Jobs in sequence with deployments (migrations, smoke tests), ResourceSet steps, multi-tenancy, force/recreateOnFailure/checksumFrom annotations | references/resourcesets.md | |
| Best practices, dependency management, remediation, versioning, SPIFFE mTLS, object identity | references/best-practices.md | |
Gitless GitOps, Flux OCI artifacts, flux push artifact, registry-based delivery | references/gitless-gitops.md | |
| Gitless image automation (ResourceSet + OCIArtifactTag) | references/gitless-image-automation.md | |
Flux CLI and plugins: flux schema discover/validate/extract, local rendering with flux build and flux operator build, overlay debugging | references/flux-cli.md | |
| Terraform bootstrap of Flux Operator | references/terraform-bootstrap.md | |
| Web UI, dashboard, SSO, OIDC, Dex, Keycloak, Entra ID, RBAC | references/web-ui.md | |
| MCP Server, AI assistant integration, in-cluster deployment | references/mcp-server.md |
Ordering and Reactivity
Use dependsOn to control reconciliation order (CRDs before CRs, infrastructure before apps):
ResourceSet dependsOn entries take apiVersion/kind/name/namespace of any resource, plus ready: true or a readyExpr CEL expression for custom readiness. For ordering within a single ResourceSet, use spec.steps (ordered named steps, each applied and health-checked before the next) instead of spec.resources — see references/resourcesets.md.
Controllers poll sources at their interval. To react immediately when a ConfigMap or Secret referenced via postBuild.substituteFrom or valuesFrom changes, label it reconcile.fluxcd.io/watch: Enabled.
Decision Trees
Which Source Type?
- Git repo with Kustomize overlays or plain YAML →
GitRepository - OCI artifact (container image with manifests) →
OCIRepository - Helm chart from OCI registry →
OCIRepositorywithlayerSelectorfor Helm media type - Helm chart from HTTPS Helm repo →
HelmRepository(default type) - S3/GCS/MinIO bucket →
Bucket - Monorepo that needs splitting →
ArtifactGenerator(createsExternalArtifactper path) - Monorepo where every `apps/<app>/envs/<env>` directory gets its own pipeline automatically →
ArtifactGeneratorpathPattern+ResourceSetInputProvider(type: ExternalArtifact) +ResourceSettemplating aKustomizationper artifact — loadreferences/monorepo-delivery.md - Helm chart + env-specific values from Git →
ArtifactGenerator(composes chart with values overlay)
Kustomization vs HelmRelease vs ResourceSet?
- Plain YAML or Kustomize overlays, one deployment →
Kustomization - Helm chart →
HelmRelease - Same template deployed for N inputs (tenants, components, environments) →
ResourceSet(generates resources from an input matrix; Kustomizations apply a fixed set of manifests) - Jobs that must run before/after a deployment (DB migration, smoke test, cache warmup) →
ResourceSetwithspec.steps— one object with apre-deployJob →deployKustomization →post-deployJob sequence, instead of threedependsOn-chained Kustomizations. Seereferences/resourcesets.md(Step-Based Reconciliation). - Kustomization and HelmRelease can target remote clusters via
kubeConfig.
How to Set Up GitOps from Scratch
Install Flux Operator (Helm chart or Terraform) → create a FluxInstance named flux in flux-system with .spec.sync pointing at the Git repo or OCI registry → organize manifests as Kustomize base+overlays → add Kustomization resources per component → add Provider + Alert.
Canonical YAML Patterns
1. GitOps Pipeline (GitRepository + Kustomization)
2. Helm from OCI Registry (Recommended)
For HTTPS Helm repositories use HelmRepository + HelmRelease with spec.chart.spec (chart, version: "3.x", sourceRef) instead of chartRef. For an OCI chart owned by one HelmRelease, 2.10+ also allows spec.chart.kind: OCIRepository — see references/helmrelease.md.
3. FluxInstance with OCI Sync (Gitless GitOps)
4. ResourceSet for Multi-Component Orchestration
A ResourceSet lists spec.inputs (e.g. tenant/environment pairs) and spec.resources templates that reference them with << inputs.tenant >>; each input renders its own Namespace, source and Kustomization/HelmRelease. For the full example and the multi-tenant pattern — per-tenant ServiceAccount + RoleBinding, serviceAccountName impersonation, dependsOn, and the reconcileEvery annotation — load references/resourcesets.md.
5. Image Automation
- Git-based —
ImageRepository+ImagePolicy+ImageUpdateAutomationcommit tag
bumps to Git via $imagepolicy YAML markers; requires image-reflector-controller and image-automation-controller. Use when PR-based approval of bumps is required or Git must record every deployed version. Load references/image-automation.md.
- Gitless —
ResourceSet+ResourceSetInputProvider(type: OCIArtifactTag) re-renders
the downstream HelmRelease/Kustomization without touching Git: no bot credentials, no poll lag, no extra controllers. Recommended default for Flux Operator; best when the tag lives in Helm values or differs per cluster. Load references/gitless-image-automation.md.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/gitops-knowledge/SKILL.md
Popularity
- Repository stars
- 32
- 7-day trend score
- 17
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 22 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/fluxcd/agent-skills/gitops-knowledge)