Fold the operational half of ArgoCD work into this skill, which until now covered only authoring the Copier-templated repo. The two never overlapped: authoring edits files in git, connecting applies objects to a cluster. - Add references/connecting-a-repo.md: host-key trust, repository Secret registration with its project-scoping decision table, bootstrap apply ordering, SSO RBAC, prerequisites, and verification commands. - Add references/connect-env-vars.md: layered .env loading, variable table, CLI flags, and SSH deploy-key rules. - Add SKILL.md section 11 plus scope-routing rows, and state the split: sections 1-10 author, section 11 operates. - Map the numbered cluster/0000-bootstrap layout onto the cluster/argocd layout, since the connect scripts reference those folder names directly. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
# development-gitops-argo-cd
|
|
|
|
Agent Skill for GitOps repositories where **ArgoCD** syncs cluster state from a
|
|
**Copier**-templated Git repo — app-of-apps `Application` manifests under `cluster/argocd/`,
|
|
Helm `values.yaml.jinja` templates under `cluster/resources/`, Jinja2 conditional directory
|
|
names used as feature flags, and per-environment `copier-answers.yaml` files.
|
|
|
|
The rules are repo-agnostic; `references/cogarchhubgitops-reference.md` records
|
|
CogArchHubGitOps as the concrete reference implementation (bands in use, flag names, global
|
|
settings, ordering dependencies).
|
|
|
|
## Layout
|
|
|
|
```text
|
|
development-gitops-argo-cd/
|
|
├── SKILL.md # Entry point — scope routing + shared rules
|
|
├── references/
|
|
│ ├── argocd-applications.md # Application manifests, sync policy, troubleshooting
|
|
│ ├── copier-templates.md # copier.yaml, .jinja authoring, render() macro
|
|
│ ├── helm-values.md # values.yaml.jinja, images, global block, probes
|
|
│ ├── environments.md # copier-answers.yaml, flags, drift, copier update
|
|
│ ├── adding-a-resource.md # End-to-end walkthrough across all three layers
|
|
│ ├── connecting-a-repo.md # Cluster-side: repo Secret, bootstrap, host key, SSO RBAC
|
|
│ ├── connect-env-vars.md # Variables and flags for the connect operations
|
|
│ └── cogarchhubgitops-reference.md # The CogArchHubGitOps instance
|
|
└── assets/
|
|
└── example-cluster-resource/ # Starting templates for a new resource
|
|
├── argocd/application.yaml.jinja
|
|
├── resources/values.yaml.jinja
|
|
└── copier-variables.yaml
|
|
```
|
|
|
|
## The three-layer contract
|
|
|
|
Every managed resource spans three layers that share one feature flag and one conditional
|
|
directory expression:
|
|
|
|
```text
|
|
copier.yaml → declares the flag + variables
|
|
cluster/argocd/{{ 'NNN-name' if flag }}/ → ArgoCD Application
|
|
cluster/resources/{{ 'NNN-name' if flag }}/ → Helm values
|
|
```
|
|
|
|
## Deploy
|
|
|
|
```bash
|
|
cd ../skill-manager/scripts
|
|
task deploy -- --skill-dir="$(cd ../../development-gitops-argo-cd && pwd)"
|
|
```
|
|
|
|
Built with the `skill-manager` skill, following the
|
|
[agentskills.io specification](https://agentskills.io/specification).
|