apiVersion: apps/v1 kind: Deployment metadata: name: baserow namespace: {{ .namespace }} spec: replicas: 1 strategy: type: Recreate selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: runAsNonRoot: false runAsUser: 0 seccompProfile: type: RuntimeDefault containers: - name: baserow image: baserow/baserow:2.2.2 ports: - name: http containerPort: 80 protocol: TCP env: - name: BASEROW_PUBLIC_URL value: https://{{ .domain }} - name: DATABASE_HOST value: "{{ .db.host }}" - name: DATABASE_PORT value: "{{ .db.port }}" - name: DATABASE_NAME value: "{{ .db.name }}" - name: DATABASE_USER value: "{{ .db.user }}" - name: DATABASE_PASSWORD valueFrom: secretKeyRef: name: baserow-secrets key: dbPassword - name: REDIS_HOST value: "{{ .redis.host }}" - name: REDIS_PORT value: "6379" - name: REDIS_PASSWORD valueFrom: secretKeyRef: name: baserow-secrets key: redis.password - name: SECRET_KEY valueFrom: secretKeyRef: name: baserow-secrets key: secretKey resources: limits: cpu: "2" ephemeral-storage: 1Gi memory: 2Gi requests: cpu: 50m ephemeral-storage: 50Mi memory: 256Mi volumeMounts: - name: baserow-data mountPath: /baserow/data securityContext: runAsNonRoot: false runAsUser: 0 allowPrivilegeEscalation: false capabilities: drop: [ALL] readOnlyRootFilesystem: false seccompProfile: type: RuntimeDefault livenessProbe: httpGet: path: /api/_health/ port: 80 httpHeaders: - name: Host value: "{{ .domain }}" initialDelaySeconds: 300 timeoutSeconds: 10 periodSeconds: 30 failureThreshold: 6 readinessProbe: httpGet: path: /api/_health/ port: 80 httpHeaders: - name: Host value: "{{ .domain }}" initialDelaySeconds: 120 timeoutSeconds: 5 periodSeconds: 15 failureThreshold: 6 volumes: - name: baserow-data persistentVolumeClaim: claimName: baserow-data restartPolicy: Always