Saltar a contenido

kubelatch

kubelatch da a cada persona y a cada pipeline de CI su propia credencial para tus clusters de Kubernetes, con permisos por niveles. Sabe en todo momento quién tiene acceso a qué y hasta cuándo, y registra cada petición al API server.

Sin kubelatch, lo habitual es un kubeconfig de administrador compartido o una ServiceAccount por persona creada a mano: nadie sabe quién lo usa ni cuándo caduca. Con kubelatch, cada credencial tiene dueño, fecha de caducidad y registro de uso, y se revoca al instante.

flowchart LR
    u["Personas y CI<br/>kubectl, k9s, Helm"] -->|"credencial propia"| kl["kubelatch<br/>proxy y auditoría"]
    adm["Administradores"] -->|"permisos"| kl
    kl -->|"actúa como esa persona"| k8s["Tus clusters<br/>EKS · GKE · AKS · k3s…"]
    kl --> pg[("Postgres<br/>inventario y auditoría")]

Qué te da

  • Una credencial propia por persona o pipeline. Un token klt_… con su kubeconfig, con caducidad, que se revoca al momento. Los workflows de GitHub Actions obtienen la suya sin guardar ningún secreto en GitHub.
  • Permisos por niveles. Seis niveles fijos (viewer, developer, debugger, secrets-reader, admin y cluster-admin) sobre un namespace o todo el cluster. kubelatch mantiene el RBAC del cluster por ti.
  • Inventario. Para quién es cada credencial, hasta cuándo vale y cuándo se usó por última vez.
  • Auditoría por petición. Cada petición al API server queda registrada con quién, qué, dónde y el resultado, también los exec y port-forward.
  • Cualquier cluster. Funciona igual en clusters gestionados (EKS, GKE, AKS) y autogestionados (kubeadm, k3s, RKE2, Talos): solo usa la API estándar de Kubernetes.

Por dónde empezar