apiVersion: apps/v1 kind: Deployment metadata: name: mautic spec: replicas: 1 strategy: type: Recreate selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: runAsUser: 0 runAsNonRoot: false seccompProfile: type: RuntimeDefault containers: - name: mautic image: mautic/mautic:7.1.2-apache ports: - name: http containerPort: 80 protocol: TCP env: - name: MAUTIC_DB_HOST value: "{{ .db.host }}" - name: MAUTIC_DB_PORT value: "{{ .db.port }}" - name: MAUTIC_DB_DATABASE value: "{{ .db.name }}" - name: MAUTIC_DB_USER value: "{{ .db.user }}" - name: MAUTIC_DB_PASSWORD valueFrom: secretKeyRef: name: mautic-secrets key: dbPassword - name: MAUTIC_SITE_URL value: "{{ .siteUrl }}" - name: MAUTIC_ADMIN_EMAIL value: "{{ .adminEmail }}" - name: MAUTIC_ADMIN_PASSWORD valueFrom: secretKeyRef: name: mautic-secrets key: adminPassword - name: MAUTIC_SMTP_PASSWORD valueFrom: secretKeyRef: name: mautic-secrets key: smtp.password - name: MAUTIC_MAILER_DSN value: "smtp://{{ .smtp.user }}:$(MAUTIC_SMTP_PASSWORD)@{{ .smtp.host }}:{{ .smtp.port }}" resources: limits: cpu: "1" ephemeral-storage: 1Gi memory: 1Gi requests: cpu: 50m ephemeral-storage: 50Mi memory: 256Mi volumeMounts: - name: mautic-data mountPath: /var/www/html/docroot/media/files subPath: media-files - name: mautic-data mountPath: /var/www/html/docroot/media/images subPath: media-images - name: mautic-data mountPath: /var/www/html/var/logs subPath: logs livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 120 timeoutSeconds: 10 periodSeconds: 30 failureThreshold: 6 readinessProbe: httpGet: path: / port: 80 initialDelaySeconds: 60 timeoutSeconds: 5 periodSeconds: 10 failureThreshold: 6 securityContext: readOnlyRootFilesystem: false volumes: - name: mautic-data persistentVolumeClaim: claimName: mautic-data restartPolicy: Always