Skillshub building-gitops-workflows
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/building-gitops-workflows" ~/.claude/skills/comeonoliver-skillshub-building-gitops-workflows && rm -rf "$T"
manifest:
skills/jeremylongshore/claude-code-plugins-plus-skills/building-gitops-workflows/SKILL.mdsource content
Building GitOps Workflows
Overview
Construct GitOps workflows using ArgoCD or Flux to implement declarative, Git-driven continuous delivery for Kubernetes. Generate Application/Kustomization manifests, configure sync policies, set up multi-environment promotion, and implement RBAC and notification integrations.
Prerequisites
- Kubernetes cluster accessible via
with admin permissionskubectl - Git repository for storing Kubernetes manifests (separate from application code recommended)
- ArgoCD or Flux installed on the cluster, or Helm charts ready for installation
- Container images built and pushed to a registry accessible from the cluster
- SSH key or access token for Git repository authentication from the cluster
Instructions
- Choose the GitOps tool based on requirements: ArgoCD for UI-driven management, Flux for lightweight Git-native approach
- Design the repository structure:
with Kustomize overlays or Helm values per environmentenvironments/{dev,staging,prod}/ - Generate ArgoCD Application or Flux Kustomization manifests pointing to the Git repository path for each environment
- Configure sync policy: enable
andautomated.selfHeal
for non-production; use manual sync for productionautomated.prune - Set up Git repository credentials as a Kubernetes Secret for the GitOps operator
- Implement environment promotion: update the image tag in staging manifests, test, then promote to production via PR
- Configure notifications: Slack/email alerts on sync success, failure, or health degradation via ArgoCD Notifications or Flux Alert Provider
- Add RBAC: restrict who can sync production applications and who can modify GitOps configurations
- Validate the setup: push a manifest change to Git and verify the GitOps operator detects and applies it within the sync interval
Output
- ArgoCD Application or Flux Kustomization manifests per environment
- Git repository structure with Kustomize bases and overlays
- RBAC configuration (ArgoCD AppProject, Kubernetes RBAC)
- Notification configuration (Slack webhooks, email)
- CI pipeline step to update image tags in the GitOps repository after build
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Invalid manifest path or Git ref | Verify and in the Application manifest; check repo structure |
| SSH key or token not configured or expired | Create/update the Git credentials Secret; verify deploy key has read access |
| Automated sync disabled or sync window closed | Enable in syncPolicy or trigger manual sync with |
| Resource created outside of GitOps | Add the annotation or delete the conflicting resource |
| Application pods not becoming ready after sync | Check pod logs; verify resource requests fit node capacity; increase health check timeout |
Examples
- "Set up ArgoCD with three Application manifests for dev, staging, and production, each pointing to a different Kustomize overlay in the GitOps repo."
- "Configure Flux with automatic image updates: scan ECR for new tags matching
, update the staging manifests, and create a PR for production promotion."v* - "Create an ArgoCD AppProject that restricts the production application to specific namespaces and requires manual sync with admin-only access."
Resources
- ArgoCD documentation: https://argo-cd.readthedocs.io/en/stable/
- Flux documentation: https://fluxcd.io/flux/
- GitOps principles: https://opengitops.dev/
- Kustomize: https://kustomize.io/