Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)41 mil · #4883

gitops-workflow

Ajuda seu agente a automatizar implantações no Kubernetes usando GitOps. Garante que o sistema esteja sempre atualizado.

O que ela faz

Esta skill ajuda a automatizar a implantação de aplicações em Kubernetes usando Git. Ela configura ferramentas como ArgoCD ou Flux para que as mudanças feitas em um repositório Git sejam aplicadas automaticamente no seu cluster.

Quando usar

  • ✓Ao configurar a implantação automática de aplicações em Kubernetes.
  • ✓Quando você quer que as mudanças no código sejam aplicadas automaticamente.
  • ✓Ao gerenciar a infraestrutura de forma declarativa e baseada em Git.

Exemplo do que pedir para a IA

“Configure o GitOps para o meu cluster Kubernetes usando ArgoCD.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/wshobson/agents/blob/main/plugins/kubernetes-operations/skills/gitops-workflow/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/kubernetes-operations/skills/gitops-workflow/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você define o estado desejado da sua aplicação em arquivos (declarativo) e os armazena em um repositório Git. Ferramentas como ArgoCD ou Flux monitoram esse repositório e aplicam as mudanças automaticamente no Kubernetes.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add wshobson/agents --skill gitops-workflow

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/kubernetes-operations/skills/gitops-workflow/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Fluxo de Trabalho GitOps

Guia completo para implementar fluxos de trabalho GitOps com ArgoCD e Flux para implantações automatizadas no Kubernetes.

Propósito

Implementar entrega contínua declarativa e baseada em Git para Kubernetes usando ArgoCD ou Flux CD, seguindo os princípios do OpenGitOps.

Quando Usar Esta Habilidade

  • Configurar GitOps para clusters Kubernetes
  • Automatizar implantações de aplicativos a partir do Git
  • Implementar estratégias de entrega progressiva
  • Gerenciar implantações multi-cluster
  • Configurar políticas de sincronização automatizadas
  • Configurar gerenciamento de segredos em GitOps

Princípios do OpenGitOps

  1. Declarativo - Todo o sistema descrito de forma declarativa
  2. Versionado e Imutável - Estado desejado armazenado no Git
  3. Puxado Automaticamente - Agentes de software puxam o estado desejado
  4. Reconciliado Continuamente - Agentes reconciliam o estado real vs. o desejado

Configuração do ArgoCD

1. Instalação

# 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

Referência: Veja references/argocd-setup.md para configuração detalhada

2. Estrutura do Repositório

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

3. Criar Aplicação

# 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. Padrão App de Apps

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: {}

Configuração do Flux CD

1. Instalação

O exemplo usa Homebrew. Para outros sistemas, siga o guia oficial de instalação do Flux.

# Install the Flux CLI with Homebrew
brew install fluxcd/tap/flux
flux check --pre

# Bootstrap Flux
flux bootstrap github \
  --owner=org \
  --repository=gitops-repo \
  --branch=main \
  --path=clusters/production \
  --personal

2. Criar 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. Criar 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

Políticas de Sincronização

Configuração de Sincronização Automática

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

Referência: Veja references/sync-policies.md

Entrega Progressiva

Implantação Canary com 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

Implantação Blue-Green

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

Gerenciamento de Segredos

External Secrets Operator

apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: db-credentials
spec:

…
Perguntas frequentes

O que é GitOps?

GitOps é uma forma de gerenciar infraestrutura e aplicações onde o Git é a única fonte da verdade. As mudanças são feitas através de 'pull requests' no Git e aplicadas automaticamente no ambiente.

Qual a diferença entre ArgoCD e Flux?

Ambos são ferramentas para implementar GitOps em Kubernetes. ArgoCD é conhecido por sua interface gráfica e recursos avançados, enquanto Flux é mais leve e focado na linha de comando.

Como gerenciar segredos (senhas, chaves) com GitOps?

É recomendado não armazenar segredos diretamente no Git. Ferramentas como External Secrets Operator ou Sealed Secrets ajudam a gerenciar segredos de forma segura, integrando-se com o GitOps.

Detalhes

Descrição original do autor

Implement GitOps workflows with ArgoCD and Flux for automated, declarative Kubernetes deployments with continuous reconciliation. Use when implementing GitOps practices, automating Kubernetes deployments, or setting up declarative infrastructure management.

repo: wshobson/agents

Popularidade

Estrelas no GitHub
41 mil
Posição no ranking
#4883
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas