# MongoDB 7 — portal / platform-api application data (mirrors the dev stack). # Single-node StatefulSet on k3s local-path storage. App DBs/collections are # created by the apps on first use; root creds come from mongo-secret. apiVersion: v1 kind: Service metadata: name: mongo namespace: dezky-data spec: clusterIP: None # headless: stable DNS mongo.dezky-data:27017 selector: app: mongo ports: - name: mongo port: 27017 targetPort: 27017 --- apiVersion: apps/v1 kind: StatefulSet metadata: name: mongo namespace: dezky-data spec: serviceName: mongo replicas: 1 selector: matchLabels: app: mongo template: metadata: labels: app: mongo spec: containers: - name: mongo image: mongo:7 args: ["--bind_ip_all"] ports: - containerPort: 27017 env: - name: MONGO_INITDB_ROOT_USERNAME valueFrom: secretKeyRef: name: mongo-secret key: root-username - name: MONGO_INITDB_ROOT_PASSWORD valueFrom: secretKeyRef: name: mongo-secret key: root-password volumeMounts: - name: data mountPath: /data/db resources: requests: cpu: 100m memory: 256Mi limits: memory: 1Gi readinessProbe: exec: command: ["mongosh", "--quiet", "--eval", "db.adminCommand('ping')"] initialDelaySeconds: 15 periodSeconds: 10 livenessProbe: exec: command: ["mongosh", "--quiet", "--eval", "db.adminCommand('ping')"] initialDelaySeconds: 30 periodSeconds: 20 volumeClaimTemplates: - metadata: name: data spec: accessModes: ["ReadWriteOnce"] storageClassName: longhorn resources: requests: storage: 20Gi