mirror of
https://github.com/Noooste/garage-ui.git
synced 2026-07-26 07:48:13 +00:00
feat: bump version to 0.1.4 and appVersion to 0.0.10; update authentication secrets in deployment and values
Signed-off-by: Noste <83548733+Noooste@users.noreply.github.com>
This commit is contained in:
@@ -502,7 +502,7 @@ replicaCount: 2
|
||||
|
||||
image:
|
||||
repository: noooste/garage-ui
|
||||
tag: v0.0.4
|
||||
tag: latest
|
||||
|
||||
garage:
|
||||
endpoint: "http://garage.storage.svc.cluster.local:3900"
|
||||
|
||||
@@ -2,8 +2,8 @@ apiVersion: v2
|
||||
name: garage-ui
|
||||
description: A Helm chart for Garage UI - Web interface for Garage S3 object storage
|
||||
type: application
|
||||
version: 0.1.3
|
||||
appVersion: "v0.0.7"
|
||||
version: 0.1.4
|
||||
appVersion: "v0.0.10"
|
||||
keywords:
|
||||
- garage
|
||||
- s3
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
A Helm chart for deploying [Garage UI](https://github.com/Noooste/garage-ui), a modern web interface for managing [Garage](https://garagehq.deuxfleurs.fr/) distributed object storage systems.
|
||||
|
||||
[](Chart.yaml)
|
||||
[](Chart.yaml)
|
||||
[](Chart.yaml)
|
||||
[](Chart.yaml)
|
||||
|
||||
## Table of Contents
|
||||
|
||||
|
||||
@@ -8,4 +8,6 @@ data:
|
||||
config.yaml: |
|
||||
{{- $config := deepCopy .Values.config }}
|
||||
{{- $_ := unset $config.garage "admin_token" }}
|
||||
{{- $_2 := unset $config.auth.admin "password" }}
|
||||
{{- $_3 := unset $config.auth.oidc "client_secret" }}
|
||||
{{- $config | toYaml | nindent 4 }}
|
||||
|
||||
@@ -46,6 +46,30 @@ spec:
|
||||
name: {{ include "garage-ui.fullname" . }}-admin-token
|
||||
key: admin-token
|
||||
{{- end }}
|
||||
{{- if .Values.config.auth.oidc.enabled }}
|
||||
- name: GARAGE_UI_AUTH_OIDC_CLIENT_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
{{- if .Values.config.auth.oidc.existingSecret.name }}
|
||||
name: {{ .Values.config.auth.oidc.existingSecret.name }}
|
||||
key: {{ .Values.config.auth.oidc.existingSecret.key }}
|
||||
{{- else }}
|
||||
name: {{ include "garage-ui.fullname" . }}-oidc-client-secret
|
||||
key: client-secret
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.config.auth.admin.enabled }}
|
||||
- name: GARAGE_UI_AUTH_ADMIN_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
{{- if .Values.config.auth.admin.existingSecret.name }}
|
||||
name: {{ .Values.config.auth.admin.existingSecret.name }}
|
||||
key: {{ .Values.config.auth.admin.existingSecret.key }}
|
||||
{{- else }}
|
||||
name: {{ include "garage-ui.fullname" . }}-admin-password
|
||||
key: admin-password
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
||||
@@ -9,3 +9,31 @@ type: Opaque
|
||||
data:
|
||||
admin-token: {{ .Values.config.garage.admin_token | b64enc | quote }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- if and .Values.config.auth.admin.enabled (not .Values.config.auth.admin.existingSecret.name) }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "garage-ui.fullname" . }}-admin-password
|
||||
labels:
|
||||
{{- include "garage-ui.labels" . | nindent 4 }}
|
||||
type: Opaque
|
||||
data:
|
||||
{{- if .Values.config.auth.admin.password }}
|
||||
admin-password: {{ .Values.config.auth.admin.password | b64enc | quote }}
|
||||
{{- else }}
|
||||
admin-password: {{ randAlphaNum 32 | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- if and .Values.config.auth.oidc.enabled (not .Values.config.auth.oidc.existingSecret.name) .Values.config.auth.oidc.client_secret }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "garage-ui.fullname" . }}-oidc-client-secret
|
||||
labels:
|
||||
{{- include "garage-ui.labels" . | nindent 4 }}
|
||||
type: Opaque
|
||||
data:
|
||||
client-secret: {{ .Values.config.auth.oidc.client_secret | b64enc | quote }}
|
||||
{{- end }}
|
||||
|
||||
+58
-15
@@ -62,6 +62,21 @@ config:
|
||||
# Options: "production", "development", "staging"
|
||||
environment: "production"
|
||||
|
||||
# Domain name for the application
|
||||
# Example: "garage-ui.example.com"
|
||||
domain: "garage-ui.example.com"
|
||||
|
||||
# Protocol for internal communication
|
||||
# Options: "http", "https"
|
||||
# Keep as "http" for internal Kubernetes communication (TLS termination at ingress)
|
||||
protocol: "http"
|
||||
|
||||
# Full external URL for OAuth2 redirects and external links
|
||||
# This is the public-facing URL users access
|
||||
# Example: "https://garage-ui.example.com"
|
||||
# REQUIRED when OIDC authentication is enabled
|
||||
root_url: "https://garage-ui.example.com"
|
||||
|
||||
# ========================================
|
||||
# Garage S3 Storage Configuration
|
||||
# ========================================
|
||||
@@ -106,30 +121,44 @@ config:
|
||||
# ========================================
|
||||
# Authentication Configuration
|
||||
# ========================================
|
||||
# You can enable one or both authentication methods
|
||||
auth:
|
||||
# Authentication mode
|
||||
# Options:
|
||||
# "none" - No authentication (open access - not recommended for production)
|
||||
# "basic" - Simple username/password authentication
|
||||
# "oidc" - OpenID Connect integration (recommended for production)
|
||||
mode: "none"
|
||||
|
||||
# Basic Authentication Settings
|
||||
# Only used when mode = "basic"
|
||||
# Admin Authentication Settings
|
||||
# Provides simple username/password protection
|
||||
basic:
|
||||
# Username for basic auth login
|
||||
admin:
|
||||
# Enable or disable admin authentication
|
||||
# Set to true to enable username/password login
|
||||
enabled: false
|
||||
|
||||
# Username for admin login
|
||||
username: "admin"
|
||||
|
||||
# Password for basic auth login
|
||||
# IMPORTANT: Change this default password immediately!
|
||||
# Password for admin login
|
||||
# NOTE: If existingSecret is configured, this value will be ignored
|
||||
# Leave empty to auto-generate a random password (when existingSecret is not specified)
|
||||
password: "changeme"
|
||||
|
||||
# Use an existing Kubernetes secret for the admin password (recommended for production)
|
||||
# When configured, this takes precedence over the password value above
|
||||
# The secret should contain a key with the admin password value
|
||||
existingSecret:
|
||||
# Name of the existing secret containing the admin password
|
||||
# Leave empty to use the password value above or auto-generate
|
||||
# Example: "admin-credentials"
|
||||
name: ""
|
||||
|
||||
# Key within the secret that contains the admin password value
|
||||
# Default: "admin-password"
|
||||
key: "admin-password"
|
||||
|
||||
# OpenID Connect (OIDC) Configuration
|
||||
# Only used when mode = "oidc"
|
||||
# Integrates with identity providers like Keycloak, Auth0, Okta, etc.
|
||||
# NOTE: When OIDC is enabled, server.root_url must be configured
|
||||
# The OAuth2 redirect URL is automatically constructed as: {root_url}/auth/oidc/callback
|
||||
# Make sure to register this callback URL in your OIDC provider settings
|
||||
oidc:
|
||||
# Enable/disable OIDC (must be true when mode = "oidc")
|
||||
# Enable or disable OIDC authentication
|
||||
# Set to true to enable OIDC login
|
||||
enabled: false
|
||||
|
||||
# Display name of your OIDC provider
|
||||
@@ -142,8 +171,22 @@ config:
|
||||
|
||||
# OAuth2 client secret registered with your OIDC provider
|
||||
# IMPORTANT: Keep this secret secure! Consider using Kubernetes secrets
|
||||
# NOTE: If existingSecret is configured, this value will be ignored
|
||||
client_secret: "your-client-secret"
|
||||
|
||||
# Use an existing Kubernetes secret for the client secret (recommended for production)
|
||||
# When configured, this takes precedence over the client_secret value above
|
||||
# The secret should contain a key with the client secret value
|
||||
existingSecret:
|
||||
# Name of the existing secret containing the client secret
|
||||
# Leave empty to use the client_secret value above instead
|
||||
# Example: "oidc-client-secret"
|
||||
name: ""
|
||||
|
||||
# Key within the secret that contains the client secret value
|
||||
# Default: "client-secret"
|
||||
key: "client-secret"
|
||||
|
||||
# OAuth2/OIDC scopes to request during authentication
|
||||
# Standard scopes: openid (required), email, profile
|
||||
# Add custom scopes as needed by your provider
|
||||
|
||||
Reference in New Issue
Block a user