anton-repo-conventions

Explains Anton's Flux conventions and canonical 3-file pattern for Kubernetes manifests.

3|Updated May 13, 2025
One-click install
npx skills add https://github.com/wcygan/anton --skill anton-repo-conventions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: anton-repo-conventions
Source: https://github.com/wcygan/anton/tree/main/.claude/skills/anton-repo-conventions
Command: npx skills add https://github.com/wcygan/anton --skill anton-repo-conventions

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Anton's Flux conventions provide a canonical reference for structuring Flux apps and managing secrets in Kubernetes clusters.

Core Features & Use Cases

  • Documentation of the 3-file pattern (ks.yaml, app/kustomization.yaml, app/helmrelease.yaml) and how to apply it across namespaces.
  • Explanation of HelmRelease sources (OCIRepository, HelmRepository, GitRepository), and the postBuild substitution mechanism for cluster secrets.
  • Guidance on SOPS vs ExternalSecret decision and how to wire cluster-secrets.

Quick Start

Consult this reference to implement Anton's Flux conventions when authoring manifests or choosing a secret store.

Frequently Asked Questions about anton-repo-conventions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Flux apps in a GitOps repository?

Flux apps are structured using a canonical 3-file pattern: ks.yaml, app/kustomization.yaml, and app/helmrelease.yaml. This pattern organizes Flux applications consistently across namespaces and provides a standardized reference for structuring Flux repositories.

What is the difference between SOPS and ExternalSecret for Kubernetes secret management?

SOPS and ExternalSecret differ in their secret management approach: SOPS encrypts secret files within the repository, while ExternalSecret fetches secrets from external providers at runtime. Decision criteria depend on cluster-secrets wiring and whether you need in-repo encryption or external provider integration.

How does postBuild substitution work for Flux HelmReleases?

PostBuild substitution in Flux HelmReleases replaces templated variables in manifests with cluster-specific values. This mechanism allows HelmRelease sources from OCIRepository, HelmRepository, or GitRepository to inject cluster secrets dynamically during deployment.

Can I use OCIRepository as a HelmRelease source in Flux?

Yes, OCIRepository is one of three supported HelmRelease source types alongside HelmRepository and GitRepository. Choosing between them depends on where your Helm charts are stored and how your GitOps workflow retrieves chart artifacts.

What does ks.yaml contain in a Flux repository?

The ks.yaml file defines the canonical shape for organizing Flux applications within a namespace. It is part of the 3-file pattern that standardizes how Flux apps, Kustomizations, and HelmReleases are structured across Kubernetes clusters.