fix: corrected ApplicationSet template, drop secret stubs from manifests

- appset: goTemplate, filename-based app names, .path.path IS the directory,
  exclude apps/root from the glob (v3.5 git files-generator schema)
- remove empty Secret stubs: with prune:true they would overwrite live
  secret values (openwebui, paperless, vaultwarden-admin-token, password)
- secrets stay cluster-managed, not in git
This commit is contained in:
2026-08-28 16:15:08 -03:00
parent 35a65fe436
commit 510e18e5dc
17 changed files with 2138 additions and 5 deletions
+120
View File
@@ -0,0 +1,120 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: openwebui
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: openwebui
strategy:
type: Recreate
template:
metadata:
labels:
app: openwebui
spec:
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- iris
weight: 100
containers:
- env:
- name: PUID
value: '1000'
- name: PGID
value: '1000'
- name: TZ
value: America/Sao_Paulo
- name: DATABASE_URL
valueFrom:
secretKeyRef:
key: DATABASE_URL
name: openwebui-secret
- name: PLAYWRIGHT_WS_URL
value: ws://browserless.default.svc.cluster.local:3000
image: ghcr.io/open-webui/open-webui:main-slim
imagePullPolicy: Always
name: openwebui
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: '1'
memory: 2Gi
requests:
cpu: 250m
memory: 512Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /app/backend/data
name: openwebui-data
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: openwebui-data
persistentVolumeClaim:
claimName: openwebui-data
apiVersion: v1
kind: Service
metadata:
name: openwebui
namespace: default
spec:
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: openwebui
sessionAffinity: None
type: ClusterIP
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: openwebui
namespace: default
spec:
ingressClassName: nginx
rules:
- host: openwebui.haven
http:
paths:
- backend:
service:
name: openwebui
port:
number: 8080
path: /
pathType: Prefix
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: openwebui-data
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
limits:
storage: 10Gi
requests:
storage: 5Gi
storageClassName: nfs-client
volumeMode: Filesystem