apiVersion: apps/v1 kind: Deployment metadata: name: splitpro namespace: splitpro spec: replicas: 1 revisionHistoryLimit: 3 selector: matchLabels: app.kubernetes.io/name: splitpro strategy: type: Recreate template: metadata: labels: app.kubernetes.io/name: splitpro spec: automountServiceAccountToken: false containers: - env: - name: DATABASE_URL valueFrom: secretKeyRef: key: uri name: splitpro-db-app - name: DEFAULT_HOMEPAGE value: /balances - name: HOSTNAME value: 0.0.0.0 - name: INVITE_ONLY value: "false" - name: NEXTAUTH_URL value: https://split.whyredfire.dev - name: NEXTAUTH_URL_INTERNAL value: http://localhost:3000 envFrom: - secretRef: name: splitpro image: ghcr.io/whyredfire/splitpro:529739ab7f506ce258f6d09596ed8bb0833c20c1 livenessProbe: httpGet: path: /api/auth/providers port: http name: splitpro ports: - containerPort: 3000 name: http readinessProbe: httpGet: path: /api/auth/providers port: http resources: limits: cpu: "1" memory: 1Gi requests: cpu: 50m memory: 256Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true startupProbe: failureThreshold: 60 httpGet: path: /api/auth/providers port: http periodSeconds: 5 volumeMounts: - mountPath: /app/uploads name: uploads - mountPath: /app/.next/cache name: cache - mountPath: /tmp name: tmp initContainers: - command: - sh - -c - until nc -z -w 2 splitpro-db-rw 5432; do echo waiting for database; sleep 2; done image: ghcr.io/whyredfire/splitpro:529739ab7f506ce258f6d09596ed8bb0833c20c1 name: wait-for-db securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true securityContext: fsGroup: 1000 runAsGroup: 1000 runAsNonRoot: true runAsUser: 1000 seccompProfile: type: RuntimeDefault volumes: - emptyDir: sizeLimit: 256Mi name: cache - emptyDir: sizeLimit: 256Mi name: tmp - name: uploads persistentVolumeClaim: claimName: splitpro-uploads