stack.basicstack.de/apps/headlamp
CTO Agent 442aca2254 Fix Headlamp OIDC login by setting BASE_URL and correcting env var names
- Set HEADLAMP_CONFIG_BASE_URL to https://headlamp.basicstack.de (was empty)
- Fix environment variable names to use underscores (OIDC_IDP_ISSUER_URL, etc.)
- Update image version to v0.43.0 to match deployed version

The missing BASE_URL caused the OIDC redirect flow to fail, resulting in the
auth popup closing immediately. Environment variable name corrections ensure
consistency with Headlamp's expected configuration format.

Resolves DEV-324

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-18 08:30:41 +00:00
..
deployment.yaml Fix Headlamp OIDC login by setting BASE_URL and correcting env var names 2026-07-18 08:30:41 +00:00
headlamp-oidc-sealed.yaml Add Headlamp Kubernetes dashboard deployment 2026-07-18 07:37:58 +00:00
ingress.yaml Add Headlamp Kubernetes dashboard deployment 2026-07-18 07:37:58 +00:00
README.md docs(headlamp): document authentication methods and troubleshooting 2026-07-18 08:00:11 +00:00
service-account.yaml Add Headlamp Kubernetes dashboard deployment 2026-07-18 07:37:58 +00:00
service.yaml Add Headlamp Kubernetes dashboard deployment 2026-07-18 07:37:58 +00:00

Headlamp - Kubernetes Dashboard

Headlamp is a modern, web-based Kubernetes dashboard that provides a user-friendly interface for managing and monitoring Kubernetes clusters.

Deployment

This deployment includes:

OIDC Configuration

The deployment is configured to authenticate users via Pocket ID using OpenID Connect (OIDC):

  • Issuer URL: https://auth.basicstack.de
  • Client ID: Stored in sealed secret headlamp-oidc
  • Client Secret: Stored in sealed secret headlamp-oidc
  • Scopes: openid, profile, email

Authorized Users

The following users have access to Headlamp through Pocket ID:

Users authenticate through the Pocket ID SSO and receive cluster-admin permissions via the service account.

Resources

Access

After deployment via ArgoCD, access the dashboard at: https://headlamp.basicstack.de

Authentication Methods

Users will be redirected to Pocket ID for authentication. Once OIDC is fully configured in Pocket ID:

  • Navigate to https://headlamp.basicstack.de
  • Click "Sign in with OIDC"
  • Authenticate via Pocket ID
  • Headlamp uses the headlamp-admin ServiceAccount for all Kubernetes API calls

2. Token-Based Authentication (Fallback)

For testing or when OIDC is not available, you can use token-based authentication:

# Generate a token from the headlamp-admin ServiceAccount
kubectl create token headlamp-admin -n headlamp

# Copy the token and paste it in the Headlamp login form

Important: The ServiceAccount exists in the headlamp namespace, not kube-system. Using the wrong namespace will result in 403 errors when accessing Kubernetes APIs.

The token has cluster-admin permissions and provides full access to all cluster resources including metrics APIs.

Troubleshooting

403 Errors on Metrics API

If you see 403 errors like GET https://headlamp.basicstack.de/clusters/main/apis/metrics.k8s.io/v1beta1/nodes:

Cause: Using a token from the wrong namespace or a ServiceAccount without sufficient permissions.

Solution: Generate the token from the correct namespace:

kubectl create token headlamp-admin -n headlamp

Asset Loading Errors

If you encounter errors loading JavaScript assets, check:

  • Ingress configuration is correct
  • TLS certificate is valid
  • Browser console for specific error messages