ASD

Gitops Workflow

Implementa flujos GitOps con ArgoCD y Flux para despliegues declarativos y automatizados en Kubernetes con reconciliación continua.

Estrellas
38.8k

en todo el repo

Actividad
26

0–100, la ruta de este skill

Actualizado
hace 6 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
1.5k tok

64 tok en reposo

Paquete
3 archivos

11 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add wshobson/agents --skill gitops-workflow --agent claude-code

Se instala solo en este repositorio.

Este skill makes network requests.

Qué hace

  • Configura ArgoCD o Flux CD para desplegar en Kubernetes de forma declarativa desde Git
  • Define estructura de repositorio GitOps con apps, infraestructura y manifiestos de ArgoCD
  • Configura políticas de sync automático, prune y self-heal
  • Añade despliegue progresivo con Canary y Blue-Green usando ArgoCD Rollouts
  • Configura gestión de secretos con External Secrets Operator o Sealed Secrets

Úsalo cuando

  • Configurar GitOps para clústeres de Kubernetes
  • Automatizar despliegues de aplicaciones desde Git
  • Implementar estrategias de progressive delivery
  • Gestionar despliegues multi-cluster

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Configúrame ArgoCD con App of Apps para mi clúster de producción
    • Necesito bootstrapear Flux CD con GitRepository y Kustomization
    • Ayúdame a implementar un despliegue canary con ArgoCD Rollouts

    SKILL.md

    En inglés

    GitOps Workflow

    Complete guide to implementing GitOps workflows with ArgoCD and Flux for automated Kubernetes deployments.

    Purpose

    Implement declarative, Git-based continuous delivery for Kubernetes using ArgoCD or Flux CD, following OpenGitOps principles.

    When to Use This Skill

    • Set up GitOps for Kubernetes clusters
    • Automate application deployments from Git
    • Implement progressive delivery strategies
    • Manage multi-cluster deployments
    • Configure automated sync policies
    • Set up secret management in GitOps

    OpenGitOps Principles

    1. Declarative - Entire system described declaratively
    2. Versioned and Immutable - Desired state stored in Git
    3. Pulled Automatically - Software agents pull desired state
    4. Continuously Reconciled - Agents reconcile actual vs desired state

    ArgoCD Setup

    1. Installation

    # Create namespace
    kubectl create namespace argocd
    
    # Install ArgoCD
    kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
    
    # Get admin password
    kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
    

    Reference: See references/argocd-setup.md for detailed setup

    2. Repository Structure

    gitops-repo/
    ├── apps/
    │   ├── production/
    │   │   ├── app1/
    │   │   │   ├── kustomization.yaml
    │   │   │   └── deployment.yaml
    │   │   └── app2/
    │   └── staging/
    ├── infrastructure/
    │   ├── ingress-nginx/
    │   ├── cert-manager/
    │   └── monitoring/
    └── argocd/
        ├── applications/
        └── projects/
    

    3. Create Application

    # argocd/applications/my-app.yaml
    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: my-app
      namespace: argocd
    spec:
      project: default
      source:
        repoURL: https://github.com/org/gitops-repo
        targetRevision: main
        path: apps/production/my-app
      destination:
        server: https://kubernetes.default.svc
        namespace: production
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
        syncOptions:
          - CreateNamespace=true
    

    4. App of Apps Pattern

    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: applications
      namespace: argocd
    spec:
      project: default
      source:
        repoURL: https://github.com/org/gitops-repo
        targetRevision: main
        path: argocd/applications
      destination:
        server: https://kubernetes.default.svc
        namespace: argocd
      syncPolicy:
        automated: {}
    

    Flux CD Setup

    1. Installation

    # Install Flux CLI
    curl -s https://fluxcd.io/install.sh | sudo bash
    
    # Bootstrap Flux
    flux bootstrap github \
      --owner=org \
      --repository=gitops-repo \
      --branch=main \
      --path=clusters/production \
      --personal
    

    2. Create GitRepository

    apiVersion: source.toolkit.fluxcd.io/v1
    kind: GitRepository
    metadata:
      name: my-app
      namespace: flux-system
    spec:
      interval: 1m
      url: https://github.com/org/my-app
      ref:
        branch: main
    

    3. Create Kustomization

    apiVersion: kustomize.toolkit.fluxcd.io/v1
    kind: Kustomization
    metadata:
      name: my-app
      namespace: flux-system
    spec:
      interval: 5m
      path: ./deploy
      prune: true
      sourceRef:
        kind: GitRepository
        name: my-app
    

    Sync Policies

    Auto-Sync Configuration

    ArgoCD:

    syncPolicy:
      automated:
        prune: true # Delete resources not in Git
        selfHeal: true # Reconcile manual changes
        allowEmpty: false
      retry:
        limit: 5
        backoff:
          duration: 5s
          factor: 2
          maxDuration: 3m
    

    Flux:

    spec:
      interval: 1m
      prune: true
      wait: true
      timeout: 5m
    

    Reference: See references/sync-policies.md

    Progressive Delivery

    Canary Deployment with ArgoCD Rollouts

    apiVersion: argoproj.io/v1alpha1
    kind: Rollout
    metadata:
      name: my-app
    spec:
      replicas: 5
      strategy:
        canary:
          steps:
            - setWeight: 20
            - pause: { duration: 1m }
            - setWeight: 50
            - pause: { duration: 2m }
            - setWeight: 100
    

    Blue-Green Deployment

    strategy:
      blueGreen:
        activeService: my-app
        previewService: my-app-preview
        autoPromotionEnabled: false
    

    Secret Management

    External Secrets Operator

    apiVersion: external-secrets.io/v1beta1
    kind: ExternalSecret
    metadata:
      name: db-credentials
    spec:
      refreshInterval: 1h
      secretStoreRef:
        name: aws-secrets-manager
        kind: SecretStore
      target:
        name: db-credentials
      data:
        - secretKey: password
          remoteRef:
            key: prod/db/password
    

    Sealed Secrets

    # Encrypt secret
    kubeseal --format yaml < secret.yaml > sealed-secret.yaml
    
    # Commit sealed-secret.yaml to Git
    

    Best Practices

    1. Use separate repos or branches for different environments
    2. Implement RBAC for Git repositories
    3. Enable notifications for sync failures
    4. Use health checks for custom resources
    5. Implement approval gates for production
    6. Keep secrets out of Git (use External Secrets)
    7. Use App of Apps pattern for organization
    8. Tag releases for easy rollback
    9. Monitor sync status with alerts
    10. Test changes in staging first

    Troubleshooting

    Sync failures:

    argocd app get my-app
    argocd app sync my-app --prune
    

    Out of sync status:

    argocd app diff my-app
    argocd app sync my-app --force
    

    Related Skills

    • k8s-manifest-generator - For creating manifests
    • helm-chart-scaffolding - For packaging applications

    Reproducido de wshobson/agents bajo licencia MIT. Leer esta página en markdown.

    Archivos

    3 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere un clúster de Kubernetes y kubectl, además de las CLIs de ArgoCD o Flux según el flujo elegido.

    Necesita en el PATH:curlkubectl

    Detalles

    Creador
    wshobson
    Licencia
    MIT
    Recursos incluidos
    referencias
    Repositorio
    wshobson/agents
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de wshobson/agents

    Este repo incluye 180 skills. Si instalas uno, normalmente ya tienes los demás.

    Úsalo al seleccionar y colocar iconos, imágenes, SVGs, diagramas o infografías de apoyo aprobados en un PPTX editable.

    Costo de contexto al activarse
    344 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    10 archivos
    Última actualización
    el mes pasado
    herramientas desarrollo

    Úsalo al redactar o reparar una especificación JSON con coordenadas explícitas para un PPTX editable.

    Costo de contexto al activarse
    489 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para validar o reparar un PPTX editable en cuanto a geometría, accesibilidad, editabilidad nativa, linaje de fuente e integridad del paquete OOXML.

    Costo de contexto al activarse
    409 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para analizar un PPTX de referencia en modo solo lectura: estructura, tema, tipografía, ritmo de layout, diagnósticos, catálogos de plantillas derivados o inspección segura del paquete OOXML.

    Costo de contexto al activarse
    689 tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo al preparar la narrativa, las fuentes y el contexto de diseño para un nuevo deck PPTX editable.

    Costo de contexto al activarse
    415 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Skills relacionados

    Configura Turborepo para builds de monorepo eficientes con caché local y remota. Útil al configurar Turborepo, optimizar pipelines de build o implementar caching distribuido.

    Costo de contexto al activarse
    2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    devops infraestructura

    Implementa observabilidad integral para service meshes, incluyendo tracing distribuido, métricas y visualización. Útil para monitoreo de mesh, depuración de latencia y SLOs.

    Costo de contexto al activarse
    708 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    devops infraestructura

    Define e implementa Indicadores (SLI) y Objetivos (SLO) de nivel de servicio con error budgets y alertas, para establecer metas de fiabilidad y prácticas SRE.

    Costo de contexto al activarse
    1.8k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    devops infraestructura