- Ferramenta de GitOps para quem não usa Kubernetes
- Monitora um repositório git remoto, faz pull das mudanças e envia um sinal HUP para o processo do servidor (serviço) para recarregar
- Cada serviço recebe um checkout git sparse (mas com o histórico completo), vendo apenas os arquivos realmente necessários
- Vários bind mounts são configurados para conceder ao serviço acesso aos arquivos dentro do Git
- Se o diretório de destino não existir, ele será criado com o usuário atual (quando especificado)
- Não oferece mais do que simplesmente trazer o repositório, mas permite usar um fluxo de trabalho GitOps sem depender de ambientes como Kubernetes
- O repositório Git usado para provisionar os serviços deve ter pelo menos um (sub)diretório para cada serviço
- Instala pacotes quando especificado, mas não faz upgrade nem downgrade, assumindo que exista uma forma melhor de fazer isso
- A interface remota usa chaves SSH para autenticação
- Os seguintes recursos estão implementados:
- Metrics: exporta o hash do Git, permitindo acompanhar o rollout
- Diff detection: possível via metrics ou
gitopperctl
- Out of band rollbacks: usa
gitopperctl para contornar o fluxo de trabalho normal do Git
- No client side processing: os arquivos são usados exatamente como estão no repositório Git
- Canarying: é possível fornecer um branch diferente para o checkout do serviço
Ainda não há comentários.