
renovate-operator v5.5.0
Operator para otimizar execuções do Renovate no Kubernetes
Renovate: A Maneira Nativa do Kubernetes
Execute o Renovate na sua própria infraestrutura com agendamento baseado em CRD, execução paralela, descoberta automática e uma interface de usuário integrada. Se você auto-hospeda o Renovate e já utiliza Kubernetes, este operator oferece o controle e a observabilidade que configurações auto-hospedadas simples não possuem.
Suporta todas as plataformas do Renovate: GitHub, GitLab, Bitbucket, Azure DevOps, Gitea e outras. O operator funciona com qualquer plataforma suportada pelo Renovate - basta configurar suas credenciais e configurações de plataforma via variáveis de ambiente ou secrets. Observe que algumas plataformas possuem recursos adicionais específicos do operator, como integrações nativas de webhook para GitHub e GitLab.
Comparação com o Mend Renovate CE
| Recurso | Mend Renovate CLI | Mend Renovate Community Self-Hosted (também conhecido como "CE") | Renovate Operator |
|---|---|---|---|
| Totalmente open source, sem cadastro ou chave de licença | ✅ | ❌ | ✅ |
| Atualizações automatizadas de dependências | ✅ | ✅ | ✅ |
| Executa na sua própria infraestrutura | ✅ | ✅ | ✅ |
| Descoberta automática | ✅ | ✅ | ✅ |
| API de webhook para execuções sob demanda | ❌ | ✅ | ✅ |
| Interface web | ❌ | ❌ | ✅ |
| Agendamento cron declarativo via CRD | ❌ | ❌ | ✅ |
| Descoberta automática com filtragem por grupo/tópico | ❌ | ❌ | ✅ |
| Rastreamento de status por projeto no cluster | ❌ | ❌ | ✅ |
| Execução paralela com controle de concorrência | ❌ | ❌ | ✅ |
| Métricas Prometheus e verificações de saúde | ❌ | ✅ | ✅ |
| Agendamento de pods nativo do Kubernetes | ❌ | ❌ | ✅ |
| Eleição de líder para alta disponibilidade | ❌ | ❌ | ✅ |
| Gerenciamento do ciclo de vida de jobs (TTL, prazos, tentativas) | ❌ | ❌ | ✅ |
Como funciona
- No horário definido pelo seu agendamento, um job de descoberta do renovate é iniciado
- Após a conclusão da descoberta, você poderá ver todos os seus projetos descobertos na interface
- Todos os projetos agora são definidos para serem agendados
- A cada 10 segundos o operator verifica projetos agendados e inicia um novo job do renovate
- Apenas a quantidade de jobs definida em
spec.parallelismé executada ao mesmo tempo

Instalação
Helm
Opção 1: Registro OCI
helm -n renovate-operator upgrade --install renovate-operator \
oci://ghcr.io/mogenius/helm-charts/renovate-operator \
--create-namespace --wait
Opção 2: Repositório Helm
helm repo add mogenius https://helm.mogenius.com/public --force-update
helm -n renovate-operator upgrade --install renovate-operator mogenius/renovate-operator --create-namespace --wait
Documentação
- Primeiros Passos — instalação, primeiro RenovateJob, configuração da plataforma
- Índice completo da documentação
Comunidade
Junte-se à nossa comunidade no Slack para fazer perguntas, compartilhar feedback e conectar-se com outros usuários e mantenedores.
Contribuindo
Feito com contrib.rocks.
Desenvolvimento
Executando o operator localmente
Pré-requisitos: just deve estar instalado.
- Exporte
KUBECONFIGcom o caminho absoluto para o seu kubeconfig —~não é expandido, então use$HOMEou o caminho completo:export KUBECONFIG=/Users/yourname/.kube/config # or export KUBECONFIG=$HOME/.kube/config - Inicie o operador em relação ao contexto atual naquele kubeconfig:
just run
KUBECONFIG também pode nomear vários arquivos separados por :; eles são mesclados da
mesma forma que o kubectl os mescla.
Uma execução local não tem pod e, portanto, nenhum namespace próprio. A verificação
de secrets do guia de configuração recusa todos os namespaces nesse estado — deliberadamente, para que
uma UI exposta ao cluster não possa sondar secrets em namespaces que não são da sua
alçada — e registra o motivo. Exporte POD_NAMESPACE com o namespace que você está
configurando para exercitar essa etapa localmente:
export POD_NAMESPACE=renovate-operator
just run carrega .env, então ambas as variáveis podem ficar lá em vez do seu shell.
Executando Testes
| Comando | Descrição |
|---|---|
just test-unit | Executa a suíte de testes unitários |
just golangci-lint | Executa o linter |
just check | Executa todas as verificações (testes + linters) |
just generate | Regenera os CRDs |