apiVersion: apps/v1 kind: Deployment metadata: name: gancio namespace: gancio spec: replicas: 1 strategy: type: Recreate selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: runAsNonRoot: true runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 seccompProfile: type: RuntimeDefault containers: - name: gancio image: cisti/gancio:1.28.2 ports: - name: http containerPort: 13120 protocol: TCP env: - name: NODE_ENV value: production - name: GANCIO_DATA value: /home/node/data - name: GANCIO_DB_DIALECT value: postgres - name: GANCIO_DB_HOST value: {{ .db.host }} - name: GANCIO_DB_PORT value: "{{ .db.port }}" - name: GANCIO_DB_DATABASE value: {{ .db.name }} - name: GANCIO_DB_USERNAME value: {{ .db.user }} - name: GANCIO_DB_PASSWORD valueFrom: secretKeyRef: name: gancio-secrets key: dbPassword - name: GANCIO_PORT value: "13120" resources: limits: cpu: 1000m ephemeral-storage: 1Gi memory: 1Gi requests: cpu: 50m ephemeral-storage: 50Mi memory: 256Mi volumeMounts: - name: gancio-data mountPath: /home/node/data livenessProbe: httpGet: path: / port: 13120 initialDelaySeconds: 60 timeoutSeconds: 5 periodSeconds: 15 failureThreshold: 6 readinessProbe: httpGet: path: / port: 13120 initialDelaySeconds: 30 timeoutSeconds: 3 periodSeconds: 10 failureThreshold: 3 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: false volumes: - name: gancio-data persistentVolumeClaim: claimName: gancio-data restartPolicy: Always