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

gitops-workflow

Implementa fluxos de trabalho GitOps com ArgoCD e Flux. Automatiza implantações no Kubernetes de forma segura.

O que ela faz

Esta habilidade ajuda a configurar um sistema chamado GitOps para gerenciar implantações de software em ambientes Kubernetes. Ele automatiza o processo de atualização de aplicações usando o Git como fonte principal de verdade.

Quando usar

  • ✓Configurar o GitOps pela primeira vez em um cluster Kubernetes.
  • ✓Automatizar a implantação de novas versões de aplicações a partir de um repositório Git.
  • ✓Gerenciar como as aplicações são atualizadas gradualmente ou em fases.

Exemplo do que pedir para a IA

“Configure o GitOps para meu cluster Kubernetes usando ArgoCD e automatize a implantação da minha aplicação a partir do repositório GitHub 'meu-repo'.”

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/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/gitops-workflow/SKILL.md

Mensagem pronta para colar

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

O sistema monitora um repositório Git que contém as configurações da sua aplicação. Quando você atualiza o Git, o sistema detecta a mudança e aplica automaticamente as atualizações no seu cluster 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 sickn33/agentic-awesome-skills --skill gitops-workflow

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/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 baseada em Git para Kubernetes usando ArgoCD ou Flux CD, seguindo os princípios do OpenGitOps.

Use esta habilidade quando

  • 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

Não use esta habilidade quando

  • Você precisa de uma implantação manual única
  • Você não pode gerenciar o acesso ao cluster ou permissões de repositório
  • Você não está implantando no Kubernetes

Instruções

  1. Definir o layout do repositório e convenções de estado desejado.
  2. Instalar ArgoCD ou Flux e conectar clusters.
  3. Configurar políticas de sincronização, ambientes e fluxo de promoção.
  4. Validar rollbacks e tratamento de segredos.

Segurança

  • Evite sincronização automática para produção sem aprovações.
  • Mantenha segredos fora do Git e use gerenciadores de segredos selados ou externos.

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. Continuamente Reconciliado - 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 of 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

# Install Flux CLI
brew install fluxcd/tap/flux

# Alternative: download the official installer, inspect it, then execute it
tmpdir="$(mktemp -d)"
trap 'rm -rf "$tmpdir"' EXIT
curl -fsSLo "$tmpdir/flux-install.sh" https://fluxcd.io/install.sh
cat "$tmpdir/flux-install.sh"  # review the full installer before sudo
sudo bash "$tmpdir/flux-install.sh"

# 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

…

Perguntas frequentes

O que é GitOps?

GitOps é uma maneira de gerenciar infraestrutura e aplicações usando o Git. Tudo é descrito em arquivos (declarativo) e armazenado no Git, e um agente no seu ambiente aplica essas configurações automaticamente.

O que são ArgoCD e Flux?

ArgoCD e Flux são ferramentas populares que ajudam a implementar o GitOps. Elas monitoram o repositório Git e garantem que o ambiente (como o Kubernetes) corresponda ao que está definido no Git.

Como gerenciar segredos (senhas, chaves) com GitOps?

É crucial não colocar segredos diretamente no Git. Ferramentas como 'External Secrets' ou 'Sealed Secrets' são usadas para criptografar ou gerenciar segredos de forma segura fora do repositório principal.

Detalhes

Descrição original do autor

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

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas