Skip to content
GitHub

What is Kuben?

Kuben is a platform as a service that runs on your own Kubernetes cluster. You give it a container image; it gives your team an isolated environment with a public HTTPS address, zero-downtime rollouts, autoscaling, logs, release history with rollback, and an audit log of who changed what.

It ships as one Rust binary (or one Helm release) with no external services to operate. State that must survive a restart lives in SQLite on a volume, or in PostgreSQL when you want several replicas. Everything else, the desired state of every project, environment and app, is a Kubernetes custom resource, so kubectl and GitOps tools work alongside the UI.

  • Small teams on a single cluster (k3s on one server, a managed cluster in the cloud) who want Heroku-style deploys without running a second platform next to Kubernetes.
  • Platform engineers who want a thin, auditable layer over Kubernetes rather than an opinionated replacement for it. Kuben never hides the cluster: every object it creates is visible and labelled.
  • Operators who care about the boring parts: a documented security model, a threat-aware release process and honest limits.
Area Included in Kuben 1.0
Deploy Any container image, with health checks, autoscaling, environment variables and write-only secrets
Isolation One namespace per environment, with resource quotas and a NetworkPolicy
Networking Custom domains, automatic certificates and HTTP → HTTPS redirects through Gateway API and cert-manager
Day 2 Logs, restarts, numbered releases with rollback, promotion between environments with a diff preview, persistent volumes, cron jobs
Templates One-click PostgreSQL, Redis, MariaDB, n8n, Uptime Kuma, Vaultwarden, Gitea and more, with generated credentials
Teams Four roles, invitations, scoped API tokens, an append-only audit log
Operations Backups, upgrades, several replicas on PostgreSQL with leader election, Prometheus metrics, kuben doctor

Git builds, preview environments per pull request, scale-to-zero and SSO are on the roadmap.

One process, several roles

kuben serve runs the REST API, the web console and the controllers in one process. With PostgreSQL you can run several replicas: every replica serves the API, and the holder of a Kubernetes Lease runs the controllers.

Kubernetes holds the desired state

Projects, environments, apps and releases are custom resources in the kuben.dev API group. SQL holds identity, sessions, tokens and the audit log, and references cluster objects only by uid.

Gateway API for the edge

Kuben creates an HTTPRoute per app and manages the listeners of a dedicated Gateway. cert-manager issues a certificate for every listener. TLS terminates at your Gateway controller (Traefik, Envoy Gateway or Cilium).

Generated, drift-checked contracts

The OpenAPI spec, the TypeScript client and the CRD manifests are generated from the Rust code, and CI fails if a commit lets them drift. The REST API reference on this site is rendered from that spec.