Skip to content

kuberik/kuberik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

112 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kuberik

Kuberik

Kubernetes-native continuous delivery. Safe, hands-off deployments.

License Go Version CI OpenSSF Scorecard GitHub release CLI release kuberik.com GitHub Stars

If Kuberik saves you from a bad deploy, consider starring the repo — it helps others find the project.

Kuberik is declarative, multi-stage progressive delivery for Kubernetes - from commit to production, batteries included. It fills the gap that Flux and ArgoCD leave open: progressive delivery as Kubernetes-native CRDs, with no centralized pipeline, built-in health checks, deployment gates, and bake time - all reconciled by controllers that run in your cluster.

Why Kuberik

  • No pipelines to maintain. Rollouts are CRDs reconciled by in-cluster controllers. There is no Jenkins, no Tekton DAG, no Argo Workflow to keep alive.
  • Composes with Flux. Kuberik does not replace your GitOps engine. It reads Flux ImagePolicy to discover releases and patches Flux source/kustomization resources to promote them.
  • Health and gate signals are decoupled. Datadog, Prometheus, OpenKruise, GitHub Deployments, and custom controllers all produce HealthCheck / RolloutGate resources independently - the rollout engine just reads them.
  • Day-2 tools are first class. A real CLI, a dashboard, structured controller logs, and a GitHub Action ship in the same release cycle as the controllers themselves.

Features

Feature Description
Multi-Stage Pipelines Promote releases across environments with dependencies between stages.
Deployment Gates Control when and which releases deploy - with schedules, manual approvals, or custom conditions.
Canary Rollouts Gradually roll out changes to a subset of users before full promotion.
Automated Testing Run smoke tests, integration tests, or any verification Job as part of your rollout pipeline.
Monitoring Integration Connect Datadog, Prometheus, or custom metrics to continuously validate deployments.

Install

CLI

Homebrew:

brew install kuberik/tap/kuberik

curl | bash (Linux, macOS):

curl -s https://raw.githubusercontent.com/kuberik/kuberik/main/install/install.sh | sudo bash

Or download a release binary for Linux, macOS, or Windows from Releases.

Cluster (core controller only)

kuberik install
# or
kubectl apply -f https://github.com/kuberik/rollout-controller/releases/latest/download/install.yaml

Cluster (core + all integration controllers)

kuberik install --all
# or, with kustomize
kubectl apply -k https://github.com/kuberik/kuberik/config/install
# or, with Helm (gh-pages repo)
helm repo add kuberik https://kuberik.github.io/kuberik
helm install kuberik kuberik/kuberik \
  --namespace kuberik-system --create-namespace \
  --set createNamespace=false \
  --set integrations.datadog.enabled=true \
  --set integrations.openkruise.enabled=true \
  --set integrations.environment.enabled=true
# or, with Helm (OCI registry, Helm 3.8+)
helm install kuberik oci://ghcr.io/kuberik/charts/kuberik \
  --namespace kuberik-system --create-namespace \
  --set createNamespace=false

See the chart README for the full values reference.

See Getting Started for a step-by-step walkthrough and Installation for per-component install commands.

GitHub Actions

- uses: kuberik/kuberik/action@main
  with:
    version: 'latest'
- run: kuberik version

See the Action README for more examples.

Architecture

graph TD
    RC[rollout-controller]

    subgraph Integrations
        DD[datadog-controller]
        PROM[prometheus-controller]
        OK[openkruise-controller]
        ENV[environment-controller]
    end

    subgraph Observability
        DASH[rollout-dashboard]
    end

    DD -->|HealthCheck| RC
    PROM -->|HealthCheck| RC
    OK -->|RolloutStrategy| RC
    ENV -->|RolloutGate| RC
    RC -->|status| DASH
Loading

Components

Component Purpose
rollout-controller Core controller. Manages Rollout, RolloutGate, HealthCheck, and RolloutSchedule CRDs.
rollout-dashboard Web UI for visualizing rollout status across namespaces.
datadog-controller Creates kuberik HealthCheck resources from DatadogMonitor status.
environment-controller Reports deployment status to GitHub Deployments API; manages environment relationships.
openkruise-controller Integrates OpenKruise advanced rollout strategies with the Kuberik gate system.
prometheus-controller Creates HealthCheck resources from Prometheus alert and query results.

Documentation

Full documentation at kuberik.com/docs.

Docs also available in this repo:

Community and Contributing

License

Apache 2.0 - see LICENSE.