返回更新列表
新发布Jul 28, 2026

renovate-operator v5.5.0

用于在 Kubernetes 中简化 renovate 执行的 Operator

分享
Renovate Operator 标志

Artifact Hub GitHub Release Build, Package, Release (Production)


Renovate:Kubernetes 原生方式

在你自己的基础设施上运行 Renovate,具备基于 CRD 的调度、并行执行、自动发现以及内置 UI。如果你自行托管 Renovate 并且已经在运行 Kubernetes,那么这个 operator 能为你提供普通自托管方案所缺乏的控制力和可观测性。

支持所有 Renovate 平台: GitHub、GitLab、Bitbucket、Azure DevOps、Gitea 等。该 operator 可与 Renovate 支持的任何平台配合使用——只需通过环境变量或 secret 配置你的凭据和平台设置即可。请注意,部分平台还提供额外的 operator 专属功能,例如 GitHub 和 GitLab 的原生 webhook 集成。

与 Mend Renovate CE 的对比

功能Mend Renovate CLIMend Renovate Community Self-Hosted(即 "CE")Renovate Operator
完全开源,无需注册或许可证密钥✅❌✅
自动化依赖更新✅✅✅
在你自己的基础设施上运行✅✅✅
自动发现✅✅✅
用于按需运行的 Webhook API❌✅✅
Web UI❌❌✅
通过 CRD 进行声明式 cron 调度❌❌✅
支持按 group/topic 过滤的自动发现❌❌✅
集群内按项目跟踪状态❌❌✅
带并发控制的并行执行❌❌✅
Prometheus 指标与健康检查❌✅✅
Kubernetes 原生 Pod 调度❌❌✅
用于高可用的领导者选举❌❌✅
Job 生命周期管理(TTL、截止时间、重试)❌❌✅

工作原理

  1. 在你设定的调度时间,会启动一个 renovate 发现 Job
  2. 发现完成后,你可以在 UI 中看到所有已发现的项目
  3. 所有项目此时会被设置为待调度状态
  4. operator 每 10 秒检查一次待调度的项目,并启动一个新的 renovate Job
  5. 同时执行的 Job 数量不会超过 spec.parallelism 中定义的数量

renovate-operator UI 的示例截图。

安装

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 仓库

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

文档

社区

加入我们的 Slack 社区,提出问题、分享反馈,并与其他用户和维护者交流。

Join us on Slack

贡献

使用 contrib.rocks 制作。

开发

在本地运行 operator

前提条件:必须安装 just。

  1. 导出 KUBECONFIG,将其设置为 kubeconfig 的绝对路径 — ~ 不会被展开,因此请使用 $HOME 或完整路径:
    export KUBECONFIG=/Users/yourname/.kube/config
    # or
    export KUBECONFIG=$HOME/.kube/config
    
  2. 使用该 kubeconfig 中的当前上下文启动 operator:
    just run
    

KUBECONFIG 也可以用 : 分隔来指定多个文件;它们会按照 kubectl 合并它们的方式被合并。

本地运行没有 Pod,因此也没有自己的命名空间。在这种状态下,设置指南的 secret 检查会拒绝每一个命名空间——这是有意为之,这样暴露在集群中的 UI 就无法探测不属于它职责范围的命名空间中的 secret——并记录原因。导出 POD_NAMESPACE,将其设为你正在设置的命名空间,以便在本地执行该步骤:

export POD_NAMESPACE=renovate-operator

just run 会加载 .env,因此这两个变量可以放在该文件中,而不必放在你的 shell 里。

运行测试

命令描述
just test-unit运行单元测试套件
just golangci-lint运行 linter
just check运行所有检查(测试 + linter)
just generate重新生成 CRD

分类