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.
Supports all Renovate platforms: GitHub, GitLab, Bitbucket, Azure DevOps, Gitea, and more. The operator works with any platform supported by Renovate - simply configure your credentials and platform settings via environment variables or secrets. Note that some platforms have additional operator-specific features like native webhook integrations for GitHub and GitLab.
| Feature | Mend Renovate CLI | Mend Renovate Community Self-Hosted (aka "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 scheduled 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 --wait- Platform Setup
- GitLab
- GitHub PAT
- GitHub App - External Secrets Operator
- GitHub App - Native (Beta)
- Azure DevOps, Bitbucket, Gitea, Forgejo, and others: configure via
extraEnv(see Renovate platform docs)
- Autodiscovery
- Webhook API
- Using a config.js
- Image Pull Secrets
- Scheduling
- Metrics
- PR Activity
- Authentication
- Valkey / Redis Cache
Made with contrib.rocks.
Running the operator locally
Prerequisites: just must be installed.
- Export
KUBECONFIGwith the absolute path to your kubeconfig —~is not expanded, so use$HOMEor the full path:export KUBECONFIG=/Users/yourname/.kube/config # or export KUBECONFIG=$HOME/.kube/config
- Start the operator against the current context in that kubeconfig:
just run
Running Tests
| Command | Description |
|---|---|
just test-unit |
Run the unit test suite |
just golangci-lint |
Run the linter |
just check |
Run all checks (tests + linters) |
just generate |
Regenerate CRDs |

