Run Renovate on your own infrastructure with CRD-based scheduling, parallel execution, auto-discovery, and a built-in UI. If you self-host Renovate and already run Kubernetes, this operator gives you the control and observability that plain self-hosted setups lack.
| Feature | Mend Renovate CE | Renovate Operator |
|---|---|---|
| Fully open source, no signup or license key | ❌ | ✅ |
| Automated dependency updates | ✅ | ✅ |
| Runs on your own infrastructure | ✅ | ✅ |
| Auto-discovery | ✅ | ✅ |
| Webhook API for on-demand runs | ✅ | ✅ |
| Web UI | ✅ | ✅ |
| Declarative cron scheduling via CRD | ❌ | ✅ |
| Auto-discovery with group/topic filtering | ❌ | ✅ |
| Per-project status tracking in-cluster | ❌ | ✅ |
| Parallel execution with concurrency control | ❌ | ✅ |
| Prometheus metrics & health checks | ❌ | ✅ |
| Kubernetes-native pod scheduling | ❌ | ✅ |
| Leader election for high availability | ❌ | ✅ |
| Job lifecycle management (TTL, deadlines, retries) | ❌ | ✅ |
- At the defined time of your schedule, a renovate discovery job is started
- After the discovery finished, you will be able to see all your discovered projects in the UI
- All projects are now being set to be scheduled
- Every 10 seconds the operator checks for schedules projects and starts a new renovate job
- Only as many jobs as defined in
spec.parallelismare getting executed at the same time
helm -n renovate-operator upgrade --install renovate-operator \
oci://ghcr.io/mogenius/helm-charts/renovate-operator \
--create-namespace --waithelm repo add mogenius https://helm.mogenius.com/public --force-update
helm -n renovate-operator upgrade --install renovate-operator mogenius/renovate-operator --create-namespace --waitMade with contrib.rocks.
Running the operator
Needs KUBECONFIG variable exported with the path to your local kube-config and a context you want to use.
Running Tests
Run the test-suite using just:
Run golangci-lint using just:
Run all checks (tests + linters):
Generate CRDs
