apiVersion: apps/v1 kind: Deployment metadata: name: splitpro namespace: splitpro spec: replicas: 1 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:62e724ee02accaf3dfca7965f9bd778eb44b1271 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 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