apiVersion: apps/v1 kind: Deployment metadata: name: umap namespace: {{ .namespace }} spec: replicas: 1 strategy: type: Recreate selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: seccompProfile: type: RuntimeDefault containers: - name: umap image: umap/umap:3.7.3 ports: - name: http containerPort: 8000 protocol: TCP env: - name: DATABASE_URL valueFrom: secretKeyRef: name: umap-secrets key: databaseUrl - name: SECRET_KEY valueFrom: secretKeyRef: name: umap-secrets key: secretKey - name: SITE_URL value: https://{{ .domain }} - name: STATIC_ROOT value: /srv/umap/static - name: MEDIA_ROOT value: /srv/umap/uploads - name: ALLOWED_HOSTS value: "{{ .domain }}" - name: CSRF_TRUSTED_ORIGINS value: "https://{{ .domain }}" resources: limits: cpu: 1000m ephemeral-storage: 1Gi memory: 512Mi requests: cpu: 50m ephemeral-storage: 50Mi memory: 256Mi volumeMounts: - name: umap-uploads mountPath: /srv/umap/uploads livenessProbe: httpGet: path: / port: 8000 httpHeaders: - name: Host value: "{{ .domain }}" initialDelaySeconds: 60 timeoutSeconds: 5 periodSeconds: 15 failureThreshold: 6 readinessProbe: httpGet: path: / port: 8000 httpHeaders: - name: Host value: "{{ .domain }}" initialDelaySeconds: 30 timeoutSeconds: 3 periodSeconds: 10 failureThreshold: 3 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL volumes: - name: umap-uploads persistentVolumeClaim: claimName: umap-uploads restartPolicy: Always