Zum Inhalt springen

Dashboard-Referenz

Das Kubetail Dashboard ist ein Go-basierter HTTP-Server, der die Dashboard-Web-UI hostet und die Backend-API bereitstellt, mit der die Web-UI mit Ihren Kubernetes-Clustern interagiert. Das Server-Binary wird aus dem Quellcode im Kubetail-Repository unter modules/dashboard kompiliert und in der Regel ueber das Docker-Image kubetail-dashboard bereitgestellt (siehe unten). Es ist moeglich, kubetail-dashboard als eigenstaendigen Container auszufuehren, wir empfehlen jedoch die Bereitstellung ueber das offizielle Kubetail-Helm-Chart.

Das Docker-Image kubetail-dashboard wird bei jedem Release auf Docker Hub und in der GitHub Container Registry veroeffentlicht:

RegistryImage
Docker Hubkubetail/kubetail-dashboard
GHCRghcr.io/kubetail-org/kubetail-dashboard

Es sind zwei Varianten verfuegbar:

Tag-SuffixBasis-ImageBeschreibung
(keines)scratchMinimales Image, kleinster Footprint
-alpinealpineEnthaelt eine Shell und Standardwerkzeuge

Der Standard-Entry-Point des Containers ist /dashboard/dashboard:

Terminal-Fenster
dashboard [flags]
FlagKurzStandardBeschreibung
--config-cPfad zur Konfigurationsdatei (z. B. /etc/kubetail/dashboard.yaml)
--addr-a:8080Host-Adresse, an die gebunden wird
--gin-modereleaseGin-Framework-Modus (release, debug)

Das Dashboard kann mit einer YAML-, JSON- oder TOML-Konfigurationsdatei konfiguriert werden. Uebergeben Sie den Pfad zur Datei mit -c / --config. Umgebungsvariablen koennen in der Konfigurationsdatei mit der Syntax ${VARIABLE_NAME} referenziert werden.

Terminal-Fenster
dashboard --config /etc/kubetail/dashboard.yaml
## Kubetail Dashboard Configuration File
#
# Diese Datei definiert das Verhalten des kubetail dashboard server,
# der die Web-UI bereitstellt und die Backend-API fuer das Dashboard liefert.
#
## allowed-namespaces ##
#
# Liste der Namespaces, auf die das Dashboard zugreifen darf.
# Wenn leer, sind alle Namespaces zugaenglich.
#
# Standardwert: []
#
allowed-namespaces: []
## kubeconfig ##
#
# Pfad zur kubeconfig-Datei, die fuer Kubernetes-API-Anfragen verwendet wird.
# Wenn leer, wird der Standardpfad (~/.kube/config) oder die Umgebungsvariable KUBECONFIG verwendet.
#
# Standardwert: ""
#
kubeconfig: ""
## addr ##
#
# Die Netzwerkadresse und der Port, an die der HTTP-Server gebunden werden soll.
#
# Standardwert: :8080
#
addr: ":8080"
## auth-mode ##
#
# Der Authentifizierungsmodus fuer das Dashboard.
# Gueltige Werte: auto, token
#
# Standardwert: auto
#
auth-mode: auto
## base-path ##
#
# Der Basis-URL-Pfad fuer alle Dashboard-Endpunkte.
#
# Standardwert: /
#
base-path: /
## cluster-api-endpoint ##
#
# Die URL des Cluster-API-Servers.
# Wenn leer, ist die Cluster-API-Integration deaktiviert.
#
# Standardwert: ""
#
cluster-api-endpoint: ""
## environment ##
#
# Die Umgebung, in der das Dashboard ausgefuehrt wird.
# Gueltige Werte: desktop, cluster
#
# Standardwert: cluster
#
environment: cluster
## gin-mode ##
#
# Der Gin-Framework-Modus.
# Gueltige Werte: debug, release
#
# Standardwert: release
#
gin-mode: release
## csrf ##
#
# Einstellungen fuer den CSRF-Schutz
#
csrf:
## enabled ##
#
# Ob CSRF-Schutz aktiviert ist.
#
# Standardwert: true
#
enabled: true
## logging ##
#
# Konfiguration fuer die Log-Ausgabe des Dashboard-Servers
#
logging:
## enabled ##
#
# Ob Logging fuer den Server aktiviert ist.
#
# Standardwert: true
#
enabled: true
## level ##
#
# Das minimale Log-Level, das ausgegeben wird.
# Gueltige Werte: debug, info, warn, error, disabled
#
# Standardwert: info
#
level: info
## format ##
#
# Das Format der Log-Ausgabe.
# Gueltige Werte: json, pretty
#
# Standardwert: json
#
format: json
## access-log ##
#
# Konfiguration fuer HTTP-Access-Logging
#
access-log:
## enabled ##
#
# Ob Access-Logging aktiviert ist.
#
# Standardwert: true
#
enabled: true
## hide-health-checks ##
#
# Ob Health-Check-Anfragen (/healthz) im Access-Log ausgelassen werden sollen.
#
# Standardwert: false
#
hide-health-checks: false
## session ##
#
# Einstellungen fuer das Session-Management
#
session:
## secret ##
#
# Der geheime Schluessel, der zum Signieren von Session-Tokens verwendet wird.
# Wenn leer, wird beim Start ein zufaelliges Secret generiert (Sessions ueberleben
# dann keinen Neustart).
#
# Standardwert: ""
#
secret: ""
## cookie ##
#
# Konfiguration des Session-Cookies
#
cookie:
## name ##
#
# Der Name des Session-Cookies.
#
# Standardwert: kubetail_dashboard_session
#
name: kubetail_dashboard_session
## path ##
#
# Der URL-Pfad, fuer den das Cookie gueltig ist.
#
# Standardwert: /
#
path: /
## domain ##
#
# Die Domain, fuer die das Cookie gueltig ist.
# Wenn leer, ist das Cookie nur fuer die aktuelle Domain gueltig.
#
# Standardwert: ""
#
domain: ""
## max-age ##
#
# Das maximale Alter des Cookies in Sekunden.
#
# Standardwert: 2592000 (30 Tage)
#
max-age: 2592000
## secure ##
#
# Ob das Cookie nur ueber HTTPS gesendet werden soll.
#
# Standardwert: false
#
secure: false
## http-only ##
#
# Ob das Cookie fuer JavaScript unzugaenglich ist.
#
# Standardwert: true
#
http-only: true
## same-site ##
#
# Das SameSite-Attribut des Cookies.
# Gueltige Werte: strict, lax, none
#
# Standardwert: lax
#
same-site: lax
## tls ##
#
# TLS-Konfiguration fuer den HTTP-Server
#
tls:
## enabled ##
#
# Ob TLS aktiviert ist.
#
# Standardwert: false
#
enabled: false
## cert-file ##
#
# Pfad zur TLS-Zertifikatsdatei.
#
# Standardwert: ""
#
cert-file: ""
## key-file ##
#
# Pfad zur TLS-Private-Key-Datei.
#
# Standardwert: ""
#
key-file: ""
## ui ##
#
# UI-spezifische Konfigurationsoptionen
#
ui:
## cluster-api-enabled ##
#
# Ob die Cluster-API-Integration in der UI aktiviert ist.
#
# Standardwert: true
#
cluster-api-enabled: true