apiVersion: apps/v1 kind: Deployment metadata: name: keila spec: replicas: 1 selector: matchLabels: component: web template: metadata: labels: component: web spec: containers: - name: keila image: "{{ .image }}" ports: - containerPort: {{ .port }} env: - name: DB_URL valueFrom: secretKeyRef: name: keila-secrets key: dbUrl - name: URL_HOST value: "{{ .domain }}" - name: URL_SCHEMA value: https - name: URL_PORT value: "443" - name: PORT value: "{{ .port }}" - name: SECRET_KEY_BASE valueFrom: secretKeyRef: name: keila-secrets key: secretKeyBase - name: MAILER_SMTP_HOST value: "{{ .smtp.host }}" - name: MAILER_SMTP_PORT value: "{{ .smtp.port }}" - name: MAILER_ENABLE_SSL value: "{{ .smtp.tls }}" - name: MAILER_ENABLE_STARTTLS value: "{{ .smtp.startTls }}" - name: MAILER_SMTP_USER value: "{{ .smtp.user }}" - name: MAILER_SMTP_PASSWORD valueFrom: secretKeyRef: name: keila-secrets key: smtpPassword - name: MAILER_SMTP_FROM_EMAIL value: "{{ .smtp.from }}" - name: DISABLE_REGISTRATION value: "{{ .disableRegistration }}" - name: KEILA_USER value: "{{ .adminUser }}" - name: KEILA_PASSWORD valueFrom: secretKeyRef: name: keila-secrets key: adminPassword - name: USER_CONTENT_DIR value: /var/lib/keila/uploads volumeMounts: - name: uploads mountPath: /var/lib/keila/uploads livenessProbe: httpGet: path: / port: {{ .port }} initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: / port: {{ .port }} initialDelaySeconds: 5 periodSeconds: 5 volumes: - name: uploads persistentVolumeClaim: claimName: keila-uploads