Skip to content

kubelatch

kubelatch gives people, CI pipelines and AI agents Kubernetes permissions with an end date, on the SSO you already have. Your cluster already knows who signs in; kubelatch adds the rest: how long each permission lasts, what it allows, and a record of every request to the API server.

In Kubernetes, a RoleBinding has no end date. On EKS and AKS the cluster's audit log is off until you turn it on, and if your clusters span clouds, each one keeps it in its own service and format. And a pipeline or an agent may get in with a shared or borrowed credential. kubelatch fills those gaps: permissions carry an end date, 30 days unless you pick another (Never has to be chosen on purpose), and cluster-admin never lasts past 8 hours; every credential belongs to someone and expires; every request through kubelatch leaves one readable row; and a revoked credential stops working on the next request.

For now, the bindings your clusters already give your SSO's users and groups stay as they are, with no end date, and what goes straight to the cluster through them isn't in kubelatch's audit. In phase 1 of the roadmap, a kubelatch permission will be able to make someone a member of those same groups for as long as it lasts.

Public preview

kubelatch is in public preview. It works, but pieces are still missing (they're on the roadmap), and there's no stability commitment between versions yet; only the latest release is supported.

flowchart LR
    u["People and CI<br/>kubectl, k9s, Helm"] -->|"own credential"| kl["kubelatch<br/>proxy and audit"]
    adm["Administrators"] -->|"permissions"| kl
    kl -->|"acts as that person"| k8s["Your clusters<br/>EKS · GKE · AKS · k3s…"]
    kl --> pg[("Postgres<br/>inventory and audit")]

What you get

  • A credential of your own, per person or pipeline. A token with its kubeconfig, with an expiry, that can be revoked instantly. GitHub Actions workflows get their own without storing any secret in GitHub.
  • Tiered permissions. Six system roles (viewer, developer, debugger, secrets-reader, admin and cluster-admin), or, in Pro, your own roles composed from capabilities, over a namespace or a whole cluster. kubelatch maintains the cluster's RBAC for you.
  • Inventory. Who each credential belongs to, until when it's valid, and when it was last used.
  • Per-request audit. Every request to the API server is logged with who, what, where and the result, including exec and port-forward.
  • AI agents within limits. Claude Code, Cursor or any MCP client works through kubelatch's MCP server, as a bot or on your behalf with only the permissions you choose; its writes can wait for your approval. See AI agents.
  • Any cluster. Works the same on managed clusters (EKS, GKE, AKS) and self-managed ones (kubeadm, k3s, RKE2, Talos): it only uses the standard Kubernetes API.
  • Two editions. Free with 2 clusters, 5 people, 24 hours of audit and the system roles; Pro per person, with custom roles and a key verified offline. Editions and license.

Where to start

  • Try it in 15 minutes


    Run kubelatch on your machine with Docker Compose and a disposable kind cluster, to evaluate it before installing it. You need Docker, kind and kubectl.

    Try it locally

  • I need access to a cluster


    Your team already has kubelatch and you want your own credential for kubectl, k9s, Lens or Helm, or a credential for your GitHub Actions workflows.

    Sign in and request access · Get a credential · GitHub Actions

  • Connect an AI agent


    Let your agent work on the clusters as you, read-only by default, without handing it your kubeconfig.

    AI agents · How it works

  • I administer kubelatch


    You install it on your platform, register clusters, grant permissions and manage accounts.

    Install · Register a cluster · Grant permissions

  • Understand how it works


    The pieces, the path of a request, and why kubelatch is a proxy.

    Architecture · Why a proxy