Isolated environments
Projects hold environments, environments hold apps. Every environment is its own namespace with resource quotas and a NetworkPolicy, so staging can never reach production.
Kuben turns any cluster into a platform your team can actually use. Push an image, get an isolated environment with HTTPS, autoscaling, logs and rollbacks. One Rust binary, no external database, everything a Kubernetes resource.
helm install kuben oci://ghcr.io/teamtem-dev/charts/kuben --namespace kuben-system --create-namespaceKuben creates the Deployments, Services, autoscalers and HTTPS routes for you and keeps them in sync. You keep the cluster, the data and the choice of tooling.
Projects hold environments, environments hold apps. Every environment is its own namespace with resource quotas and a NetworkPolicy, so staging can never reach production.
Point at a container image and get a zero-downtime rollout with readiness and startup probes, autoscaling, environment variables and write-only secrets.
Logs, restarts, numbered releases with one-click rollback, promotion between environments with a diff preview, persistent volumes and cron jobs.
Gateway API routes plus cert-manager certificates. One listener per hostname, HTTP redirected to HTTPS, and a domain can belong to exactly one app.
Four roles that form a strict ladder, API tokens capped at a role and scoped to a project or environment, and an append-only record of every change and every denial.
Projects, environments, apps and releases are Kubernetes custom resources. kubectl, Argo CD and Flux work next to the UI, not against it.
One Helm release inside the cluster, or one binary on a server next to k3s. kuben doctor checks the prerequisites.
Create a project and its environments, invite the team with roles, and mint a scoped API token for CI.
Deploy from the UI or PATCH the image from a pipeline. Kuben reconciles the workload, the route and the certificate.
The API reads from small in-memory projections, so it answers without talking to the API server. With PostgreSQL, several replicas serve the API and one of them, chosen through a Lease, runs the controllers. Read the concepts →
Kuben's service account can manage every tenant namespace, so it is treated like an infrastructure controller: minimal image, minimal privileges, and a security model that is written down rather than implied.
Security model and its limitsTemplates create the app, its volume and a <name>-credentials secret with a random password. Apps connect with DATABASE_URL=@db-credentials/url; no password ever appears in a spec, a release or the audit log.
Build from a repository with BuildKit, without an external CI.
A short-lived environment for every pull request.
Idle apps stop; the first request wakes them.
OIDC for teams that already have an identity provider.
Apache-2.0. Built in Rust by Teamtem. Runs on k3s, kind, EKS, GKE and AKS.
curl -fsSL https://raw.githubusercontent.com/Teamtem-dev/kuben/main/install.sh | bash