Skip to content

kokumi-dev/kokumi

Repository files navigation

Kokumi Logo

Kokumi

Kokumi (/koʊkuːmi/, Japanese: コク味, from コク “richness” + 味 “taste”) means "heartiness" or "richness" — subtle compounds that enhance and harmonize flavors.

Kokumi applies this idea to Kubernetes delivery by introducing the missing "richness" in an OCI-first workflow, preserving the subtle qualities of GitOps like clarity, traceability, and review, while embracing OCI's strengths in portability and immutability. The result is a system where configuration isn't just shipped, but deeply understood and transparently delivered.


Why Kokumi?

GitOps made Git the source of truth. That was a good deal. You got history, blame, diffs, and PR-based review essentially for free. OCI is increasingly taking over as the delivery mechanism for Kubernetes config, and it brings real strengths: content-addressability, immutability, and airgap compatibility that Git was never designed for. But the industry is swapping one for the other as though Git's review and traceability properties were incidental. They weren't. Kokumi is built on the premise that you shouldn't have to choose: it embraces OCI as the artifact layer while preserving the visibility and human-in-the-loop qualities that made GitOps worth adopting in the first place.

Overview

Kokumi is a Kubernetes operator for structured, immutable release management. It draws a hard line between three concerns that most delivery systems conflate:

  • Intent — what should be built and how (the Order)
  • Artifact — what was built, exactly (the Preparation)
  • Activation — what is currently running (the Serving)

By keeping these separate and immutable at the artifact layer, your engineers can:

  • Gate on human approval before a rendered artifact ever reaches a cluster.
  • Inspect the full rendered manifest in the built-in UI before promoting.
  • Edit rendered manifests in the UI. Tweak the fully-rendered manifest in the browser and produce and activate a new Preparation revision.
  • Roll back instantly by selecting any previous Preparation — the artifact already exists, no re-render required.
  • Operate in restricted networks — the entire pipeline works offline; all dependencies are OCI artifacts that can be mirrored in advance.
  • Detect drift unambiguously — compare the deployed SHA-256 digest to the desired one; any mismatch is a concrete, actionable signal.

Kokumi supports both Helm charts and pre-rendered manifest bundles as OCI source artifacts, and delegates all runtime deployment to Argo CD — feeding your existing GitOps workflow rather than replacing it.

Kokumi UI

Getting Started

Kokumi is currently experimental — use with caution in production environments.

Read the Installation guide and Getting Started guide on the docs site for full setup instructions, or explore the Architecture & Concepts page to understand how the reconciliation model works before diving in.

Contributing

Contributions are highly welcome! See the Contribution Guide for details on how to get involved.

Core Concepts

Kokumi models delivery using four Kubernetes primitives.

Order

Order is the concrete execution request. An Order declares the source OCI artifact (a Helm chart or manifest bundle), optional patches, and rendering configuration. It describes what should be built — not a running system. Every change to an Order triggers a new render cycle and produces a new Preparation automatically. Optionally, an Order can consume and parameterize a Menu template.

Preparation

An immutable OCI artifact produced by rendering an Order at a specific point in time. Preparations are created automatically — you never write one directly. Multiple Preparations accumulate per Order, giving you a complete, reproducible history of every version ever built. Promoting or rolling back is simply a matter of pointing the Serving at a different Preparation.

Serving

The active deployment pointer — exactly one per Order. A Serving references one specific Preparation and creates or updates an Argo CD Application that syncs that artifact into the cluster. Switching versions (upgrading or rolling back) means updating which Preparation the Serving references; the artifact does not change.

Menu

Menu is the reusable delivery template. It represents the base structure that an Order can consume and parameterize per environment or rollout.

About

Structured, Immutable Release Management for Kubernetes

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors