Files
home-server/clusters/noble/apps/headlamp
..

Headlamp (noble)

Headlamp web UI for the cluster. Exposed on https://headlamp.apps.noble.lab.pcenicni.dev via Traefik + cert-manager (letsencrypt-prod), same pattern as Grafana.

  • Chart: headlamp/headlamp 0.40.1 (config.sessionTTL: null avoids chart/binary mismatch — issue #4883)
  • Namespace: headlamp

Install

helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/
helm repo update
kubectl apply -f clusters/noble/apps/headlamp/namespace.yaml
helm upgrade --install headlamp headlamp/headlamp -n headlamp \
  --version 0.40.1 -f clusters/noble/apps/headlamp/values.yaml --wait --timeout 10m

Sign-in uses a ServiceAccount token (Headlamp docs: create a limited SA for day-to-day use). This repo binds the Headlamp workload SA to the built-in edit ClusterRole (clusterRoleBinding.clusterRoleName: edit in values.yaml) — not cluster-admin. For cluster-scoped admin work, use kubectl with your admin kubeconfig. Optional OIDC in config.oidc replaces token login for SSO.

Sign-in token (ServiceAccount headlamp)

Use a short-lived token (Kubernetes 1.24+; requires permission to create TokenRequests):

export KUBECONFIG=/path/to/talos/kubeconfig   # or your admin kubeconfig
kubectl -n headlamp create token headlamp --duration=48h

Paste the printed JWT into Headlamps token field at https://headlamp.apps.noble.lab.pcenicni.dev.

To use another duration (cluster spec.serviceAccount / admission limits may cap it):

kubectl -n headlamp create token headlamp --duration=8760h