
renovate-operator v5.5.0
Operador para optimizar las ejecuciones de Renovate en Kubernetes
Renovate: la forma nativa de Kubernetes
Ejecuta Renovate en tu propia infraestructura con programación basada en CRD, ejecución en paralelo, autodescubrimiento y una interfaz de usuario integrada. Si alojas Renovate por tu cuenta y ya ejecutas Kubernetes, este operador te ofrece el control y la observabilidad que las configuraciones autoalojadas simples no tienen.
Compatible con todas las plataformas de Renovate: GitHub, GitLab, Bitbucket, Azure DevOps, Gitea y más. El operador funciona con cualquier plataforma compatible con Renovate; simplemente configura tus credenciales y los ajustes de la plataforma mediante variables de entorno o secretos. Ten en cuenta que algunas plataformas tienen características adicionales específicas del operador, como integraciones nativas de webhooks para GitHub y GitLab.
Comparación con Mend Renovate CE
| Característica | Mend Renovate CLI | Mend Renovate Community Self-Hosted (también conocido como "CE") | Renovate Operator |
|---|---|---|---|
| Totalmente de código abierto, sin registro ni clave de licencia | ✅ | ❌ | ✅ |
| Actualizaciones automatizadas de dependencias | ✅ | ✅ | ✅ |
| Se ejecuta en tu propia infraestructura | ✅ | ✅ | ✅ |
| Autodescubrimiento | ✅ | ✅ | ✅ |
| API de webhooks para ejecuciones bajo demanda | ❌ | ✅ | ✅ |
| Interfaz web | ❌ | ❌ | ✅ |
| Programación cron declarativa mediante CRD | ❌ | ❌ | ✅ |
| Autodescubrimiento con filtrado por grupo/tema | ❌ | ❌ | ✅ |
| Seguimiento del estado por proyecto dentro del clúster | ❌ | ❌ | ✅ |
| Ejecución en paralelo con control de concurrencia | ❌ | ❌ | ✅ |
| Métricas de Prometheus y comprobaciones de estado | ❌ | ✅ | ✅ |
| Programación de pods nativa de Kubernetes | ❌ | ❌ | ✅ |
| Elección de líder para alta disponibilidad | ❌ | ❌ | ✅ |
| Gestión del ciclo de vida de los jobs (TTL, plazos, reintentos) | ❌ | ❌ | ✅ |
Cómo funciona
- A la hora definida en tu programación, se inicia un job de descubrimiento de renovate
- Una vez finalizado el descubrimiento, podrás ver todos tus proyectos descubiertos en la interfaz de usuario
- Todos los proyectos pasan a estar programados
- Cada 10 segundos el operador comprueba los proyectos programados e inicia un nuevo job de renovate
- Solo se ejecutan al mismo tiempo tantos jobs como se definan en
spec.parallelism

Instalación
Helm
Opción 1: Registro OCI
helm -n renovate-operator upgrade --install renovate-operator \
oci://ghcr.io/mogenius/helm-charts/renovate-operator \
--create-namespace --wait
Opción 2: Repositorio de 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
Documentación
- Primeros pasos — instalación, primer RenovateJob, configuración de la plataforma
- Índice completo de la documentación
Comunidad
Únete a nuestra comunidad de Slack para hacer preguntas, compartir comentarios y conectar con otros usuarios y mantenedores.
Contribuir
Hecho con contrib.rocks.
Desarrollo
Ejecutar el operador localmente
Requisitos previos: just debe estar instalado.
- Exporta
KUBECONFIGcon la ruta absoluta a tu kubeconfig —~no se expande, así que usa$HOMEo la ruta completa:export KUBECONFIG=/Users/yourname/.kube/config # or export KUBECONFIG=$HOME/.kube/config - Inicie el operador contra el contexto actual en ese kubeconfig:
just run
KUBECONFIG también puede nombrar varios archivos separados por :; se fusionan de la
misma manera en que kubectl los fusiona.
Una ejecución local no tiene pod y, por lo tanto, no tiene un namespace propio. La comprobación
de secretos de la guía de configuración rechaza todos los namespaces en ese estado —deliberadamente, para que
una UI expuesta al clúster no pueda sondear secretos en namespaces que no son de su
incumbencia— y registra el motivo. Exporta POD_NAMESPACE con el namespace que estás
configurando para ejercitar ese paso localmente:
export POD_NAMESPACE=renovate-operator
just run carga .env, por lo que ambas variables pueden residir allí en lugar de tu shell.
Ejecución de pruebas
| Comando | Descripción |
|---|---|
just test-unit | Ejecutar la suite de pruebas unitarias |
just golangci-lint | Ejecutar el linter |
just check | Ejecutar todas las comprobaciones (pruebas + linters) |
just generate | Regenerar los CRDs |