
renovate-operator v5.5.0
Opérateur pour rationaliser les exécutions de Renovate dans Kubernetes
Renovate : la méthode native Kubernetes
Exécutez Renovate sur votre propre infrastructure avec une planification basée sur des CRD, une exécution parallèle, la découverte automatique et une interface utilisateur intégrée. Si vous hébergez vous-même Renovate et que vous utilisez déjà Kubernetes, cet opérateur vous offre le contrôle et l'observabilité qui manquent aux configurations auto-hébergées classiques.
Prend en charge toutes les plateformes Renovate : GitHub, GitLab, Bitbucket, Azure DevOps, Gitea, et plus encore. L'opérateur fonctionne avec toute plateforme prise en charge par Renovate - configurez simplement vos identifiants et les paramètres de plateforme via des variables d'environnement ou des secrets. Notez que certaines plateformes disposent de fonctionnalités supplémentaires spécifiques à l'opérateur, comme les intégrations webhook natives pour GitHub et GitLab.
Comparaison avec Mend Renovate CE
| Fonctionnalité | Mend Renovate CLI | Mend Renovate Community Self-Hosted (alias « CE ») | Renovate Operator |
|---|---|---|---|
| Entièrement open source, sans inscription ni clé de licence | ✅ | ❌ | ✅ |
| Mises à jour automatisées des dépendances | ✅ | ✅ | ✅ |
| S'exécute sur votre propre infrastructure | ✅ | ✅ | ✅ |
| Découverte automatique | ✅ | ✅ | ✅ |
| API webhook pour des exécutions à la demande | ❌ | ✅ | ✅ |
| Interface web | ❌ | ❌ | ✅ |
| Planification cron déclarative via CRD | ❌ | ❌ | ✅ |
| Découverte automatique avec filtrage par groupe/sujet | ❌ | ❌ | ✅ |
| Suivi de l'état par projet au sein du cluster | ❌ | ❌ | ✅ |
| Exécution parallèle avec contrôle de concurrence | ❌ | ❌ | ✅ |
| Métriques Prometheus et contrôles de santé | ❌ | ✅ | ✅ |
| Planification de pods native Kubernetes | ❌ | ❌ | ✅ |
| Élection de leader pour la haute disponibilité | ❌ | ❌ | ✅ |
| Gestion du cycle de vie des jobs (TTL, délais, tentatives) | ❌ | ❌ | ✅ |
Fonctionnement
- À l'heure définie par votre planification, un job de découverte renovate est lancé
- Une fois la découverte terminée, vous pourrez voir tous vos projets découverts dans l'interface utilisateur
- Tous les projets sont désormais planifiés
- Toutes les 10 secondes, l'opérateur vérifie les projets planifiés et lance un nouveau job renovate
- Seul le nombre de jobs défini dans
spec.parallelismest exécuté simultanément

Installation
Helm
Option 1 : Registre OCI
helm -n renovate-operator upgrade --install renovate-operator \
oci://ghcr.io/mogenius/helm-charts/renovate-operator \
--create-namespace --wait
Option 2 : Dépôt 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
Documentation
- Premiers pas — installation, premier RenovateJob, configuration de la plateforme
- Index complet de la documentation
Communauté
Rejoignez notre communauté Slack pour poser des questions, partager vos retours et échanger avec les autres utilisateurs et les mainteneurs.
Contribution
Réalisé avec contrib.rocks.
Développement
Exécuter l'opérateur en local
Prérequis : just doit être installé.
- Exportez
KUBECONFIGavec le chemin absolu vers votre kubeconfig —~n'est pas développé, utilisez donc$HOMEou le chemin complet :export KUBECONFIG=/Users/yourname/.kube/config # or export KUBECONFIG=$HOME/.kube/config - Lancez l'opérateur contre le contexte actuel dans ce kubeconfig :
just run
KUBECONFIG peut également désigner plusieurs fichiers séparés par : ; ils sont fusionnés de la même manière que kubectl les fusionne.
Une exécution locale n'a pas de pod et donc pas d'espace de noms propre. La vérification des secrets du guide d'installation refuse chaque espace de noms dans cet état — délibérément, afin qu'une interface exposée au cluster ne puisse pas sonder les secrets dans des espaces de noms qui ne la concernent pas — et en journalise la raison. Exportez POD_NAMESPACE avec l'espace de noms que vous configurez pour exercer cette étape localement :
export POD_NAMESPACE=renovate-operator
just run charge .env, donc les deux variables peuvent y résider au lieu de votre shell.
Exécution des tests
| Commande | Description |
|---|---|
just test-unit | Exécuter la suite de tests unitaires |
just golangci-lint | Exécuter le linter |
just check | Exécuter toutes les vérifications (tests + linters) |
just generate | Régénérer les CRDs |