Referencia del Dashboard
Kubetail Dashboard es un servidor HTTP basado en Go que aloja la interfaz web del Dashboard y proporciona la API backend que la interfaz usa para interactuar con sus clusters de Kubernetes. El ejecutable del servidor se compila a partir del codigo fuente ubicado en el repositorio de Kubetail en modules/dashboard y normalmente se despliega usando la imagen Docker kubetail-dashboard (vea mas abajo). Es posible ejecutar kubetail-dashboard como contenedor independiente, pero recomendamos desplegarlo con el chart de Helm oficial de Kubetail.
Imagen Docker
Enlace a la sección «Imagen Docker»La imagen Docker kubetail-dashboard se publica en Docker Hub y GitHub Container Registry en cada release:
| Registry | Image |
|---|---|
| Docker Hub | kubetail/kubetail-dashboard |
| GHCR | ghcr.io/kubetail-org/kubetail-dashboard |
Hay dos variantes disponibles:
| Sufijo de tag | Imagen base | Descripcion |
|---|---|---|
| (ninguno) | scratch | Imagen minima, la huella mas pequena |
-alpine | alpine | Incluye shell y utilidades estandar |
Entrypoint
Enlace a la sección «Entrypoint»El entrypoint predeterminado del contenedor es /dashboard/dashboard:
dashboard [flags]| Flag | Short | Default | Description |
|---|---|---|---|
--config | -c | Ruta al archivo de configuracion (por ejemplo, /etc/kubetail/dashboard.yaml) | |
--addr | -a | :8080 | Direccion del host a la que enlazarse |
--gin-mode | release | Modo del framework Gin (release, debug) |
Configuracion
Enlace a la sección «Configuracion»El dashboard puede configurarse usando un archivo de configuracion YAML, JSON o TOML. Pase la ruta al archivo con -c / --config. Las variables de entorno pueden referenciarse en el archivo de configuracion con la sintaxis ${VARIABLE_NAME}.
dashboard --config /etc/kubetail/dashboard.yaml## Kubetail Dashboard Configuration File## Este archivo define el comportamiento del kubetail dashboard server,# que sirve la interfaz web y proporciona la API backend para el dashboard.#
## allowed-namespaces #### Lista de namespaces a los que el dashboard puede acceder.# Si esta vacia, todos los namespaces son accesibles.## Valor predeterminado: []#allowed-namespaces: []
## allowed-origins #### Origenes adicionales (ademas de same-origin) aceptados en las solicitudes# de upgrade WebSocket. Cada entrada debe ser un origen totalmente# cualificado — scheme://host[:port] sin path. La comparacion no distingue# mayusculas/minusculas en el host y normaliza los puertos predeterminados# (de modo que https://example.com coincide con https://example.com:443).## Use esto cuando ejecute el dashboard detras de un proxy inverso que# reescriba Host o termine TLS sin preservar el scheme — la coincidencia# directa de same-origin contra r.Host/r.TLS rechazaria de otro modo# solicitudes legitimas del navegador. Liste los origenes publicos en los# que se sirve el dashboard.## Ejemplos:# - https://kubetail.example.com# - https://kubetail.example.com:8443## Valor predeterminado: []#allowed-origins: []
## kubeconfig #### Ruta al archivo kubeconfig que se utilizara para solicitudes a la API de Kubernetes.# Si esta vacio, se usa la ruta predeterminada (~/.kube/config) o la variable de entorno KUBECONFIG.## Valor predeterminado: ""#kubeconfig: ""
## addr #### La direccion de red y el puerto a los que debe enlazarse el servidor HTTP.## Valor predeterminado: :8080#addr: ":8080"
## auth-mode #### El modo de autenticacion del dashboard.# Valores validos: auto, token## Valor predeterminado: auto#auth-mode: auto
## base-path #### La ruta URL base para todos los endpoints del dashboard.## Valor predeterminado: /#base-path: /
## cluster-api-endpoint #### La URL del servidor Cluster API.# Si esta vacia, la integracion con Cluster API esta deshabilitada.## Valor predeterminado: ""#cluster-api-endpoint: ""
## environment #### El entorno en el que se ejecuta el dashboard.# Valores validos: desktop, cluster## Valor predeterminado: cluster#environment: cluster
## gin-mode #### El modo del framework Gin.# Valores validos: debug, release## Valor predeterminado: release#gin-mode: release
## logging #### Configuracion de la salida de logs del servidor del dashboard#logging:
## enabled ## # # Indica si el logging esta habilitado para el servidor. # # Valor predeterminado: true # enabled: true
## level ## # # El nivel minimo de log que se emitira. # Valores validos: debug, info, warn, error, disabled # # Valor predeterminado: info # level: info
## format ## # # El formato de la salida de logs. # Valores validos: json, pretty # # Valor predeterminado: json # format: json
## access-log ## # # Configuracion del access logging HTTP # access-log:
## enabled ## # # Indica si el access logging esta habilitado. # # Valor predeterminado: true # enabled: true
## hide-health-checks ## # # Indica si deben omitirse las solicitudes de health check (/healthz) del access log. # # Valor predeterminado: false # hide-health-checks: false
## session #### Configuracion de gestion de sesiones#session:
## key-pairs ## # # Uno o mas pares de claves de firma/cifrado para las cookies de sesion. # El primer par se usa para nuevas cookies; los pares adicionales se # aceptan solo para lectura, lo que permite la rotacion de claves sin # tiempo de inactividad. # # Cada par tiene: # signing-key (obligatoria) — clave HMAC de firma codificada en hex; se recomiendan 32 o 64 bytes en bruto # encryption-key (opcional) — clave AES de cifrado codificada en hex; 16, 24 o 32 bytes en bruto # # Cuando esta vacia y se ha configurado un local-storage-dir, se genera # un par aleatorio y se persiste en disco al iniciar por primera vez. # key-pairs: []
## cookie ## # # Configuracion de la cookie de sesion # cookie:
## name ## # # El nombre de la cookie de sesion. # # Valor predeterminado: kubetail_dashboard_session # name: kubetail_dashboard_session
## path ## # # La ruta URL para la que la cookie es valida. # # Valor predeterminado: / # path: /
## domain ## # # El dominio para el que la cookie es valida. # Si esta vacio, la cookie solo es valida para el dominio actual. # # Valor predeterminado: "" # domain: ""
## max-age ## # # La edad maxima de la cookie en segundos. # # Valor predeterminado: 2592000 (30 dias) # max-age: 2592000
## secure ## # # Indica si la cookie solo debe enviarse por HTTPS. # # Valor predeterminado: false # secure: false
## http-only ## # # Indica si la cookie es inaccesible desde JavaScript. # # Valor predeterminado: true # http-only: true
## same-site ## # # El atributo SameSite de la cookie. # Valores validos: strict, lax, none # # Valor predeterminado: lax # same-site: lax
## tls #### Configuracion TLS para el servidor HTTP#tls:
## enabled ## # # Indica si TLS esta habilitado. # # Valor predeterminado: false # enabled: false
## cert-file ## # # Ruta al archivo del certificado TLS. # # Valor predeterminado: "" # cert-file: ""
## key-file ## # # Ruta al archivo de clave privada TLS. # # Valor predeterminado: "" # key-file: ""
## ui #### Opciones de configuracion especificas de la interfaz#ui:
## cluster-api-enabled ## # # Indica si la integracion con Cluster API esta habilitada en la interfaz. # # Valor predeterminado: true # cluster-api-enabled: true