Renovate Operator: автоматизация обновления зависимостей в Kubernetes
Renovate Operator — это инструмент для автоматизации выполнения Renovate в Kubernetes. Он упрощает процесс обновления зависимостей, добавляя функции, которые отсутствуют в традиционных подходах.
С помощью этого оператора ты можешь запускать Renovate на своей инфраструктуре, используя CRD для планирования задач, параллельного выполнения и автообнаружения. Это решение позволит избежать проблем с контролем и наблюдаемостью, которые часто возникают при стандартных самохостинговых установках. Renovate Operator поддерживает все платформы Renovate, такие как GitHub и GitLab, и предоставляет удобный интерфейс для управления задачами.
Проект написан на Go и предназначен для работы в среде Kubernetes. Чтобы запустить его, потребуется корректная настройка учетных данных и окружения через переменные среды или секреты. Учти, что проект находится на ранней стадии разработки, и могут быть ограничения по платформам и функциональности.
Проект mogenius/renovate-operator — это оператор для Kubernetes, который позволяет управлять обновлениями зависимостей с помощью Renovate на собственных серверах. Он поддерживает CRD (Custom Resource Definition) для планирования задач, параллельного выполнения, автообнаружения проектов и включает встроенный пользовательский интерфейс. Если ты используешь Renovate и уже работаешь с Kubernetes, этот оператор добавит контроль и видимость, которых может не хватать стандартным установкам.
Оператор поддерживает все платформы, совместимые с Renovate, включая GitHub, GitLab, Bitbucket, Azure DevOps и Gitea. Для его работы требуется просто настроить учетные данные и параметры платформы через переменные окружения или секреты. Также нужно учитывать, что для некоторых платформ предусмотрены дополнительные возможности, такие как встроенная интеграция вебхуков для GitHub и GitLab.
Как это работает
Процесс работы Renovate Operator включает несколько шагов:
- В запланированное время запускается задача по обнаружению проектов.
- После завершения обнаружения ты сможешь увидеть все найденные проекты в интерфейсе.
- Все проекты будут запланированы для обновления.
- Каждые 10 секунд оператор проверяет запланированные проекты и запускает новую задачу Renovate.
- Одновременно выполняются только столько задач, сколько указано в параметре
spec.parallelism.
Установка
Renovate Operator можно установить с помощью Helm. Вот два способа:
Способ 1: OCI реестр
helm -n renovate-operator upgrade --install renovate-operator \
oci://ghcr.io/mogenius/helm-charts/renovate-operator \
--create-namespace --wait
Способ 2: 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
Документация
Для более подробной информации о настройке и использовании Renovate Operator, включая создание первых задач и настройку платформ, можно обратиться к следующим источникам:
Ограничения и требования
Для локального запуска оператора потребуется установить just. Также необходимо настроить переменную окружения KUBECONFIG, указывающую на файл конфигурации Kubernetes. При этом локальный запуск не создает под, и соответственно, у него нет собственного пространства имен. Поэтому для успешной проверки секретов требуется указать POD_NAMESPACE.
Запуск тестов для проверки кода осуществляется с помощью следующих команд:
just test-unit— запустить тесты на юнит-тесты.just golangci-lint— запустить линтер.just check— выполнить полные проверки (тесты + линтеры).just generate— регенерировать CRD.
Открыть на GitHub: mogenius/renovate-operator →
RepoRadar