인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
배포 및 운영 · SKILL.md

building-gitops-workflows

building-gitops-workflows

Execute use when constructing GitOps workflows using ArgoCD or Flux. Trigger with phrases like "create GitOps workflow", "setup ArgoCD", "configure Flux", or "automate Kubernetes deployments". Generates production-ready configurations, implements best practices, and ensures security-first approach for continuous deployment.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: building-gitops-workflows description: 'Execute use when constructing GitOps workflows using ArgoCD or Flux. Trigger with phrases like "create GitOps workflow", "setup ArgoCD", "configure Flux", or "automate Kubernetes deployments". Generates production-ready configurations, implements best practices, and ensures security-first approach for continuous deployment.

' allowed-tools: Read, Write, Edit, Grep, Glob, Bash(kubectl:), Bash(git:) version: 1.22.0 author: Jeremy Longshore jeremy@intentsolutions.io license: MIT tags:

  • devops
  • deployment
  • kubernetes
  • security compatibility: Designed for Claude Code

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 kubectl with admin permissions
  • 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

  1. Choose the GitOps tool based on requirements: ArgoCD for UI-driven management, Flux for lightweight Git-native approach
  2. Design the repository structure: environments/{dev,staging,prod}/ with Kustomize overlays or Helm values per environment
  3. Generate ArgoCD Application or Flux Kustomization manifests pointing to the Git repository path for each environment
  4. Configure sync policy: enable automated.selfHeal and automated.prune for non-production; use manual sync for production
  5. Set up Git repository credentials as a Kubernetes Secret for the GitOps operator
  6. Implement environment promotion: update the image tag in staging manifests, test, then promote to production via PR
  7. Configure notifications: Slack/email alerts on sync success, failure, or health degradation via ArgoCD Notifications or Flux Alert Provider
  8. Add RBAC: restrict who can sync production applications and who can modify GitOps configurations
  9. 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

ErrorCauseSolution
ComparisonError: Failed to load target stateInvalid manifest path or Git refVerify path: and targetRevision: in the Application manifest; check repo structure
Authentication failed for repositorySSH key or token not configured or expiredCreate/update the Git credentials Secret; verify deploy key has read access
Application is OutOfSync but not syncingAutomated sync disabled or sync window closedEnable automated: in syncPolicy or trigger manual sync with argocd app sync
Resource already exists and is not managedResource created outside of GitOpsAdd the argocd.argoproj.io/managed-by annotation or delete the conflicting resource
Sync failed: health check timeoutApplication pods not becoming ready after syncCheck 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 v*, update the staging manifests, and create a PR for production promotion."
  • "Create an ArgoCD AppProject that restricts the production application to specific namespaces and requires manual sync with admin-only access."

Resources

저장한 Skills