Ships LINBIT's LINSTOR web UI (GPL-3.0) as an opt-in system package under packages/system/linstor-gui so operators can manage LINSTOR nodes, resources, and volumes from a browser instead of the linstor CLI. The UI is built from the upstream pkg.linbit.com tarball onto an nginx-unprivileged base image. A chart-supplied nginx.conf proxies /v1 and /metrics to the LINSTOR controller REST API over mTLS using the existing linstor-client-tls secret created by the linstor package. Only a ClusterIP Service is created; no Ingress is shipped, because LINSTOR's controller API is a privileged cluster-wide storage surface and auth depends on the deployment's OIDC setup. Operators opt in via bundles.enabledPackages and wire up ingress + auth themselves (port-forward works out of the box). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
17 lines
747 B
YAML
17 lines
747 B
YAML
## @section Image
|
|
## @param image.repository LINSTOR GUI container image repository
|
|
## @param image.tag LINSTOR GUI container image tag (digest recommended)
|
|
image:
|
|
repository: ghcr.io/cozystack/cozystack/linstor-gui
|
|
tag: 2.3.0
|
|
|
|
## @section Deployment
|
|
## @param replicas Number of linstor-gui replicas
|
|
replicas: 1
|
|
|
|
## @section LINSTOR controller connection
|
|
## @param linstor.endpoint In-cluster URL of the LINSTOR controller REST API (HTTPS, mTLS)
|
|
## @param linstor.clientSecret Kubernetes Secret with `tls.crt`, `tls.key`, `ca.crt` used as the mTLS client certificate against the LINSTOR controller. Created by the `linstor` package.
|
|
linstor:
|
|
endpoint: "https://linstor-controller.cozy-linstor.svc:3371"
|
|
clientSecret: "linstor-client-tls"
|