Open source · Apache-2.0

Bundle. Declare. Reconcile.

Kubo facilitates the bundling, installing, and managing of container-native applications — and their coupled services — on Kubernetes. One versioned, portable deliverable. No vendor lock-in.

How it works

A Stack is the unit of delivery

A Stack is a cloud-native application bundle: an OCI artifact that packages Helm charts, images, and values into a single, versioned, portable deliverable — composable across teams, organizations, and registries.

01 — BUNDLE

Package once

Charts and images are packaged into a single OCI artifact, versioned like any other image and pushed to the registry of your choice.

make bundle
02 — DECLARE

Declare intent

A Stack CRD points at the bundle and declares components, dependencies, and values — the whole product as one declarative object.

kind: Stack
03 — RECONCILE

Let the operator drive

The controller installs components in dependency order via Helm, prunes dropped releases, and reports per-component status — continuously.

status.phase: Ready
Shared operators

Installed once, watching every Stack

Cluster-scoped operators are installed once in a shared operators namespace and watch every tenant namespace — tenant charts never duplicate them. Enable only what your product needs, per Stack.

Vault Spark Istio cert-manager Kafka Postgres Kubeflow AgentFW
Quickstart

From clone to Stack in four commands

Requires Go 1.23+, Docker, kubectl, and access to a Kubernetes cluster.

# install CRDs and run the controller locally
$ make install && make run
# package and push a bundle
$ make bundle
# deploy a Stack
$ kubectl apply -f config/samples/stack_product_bundle.yaml