Enable Ingress
boolean
default:"false"
Enable Ingress resource creation.
Hosts Configuration
array
default:"[\"localhost\"]"
List of hostnames for the Ingress resource.Default includes Remove
localhost for use with kubectl port-forward:localhost when exposing Dashboard externally.Ingress Class
string
default:"internal-nginx"
IngressClass to use for the Ingress resource.Common values:
nginx- For nginx-ingress-controllertraefik- For Traefikalb- For AWS ALB Ingress Controllergce- For GCE Ingress Controller
boolean
default:"false"
Use the cluster’s default IngressClass instead of specifying one.When
true, the ingressClassName field is omitted, and the cluster’s default IngressClass is used.Path Configuration
string
default:"/"
URL path for accessing Dashboard.Serving on a sub-path:When path is not
/, a nginx.ingress.kubernetes.io/rewrite-target: /$2 annotation is automatically added for proper routing.string
default:"ImplementationSpecific"
Ingress path type.Options:
Prefix- Matches based on URL path prefixExact- Exact path matchingImplementationSpecific- Interpretation depends on IngressClass
TLS Configuration
boolean
default:"true"
Enable TLS for Ingress.
TLS is highly recommended for production deployments to secure dashboard access.
string
default:""
Name of the TLS Secret containing certificate and key.If empty (default), the secret name is auto-generated as
kubernetes-dashboard-certs.The Secret must contain:tls.crt- TLS certificatetls.key- TLS private key
Cert-Manager Integration
The chart integrates with cert-manager for automatic certificate management.string
default:"selfsigned"
Name of the cert-manager Issuer or ClusterIssuer.
string
default:"default"
Scope of the cert-manager issuer.Options:
default- Addscert-manager.io/issuerannotation (namespace-scoped Issuer)cluster- Addscert-manager.io/cluster-issuerannotation (cluster-scoped ClusterIssuer)disabled- Disables cert-manager annotations
- For
default:cert-manager.io/issuer: <issuer.name> - For
cluster:cert-manager.io/cluster-issuer: <issuer.name>
Example: Let’s Encrypt with cert-manager
- cert-manager installed in cluster
- ClusterIssuer created:
Annotations
boolean
default:"true"
Append default nginx annotations required for Dashboard.When These are required for proper HTTPS passthrough to Kong gateway.
true, adds:object
default:"{}"
Additional custom annotations for the Ingress resource.
object
default:"{}"
Additional labels for the Ingress resource.
Example Configurations
Basic Public Ingress with nginx
Internal Ingress with Self-Signed Certificate
AWS ALB Ingress
Traefik Ingress
Sub-Path Deployment
https://apps.example.com/dashboard
Multiple Hosts
Accessing Dashboard Through Ingress
Once Ingress is configured and certificates are issued:-
Verify Ingress is created:
-
Check certificate status:
-
Access Dashboard:
-
Verify TLS:
Troubleshooting
Certificate Not Issued
502 Bad Gateway
-
Verify Kong proxy is running:
-
Check if
useDefaultAnnotationsis enabled for nginx ingress -
Verify backend protocol annotation:
SSL Passthrough Issues
If using nginx ingress with SSL passthrough:- Ensure nginx ingress controller has
--enable-ssl-passthroughflag - Verify
ssl-passthrough: "true"annotation is present - Check Kong is listening on HTTPS (default: 8443)
Path-Based Routing Not Working
- Verify
rewrite-targetannotation when using sub-paths - Check Kong gateway route configuration
- Ensure
pathTypeis set correctly (usuallyPrefix)
Security Considerations
- Always use TLS in production
- Use valid certificates from trusted CAs (e.g., Let’s Encrypt)
- Restrict access using Network Policies or Ingress rules
- Enable authentication - Dashboard doesn’t provide built-in auth; users authenticate with Kubernetes tokens
- Use internal Ingress for sensitive environments
- Set resource limits on Ingress controller
Related Configuration
- Security Configuration - Network policies and TLS
- Helm Values Reference - Complete configuration reference
- Settings - Dashboard UI settings