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 →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте