apiVersion: apps/v1 kind: Deployment metadata: name: limesurvey namespace: limesurvey spec: replicas: 1 strategy: type: Recreate selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: runAsNonRoot: true runAsUser: 33 runAsGroup: 33 fsGroup: 33 seccompProfile: type: RuntimeDefault containers: - name: limesurvey image: martialblog/limesurvey:6.17.5-260527-apache ports: - name: http containerPort: 8080 protocol: TCP env: - name: DB_TYPE value: pgsql - name: DB_HOST value: "{{ .db.host }}" - name: DB_PORT value: "{{ .db.port }}" - name: DB_NAME value: "{{ .db.name }}" - name: DB_USERNAME value: "{{ .db.user }}" - name: DB_PASSWORD valueFrom: secretKeyRef: name: limesurvey-secrets key: dbPassword - name: ADMIN_USER value: "{{ .adminUser }}" - name: ADMIN_NAME value: "{{ .adminUser }}" - name: ADMIN_EMAIL value: "{{ .adminEmail }}" - name: ADMIN_PASSWORD valueFrom: secretKeyRef: name: limesurvey-secrets key: adminPassword - name: BASE_URL value: "https://{{ .domain }}" - name: URL_FORMAT value: path - name: SHOW_SCRIPT_NAME value: "false" resources: limits: cpu: "1" ephemeral-storage: 1Gi memory: 512Mi requests: cpu: 50m ephemeral-storage: 50Mi memory: 256Mi volumeMounts: - name: limesurvey-data mountPath: /var/www/html/upload livenessProbe: httpGet: path: /index.php port: 8080 initialDelaySeconds: 120 timeoutSeconds: 10 periodSeconds: 30 failureThreshold: 6 readinessProbe: httpGet: path: /index.php port: 8080 initialDelaySeconds: 60 timeoutSeconds: 5 periodSeconds: 15 failureThreshold: 3 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: false volumes: - name: limesurvey-data persistentVolumeClaim: claimName: limesurvey-data restartPolicy: Always