apiVersion: apps/v1 kind: Deployment metadata: name: mobilizon namespace: {{ .namespace }} spec: replicas: 1 strategy: type: Recreate selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: runAsNonRoot: true runAsUser: 65534 runAsGroup: 65534 fsGroup: 65534 seccompProfile: type: RuntimeDefault containers: - name: mobilizon image: docker.io/kaihuri/mobilizon:5.2.3 ports: - name: http containerPort: 4000 protocol: TCP env: - name: MOBILIZON_DATABASE_HOST value: {{ .db.host }} - name: MOBILIZON_DATABASE_PORT value: "{{ .db.port }}" - name: MOBILIZON_DATABASE_DBNAME value: {{ .db.name }} - name: MOBILIZON_DATABASE_USERNAME value: {{ .db.user }} - name: MOBILIZON_DATABASE_PASSWORD valueFrom: secretKeyRef: name: mobilizon-secrets key: dbPassword - name: MOBILIZON_DATABASE_SSL value: "false" - name: MOBILIZON_INSTANCE_NAME value: {{ .instanceName }} - name: MOBILIZON_INSTANCE_HOST value: {{ .domain }} - name: MOBILIZON_INSTANCE_PORT value: "4000" - name: MOBILIZON_INSTANCE_LISTEN_IP value: "0.0.0.0" - name: MOBILIZON_INSTANCE_EMAIL value: {{ .instanceEmail }} - name: MOBILIZON_REPLY_EMAIL value: {{ .instanceEmail }} - name: MOBILIZON_INSTANCE_REGISTRATIONS_OPEN value: "false" - name: MOBILIZON_INSTANCE_SECRET_KEY_BASE valueFrom: secretKeyRef: name: mobilizon-secrets key: secretKeyBase - name: MOBILIZON_INSTANCE_SECRET_KEY valueFrom: secretKeyRef: name: mobilizon-secrets key: secretKey - name: MOBILIZON_SMTP_SERVER value: {{ .smtp.host }} - name: MOBILIZON_SMTP_PORT value: "{{ .smtp.port }}" - name: MOBILIZON_SMTP_USERNAME value: {{ .smtp.user }} - name: MOBILIZON_SMTP_PASSWORD valueFrom: secretKeyRef: name: mobilizon-secrets key: smtp.password - name: MOBILIZON_SMTP_TLS value: "if_available" - name: MOBILIZON_SMTP_SSL value: "false" - name: MOBILIZON_SMTP_AUTH value: "if_available" volumeMounts: - name: mobilizon-data mountPath: /app/uploads startupProbe: httpGet: path: / port: http initialDelaySeconds: 60 timeoutSeconds: 5 periodSeconds: 10 failureThreshold: 60 livenessProbe: httpGet: path: / port: http timeoutSeconds: 10 periodSeconds: 30 failureThreshold: 3 readinessProbe: httpGet: path: / port: http timeoutSeconds: 5 periodSeconds: 15 failureThreshold: 3 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: false volumes: - name: mobilizon-data persistentVolumeClaim: claimName: mobilizon-data restartPolicy: Always