k8s-and-chill/rendered/envs/production/ocis/deployment-gateway.yaml
Felix Wolf e813bd0a36 fix(ocis): Move secret generation to PreSync init Job
Removes all 13 Helm-generated secrets from rendered output and instead
generates them at deploy time via an init Job. The Job creates secrets
with random credentials only if they don't already exist, ensuring
idempotent deploys. Runs as ArgoCD PreSync hook so secrets are ready
before oCIS pods start.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:18:00 +02:00

123 lines
3.5 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
a8r.io/repository: ssh://git@git.tr1ceracop.de:222/gitea_admin/k8s-and-chill.git
labels:
app.kubernetes.io/instance: ocis
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ocis
app.kubernetes.io/version: 7.1.4
helm.sh/chart: ocis-0.7.0
name: gateway
namespace: ocis
spec:
replicas: 1
selector:
matchLabels:
app: gateway
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: gateway
app.kubernetes.io/instance: ocis
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ocis
app.kubernetes.io/version: 7.1.4
helm.sh/chart: ocis-0.7.0
spec:
containers:
- args:
- gateway
- server
command:
- ocis
env:
- name: MICRO_REGISTRY
value: nats-js-kv
- name: MICRO_REGISTRY_ADDRESS
value: nats:9233
- name: GATEWAY_LOG_COLOR
value: "false"
- name: GATEWAY_LOG_LEVEL
value: info
- name: GATEWAY_LOG_PRETTY
value: "false"
- name: GATEWAY_TRACING_ENABLED
value: "false"
- name: GATEWAY_TRACING_TYPE
value: jaeger
- name: GATEWAY_TRACING_ENDPOINT
value: null
- name: GATEWAY_TRACING_COLLECTOR
value: null
- name: GATEWAY_DEBUG_PPROF
value: "false"
- name: GATEWAY_GRPC_ADDR
value: 0.0.0.0:9142
- name: GATEWAY_DEBUG_ADDR
value: 0.0.0.0:9143
- name: GATEWAY_FRONTEND_PUBLIC_URL
value: https://drive.tr1ceracop.de
- name: GATEWAY_STAT_CACHE_STORE
value: noop
- name: GATEWAY_PROVIDER_CACHE_STORE
value: noop
- name: GATEWAY_CREATE_HOME_CACHE_STORE
value: memory
- name: GATEWAY_STORAGE_USERS_MOUNT_ID
valueFrom:
configMapKeyRef:
key: storage-uuid
name: storage-users
- name: GATEWAY_JWT_SECRET
valueFrom:
secretKeyRef:
key: jwt-secret
name: ocis-jwt-secret
- name: OCIS_TRANSFER_SECRET
valueFrom:
secretKeyRef:
key: transfer-secret
name: ocis-transfer-secret
image: owncloud/ocis:7.1.4
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /healthz
port: metrics-debug
initialDelaySeconds: 60
periodSeconds: 20
timeoutSeconds: 10
name: gateway
ports:
- containerPort: 9142
name: grpc
- containerPort: 9143
name: metrics-debug
resources:
requests:
cpu: 10m
memory: 64Mi
securityContext:
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
volumeMounts:
- mountPath: /tmp
name: tmp-volume
nodeSelector: {}
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
volumes:
- emptyDir: {}
name: tmp-volume