homelab/k3s/garage/garage-webui.yaml
2026-04-18 18:28:55 -04:00

63 lines
1.7 KiB
YAML

# Garage Web UI — khairul169/garage-webui
# Talks to garage-admin (3903) + garage (3900) via in-cluster DNS.
# NodePort 32391 — log in with admin / <pass show homelab/GARAGE_WEBUI_PASSWORD>
#
# Deploy:
# # Generate bcrypt-hashed AUTH_USER_PASS from homelab/GARAGE_WEBUI_PASSWORD:
# PASSWORD=$(pass show homelab/GARAGE_WEBUI_PASSWORD)
# HASH=$(python3 -c "import bcrypt,sys; print(bcrypt.hashpw(sys.argv[1].encode(),bcrypt.gensalt(10)).decode())" "$PASSWORD")
# kubectl create secret generic garage-webui-secret \
# --from-literal=auth-user-pass="admin:$HASH"
# kubectl apply -f garage-webui.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: garage-webui
spec:
replicas: 1
selector:
matchLabels:
app: garage-webui
template:
metadata:
labels:
app: garage-webui
spec:
containers:
- name: garage-webui
image: khairul169/garage-webui:latest
env:
- name: API_BASE_URL
value: "http://garage-admin:3903"
- name: API_ADMIN_KEY
valueFrom:
secretKeyRef:
name: garage-secret
key: admin-token
- name: S3_ENDPOINT_URL
value: "https://s3.sjasoft.com"
- name: S3_REGION
value: "garage"
- name: AUTH_USER_PASS
valueFrom:
secretKeyRef:
name: garage-webui-secret
key: auth-user-pass
ports:
- containerPort: 3909
---
apiVersion: v1
kind: Service
metadata:
name: garage-webui
spec:
selector:
app: garage-webui
ports:
- port: 3909
targetPort: 3909
nodePort: 32391
type: NodePort