k8s-and-chill/rendered/envs/production/ocis/cronjob-storage-users-clean-expired-uploads.yaml
Felix Wolf 9d89231de4 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:22:32 +02:00

124 lines
4.2 KiB
YAML

apiVersion: batch/v1
kind: CronJob
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: storage-users-clean-expired-uploads
namespace: ocis
spec:
concurrencyPolicy: Forbid
failedJobsHistoryLimit: 3
jobTemplate:
spec:
parallelism: 1
template:
metadata:
labels:
app: storage-users-clean-expired-uploads
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:
- storage-users
- uploads
- sessions
- --clean
- --expired
- --processing=false
command:
- ocis
env:
- name: MICRO_REGISTRY
value: nats-js-kv
- name: MICRO_REGISTRY_ADDRESS
value: nats:9233
- name: STORAGE_USERS_LOG_COLOR
value: "false"
- name: STORAGE_USERS_LOG_LEVEL
value: info
- name: STORAGE_USERS_LOG_PRETTY
value: "false"
- name: STORAGE_USERS_DRIVER
value: s3ng
- name: STORAGE_USERS_S3NG_ENDPOINT
value: https://nbg1.your-objectstorage.com
- name: STORAGE_USERS_S3NG_REGION
value: nbg1
- name: STORAGE_USERS_S3NG_ACCESS_KEY
valueFrom:
secretKeyRef:
key: accessKey
name: ocis-s3-credentials
- name: STORAGE_USERS_S3NG_SECRET_KEY
valueFrom:
secretKeyRef:
key: secretKey
name: ocis-s3-credentials
- name: STORAGE_USERS_S3NG_BUCKET
value: ocis-tr1ceracop
- name: STORAGE_USERS_JWT_SECRET
valueFrom:
secretKeyRef:
key: jwt-secret
name: ocis-jwt-secret
- name: OCIS_TRANSFER_SECRET
valueFrom:
secretKeyRef:
key: transfer-secret
name: ocis-transfer-secret
- name: STORAGE_USERS_MOUNT_ID
valueFrom:
configMapKeyRef:
key: storage-uuid
name: storage-users
- name: STORAGE_USERS_SERVICE_ACCOUNT_ID
valueFrom:
configMapKeyRef:
key: service-account-id
name: auth-service
- name: STORAGE_USERS_SERVICE_ACCOUNT_SECRET
valueFrom:
secretKeyRef:
key: service-account-secret
name: ocis-service-account-secret
image: owncloud/ocis:7.1.4
imagePullPolicy: IfNotPresent
name: storage-users-clean-expired-uploads
resources: {}
securityContext:
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
volumeMounts:
- mountPath: /tmp
name: tmp-volume
- mountPath: /var/lib/ocis
name: storageusers-data
nodeSelector: {}
restartPolicy: Never
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
volumes:
- emptyDir: {}
name: tmp-volume
- name: storageusers-data
persistentVolumeClaim:
claimName: storageusers-data
ttlSecondsAfterFinished: 86400
schedule: 0 * * * *
startingDeadlineSeconds: 600
successfulJobsHistoryLimit: 3
suspend: true