infrastructure-as-codelisted
Install: claude install-skill atretyak1985/swarmery
# Purpose
Enforce the invariant that a fresh server deploy of the project must succeed from code alone, without any manual `kubectl patch`, `kubectl exec`, or `helm --set` overrides that are not persisted. Covers config drift detection, the populated values pattern, post-incident IaC capture, and the "Where Changes Go" decision map.
# When to use this skill (triggers)
- Deploying the platform to a new server or environment and verifying all config is in code
- Auditing config drift after manual cluster fixes (kubectl patch, psql exec, gcloud console changes)
- Preparing or regenerating `.populated.yaml` values files via the infrastructure repo's `mapEnvValuesFromEnv.sh` (or equivalent env-mapping script)
- Verifying that all manual cluster changes are captured in the correct source file (Helm values, Terraform, migration script)
- Diagnosing literal `$VARIABLE_NAME` strings appearing in K8s Secrets
# When NOT to use this skill (anti-triggers)
- Writing or debugging Helm chart templates -- use `helm-chart-expert`
- Checking migration safety or schema alignment -- use `migration-check`
- Deploying the edge service (project.json → device) to edge devices or managing k3s -- use `kubernetes-deployment`
- Managing Keycloak realm/client configuration -- use `keycloak`
# Required environment (Runtime: .claude/skills/infrastructure-as-code/SKILL.md)
- Tools/libraries: `helm` (v3.10+), `kubectl`, `terraform`, `diff`, `bash`
- Scripts: the infrastructure repo's `files/mapEnvValue