v0.8.0 Multi-cluster dashboard, OIDC auth, retry modes, robust retries Release notes
Kubernetes-native continuous delivery

End-to-end delivery, without the pipeline.

Schedule windows, manual approvals, canaries, environment promotion, alert checks, smoke tests. Everyone can describe the pipeline they want; no tool has ever made it easy to build. Kuberik does, one piece at a time.

Apache 2.0 · composes with Flux, OpenKruise, Prometheus, Datadog
How it works

A reactive loop with five clear phases.

Each phase is a Kubernetes resource. Two are yours to compose; three are built in. Nothing else is hidden behind the curtain.

0102030405
phase 01 release
release
guard
gates
update
health
01 release
Which versions are available?
Flux ImagePolicyOCI pullcosign-verified
02 guard built-in · no config
Is this environment safe to deploy to?
healthynot pausedidleno override
03 gates open class · you own this
Which version can we deploy right now?
schedulemanualafter(env)custom CRD
04 update
Roll out the new version.
Flux KustomizationOpenKruisecanary 0→100%
05 health open class · you own this
Did it deploy successfully?
kstatusmetricsalertssmoke testcustom CRD
composing environments

Each environment is a loop. Compose them with gates.

No central pipeline orchestrates anything. Each environment runs its own loop and opens its gate when conditions are met — including after(env).

dev on commit
after(env)
staging after dev
after(env)
production after staging + schedule
The spec

This is everything you write.

Three Flux resources, one Kuberik resource, one $VERSION placeholder.

fluxapiVersion: image.toolkit.fluxcd.io/v1beta2
kind: ImageRepository
metadata:
  name: my-app
spec:
  image: ghcr.io/me/my-app
---
kind: ImagePolicy
spec:
  policy:
    semver:
      range: ">=0.1.0"
kuberikapiVersion: kuberik.com/v1alpha1
kind: Rollout
metadata:
  name: my-app
spec:
  releasesImagePolicy:
    name: my-app
  bakeDuration: 10m
fluxapiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: my-app
  annotations:
    rollout.kuberik.com/
      substitute.VERSION.from: my-app
spec:
  sourceRef:
    kind: GitRepository
    name: my-app
yoursapiVersion: apps/v1
kind: Deployment
metadata: { name: my-app }
spec:
  template:
    spec:
      containers:
        - name: app
          image: ghcr.io/me/my-app:${VERSION}
One dashboard

Every rollout. Every cluster.

No hub cluster. No stored cross-cluster credentials. RBAC on your own OIDC.

Apps — multi-env spread, version timelines, failing apps surfaced Rollout overview — deployment pipeline, health checks, resources Activity — deployment timeline grouped by recency, failures highlighted
Try it

Stop writing rollout glue.
Declare gates and health. Watch the loop run.

Get started Source
$ helm repo add kuberik https://charts.kuberik.com
$ helm install kuberik kuberik/rollout-controller