
renovate-operator v5.5.0
Оператор для оптимизации выполнений Renovate в Kubernetes
Renovate: Kubernetes-нативный подход
Запускайте Renovate в своей собственной инфраструктуре с планированием на основе CRD, параллельным выполнением, автоматическим обнаружением и встроенным интерфейсом. Если вы самостоятельно размещаете Renovate и уже используете Kubernetes, этот оператор даёт вам контроль и наблюдаемость, которых не хватает обычным самостоятельным установкам.
Поддерживает все платформы Renovate: GitHub, GitLab, Bitbucket, Azure DevOps, Gitea и другие. Оператор работает с любой платформой, поддерживаемой Renovate — просто настройте свои учётные данные и параметры платформы через переменные окружения или секреты. Обратите внимание, что для некоторых платформ доступны дополнительные функции, специфичные для оператора, например нативные интеграции вебхуков для GitHub и GitLab.
Сравнение с Mend Renovate CE
| Возможность | Mend Renovate CLI | Mend Renovate Community Self-Hosted (aka "CE") | Renovate Operator |
|---|---|---|---|
| Полностью открытый исходный код, без регистрации и лицензионного ключа | ✅ | ❌ | ✅ |
| Автоматическое обновление зависимостей | ✅ | ✅ | ✅ |
| Работает на вашей собственной инфраструктуре | ✅ | ✅ | ✅ |
| Автоматическое обнаружение | ✅ | ✅ | ✅ |
| Webhook API для запусков по требованию | ❌ | ✅ | ✅ |
| Веб-интерфейс | ❌ | ❌ | ✅ |
| Декларативное планирование cron через CRD | ❌ | ❌ | ✅ |
| Автоматическое обнаружение с фильтрацией по группам/темам | ❌ | ❌ | ✅ |
| Отслеживание статуса по проектам внутри кластера | ❌ | ❌ | ✅ |
| Параллельное выполнение с контролем конкурентности | ❌ | ❌ | ✅ |
| Метрики Prometheus и проверки работоспособности | ❌ | ✅ | ✅ |
| Kubernetes-нативное планирование подов | ❌ | ❌ | ✅ |
| Выбор лидера для высокой доступности | ❌ | ❌ | ✅ |
| Управление жизненным циклом заданий (TTL, дедлайны, повторные попытки) | ❌ | ❌ | ✅ |
Как это работает
- В заданное время вашего расписания запускается задание обнаружения renovate
- После завершения обнаружения вы сможете увидеть все обнаруженные проекты в интерфейсе
- Все проекты переводятся в запланированное состояние
- Каждые 10 секунд оператор проверяет запланированные проекты и запускает новое задание renovate
- Одновременно выполняется только столько заданий, сколько определено в
spec.parallelism

Установка
Helm
Вариант 1: OCI Registry
helm -n renovate-operator upgrade --install renovate-operator \
oci://ghcr.io/mogenius/helm-charts/renovate-operator \
--create-namespace --wait
Вариант 2: Helm Repository
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
Документация
- Начало работы — установка, первый RenovateJob, настройка платформы
- Полный указатель документации
Участие в разработке
Сделано с помощью contrib.rocks.
Разработка
Запуск оператора локально
Предварительные требования: должен быть установлен just.
- Экспортируйте
KUBECONFIGс абсолютным путём к вашему kubeconfig —~не раскрывается, поэтому используйте$HOMEили полный путь:export KUBECONFIG=/Users/yourname/.kube/config # or export KUBECONFIG=$HOME/.kube/config - Запустите оператор для текущего контекста в этом kubeconfig:
just run
Запуск тестов
| Команда | Описание |
|---|---|
just test-unit | Запуск набора модульных тестов |
just golangci-lint | Запуск линтера |
just check | Запуск всех проверок (тесты и линтеры) |
just generate | Перегенерация CRD |