{{/*
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/}}

{{- if .Values.manifests.deployment_backup }}
{{- $envAll := . }}

{{- $internal_ceph_backend := .Values.ceph_client.internal_ceph_backend }}

{{- $mounts_cinder_backup := .Values.pod.mounts.cinder_backup.cinder_backup }}
{{- $mounts_cinder_backup_init := .Values.pod.mounts.cinder_backup.init_container }}

{{- $serviceAccountName := "cinder-backup" }}
{{ tuple $envAll "backup" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cinder-backup
  annotations:
    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
  labels:
{{ tuple $envAll "cinder" "backup" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
spec:
  replicas: {{ .Values.pod.replicas.backup }}
  selector:
    matchLabels:
{{ tuple $envAll "cinder" "backup" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
  template:
    metadata:
      labels:
{{ tuple $envAll "cinder" "backup" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
      annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }}
        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
{{ tuple "cinder_backup" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }}
{{ dict "envAll" $envAll "podName" "cinder-backup" "containerNames" (list "cinder-backup" "ceph-coordination-volume-perms" "init") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }}
    spec:
{{ with .Values.pod.priorityClassName.cinder_backup }}
      priorityClassName: {{ . }}
{{ end }}
{{ with .Values.pod.runtimeClassName.cinder_backup }}
      runtimeClassName: {{ . }}
{{ end }}
      serviceAccountName: {{ $serviceAccountName }}
{{ dict "envAll" $envAll "application" "cinder_backup" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }}
      affinity:
{{ tuple $envAll "cinder" "backup" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
{{ if $envAll.Values.pod.tolerations.cinder.enabled }}
{{ tuple $envAll "cinder" | include "helm-toolkit.snippets.kubernetes_tolerations" | indent 6 }}
{{ end }}
      nodeSelector:
        {{ .Values.labels.backup.node_selector_key }}: {{ .Values.labels.backup.node_selector_value }}
{{- if .Values.pod.useHostNetwork.backup }}
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
{{- end }}
{{- if .Values.conf.enable_iscsi }}
      hostIPC: true
{{- end }}
      initContainers:
{{ tuple $envAll "backup" $mounts_cinder_backup_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
        {{- if (contains "cinder.backup.drivers.ceph" .Values.conf.cinder.DEFAULT.backup_driver) }}
        - name: ceph-backup-keyring-placement
{{ tuple $envAll "cinder_backup" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ dict "envAll" $envAll "application" "cinder_backup" "container" "ceph_backup_keyring_placement" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
          command:
            - /tmp/ceph-keyring.sh
          env:
            - name: RBD_USER
              value: {{ .Values.conf.cinder.DEFAULT.backup_ceph_user | quote }}
          volumeMounts:
            - name: pod-tmp
              mountPath: /tmp
            - name: etcceph
              mountPath: /etc/ceph
            - name: cinder-bin
              mountPath: /tmp/ceph-keyring.sh
              subPath: ceph-keyring.sh
              readOnly: true
            - name: ceph-backup-keyring
              mountPath: /tmp/client-keyring
              subPath: key
              readOnly: true
        {{ end }}
        {{- range $name := rest (splitList "," (include "cinder.utils.ceph_backend_list" $envAll)) }}
          {{- $backend := index $envAll.Values.conf.backends $name }}
            {{- if eq $internal_ceph_backend $name }}
        - name: ceph-keyring-placement-{{ $name | lower }}
{{ tuple $envAll "cinder_backup" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ dict "envAll" $envAll "application" "cinder_backup" "container" "ceph_keyring_placement" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
          command:
            - /tmp/ceph-keyring.sh
          env:
            - name: RBD_USER
              value: {{ $backend.rbd_user | quote }}
{{- if and $envAll.Values.ceph_client.enable_external_ceph_backend $envAll.Values.ceph_client.external_ceph.rbd_user }}
            - name: EXTERNAL_RBD_USER
              value: {{ $envAll.Values.ceph_client.external_ceph.rbd_user | quote }}
{{- end }}
          volumeMounts:
            - name: pod-tmp
              mountPath: /tmp
            - name: etcceph
              mountPath: /etc/ceph
            - name: cinder-bin
              mountPath: /tmp/ceph-keyring.sh
              subPath: ceph-keyring.sh
              readOnly: true
            - name: ceph-keyring
              mountPath: /tmp/client-keyring
              subPath: key
              readOnly: true
           {{- if and $envAll.Values.ceph_client.enable_external_ceph_backend $envAll.Values.ceph_client.external_ceph.rbd_user }}
            - name: external-ceph-keyring
              mountPath: /tmp/external-ceph-client-keyring
              subPath: key
              readOnly: true
            {{- end }}
            {{- end }}
        {{- end }}
        {{- if (contains "cinder.backup.drivers.posix" .Values.conf.cinder.DEFAULT.backup_driver) }}
        - name: ceph-backup-volume-perms
{{ tuple $envAll "cinder_backup" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ dict "envAll" $envAll "application" "cinder_backup" "container" "ceph_backup_volume_perms" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
          command:
            - chown
            - -R
            - "cinder:"
            - {{ .Values.conf.cinder.DEFAULT.backup_posix_path }}
          volumeMounts:
            - name: pod-tmp
              mountPath: /tmp
            - name: cinder-backup
              mountPath: {{ .Values.conf.cinder.DEFAULT.backup_posix_path }}
        {{ end }}
        {{- if eq ( split "://" .Values.conf.cinder.coordination.backend_url )._0 "file" }}
        - name: ceph-coordination-volume-perms
{{ tuple $envAll "cinder_backup" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ dict "envAll" $envAll "application" "cinder_backup" "container" "ceph_coordination_volume_perms" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
          command:
            - chown
            - -R
            - "cinder:"
            - {{ ( split "://" .Values.conf.cinder.coordination.backend_url )._1 }}
          volumeMounts:
            - name: pod-tmp
              mountPath: /tmp
            - name: cinder-coordination
              mountPath: {{ ( split "://" .Values.conf.cinder.coordination.backend_url )._1 }}
        {{ end }}
      containers:
        - name: cinder-backup
{{ tuple $envAll "cinder_backup" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ tuple $envAll $envAll.Values.pod.resources.backup | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
{{ dict "envAll" $envAll "application" "cinder_backup" "container" "cinder_backup" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
          command:
            - /tmp/cinder-backup.sh
          terminationMessagePath: /var/log/termination-log
          volumeMounts:
            - name: pod-tmp
              mountPath: /tmp
            - name: cinder-tmp
              mountPath: /var/lib/cinder/tmp
            - name: cinder-bin
              mountPath: /tmp/cinder-backup.sh
              subPath: cinder-backup.sh
              readOnly: true
            - name: cinder-etc
              mountPath: /etc/cinder/cinder.conf
              subPath: cinder.conf
              readOnly: true
            {{- if .Values.conf.cinder.DEFAULT.log_config_append }}
            - name: cinder-etc
              mountPath: {{ .Values.conf.cinder.DEFAULT.log_config_append }}
              subPath: {{ base .Values.conf.cinder.DEFAULT.log_config_append }}
              readOnly: true
            {{- end }}
            {{ if or (contains "cinder.backup.drivers.ceph" .Values.conf.cinder.DEFAULT.backup_driver) (eq "true" (include "cinder.utils.has_ceph_backend" $envAll)) }}
            - name: etcceph
              mountPath: /etc/ceph
            {{- if not .Values.backup.external_ceph_rbd.enabled }}
            - name: ceph-etc
              mountPath: /etc/ceph/ceph.conf
              subPath: ceph.conf
              readOnly: true
            {{- else if .Values.backup.external_ceph_rbd.configmap }}
            - name: external-backup-ceph-etc
              mountPath: /etc/ceph/ceph.conf
              subPath: ceph.conf
              readOnly: true
            {{- else }}
            - name: cinder-etc
              mountPath: /etc/ceph/ceph.conf
              subPath: external-backup-ceph.conf
              readOnly: true
            {{- end }}
            {{- if (contains "cinder.backup.drivers.ceph" .Values.conf.cinder.DEFAULT.backup_driver) }}
            - name: ceph-backup-keyring
              mountPath: /tmp/client-keyring
              subPath: key
              readOnly: true
            {{- else }}
            - name: ceph-keyring
              mountPath: /tmp/client-keyring
              subPath: key
              readOnly: true
            {{- end }}
            {{- if .Values.ceph_client.enable_external_ceph_backend }}
            {{- if .Values.ceph_client.external_ceph.configmap }}
            - name: external-ceph-etc
              mountPath: /etc/ceph/external-ceph.conf
              subPath: external-ceph.conf
              readOnly: true
            {{- else }}
            - name: cinder-etc
              mountPath: /etc/ceph/external-ceph.conf
              subPath: external-ceph.conf
              readOnly: true
            {{- end }}
            {{- if .Values.ceph_client.external_ceph.rbd_user }}
            - name: external-ceph-keyring
              mountPath: /tmp/external-ceph-client-keyring
              subPath: key
              readOnly: true
            {{- end }}
            {{- end }}
            {{- end }}
            {{- if (contains "cinder.backup.drivers.posix" .Values.conf.cinder.DEFAULT.backup_driver) }}
            - name: cinder-backup
              mountPath: {{ .Values.conf.cinder.DEFAULT.backup_posix_path }}
            {{- end }}
            {{- if eq ( split "://" .Values.conf.cinder.coordination.backend_url )._0 "file" }}
            - name: cinder-coordination
              mountPath: {{ ( split "://" .Values.conf.cinder.coordination.backend_url )._1 }}
            {{- end }}
            - name: cinder-etc
              # NOTE (Portdirect): We mount here to override Kollas
              # custom sudoers file when using Kolla images, this
              # location will also work fine for other images.
              mountPath: /etc/sudoers.d/kolla_cinder_sudoers
              subPath: cinder_sudoers
              readOnly: true
            - name: cinder-etc
              mountPath: /etc/sudoers.d/kolla_cinder_volume_sudoers
              subPath: cinder_sudoers
              readOnly: true
            - name: cinder-etc
              mountPath: /etc/cinder/rootwrap.conf
              subPath: rootwrap.conf
              readOnly: true
            - name: cinder-etc
              mountPath: /etc/cinder/rootwrap.d/volume.filters
              subPath: volume.filters
              readOnly: true
            {{- if .Values.conf.enable_iscsi }}
            - name: host-rootfs
              mountPath: /mnt/host-rootfs
              {{- if or ( gt .Capabilities.KubeVersion.Major "1" ) ( ge .Capabilities.KubeVersion.Minor "10" ) }}
              mountPropagation: HostToContainer
              {{- end }}
            - name: host-dev
              mountPath: /dev
              {{- if or ( gt .Capabilities.KubeVersion.Major "1" ) ( ge .Capabilities.KubeVersion.Minor "10" ) }}
              mountPropagation: HostToContainer
              {{- end }}
            - name: runlock
              mountPath: /run/lock
            - name: etciscsi
              mountPath: /etc/iscsi
              {{- if or ( gt .Capabilities.KubeVersion.Major "1" ) ( ge .Capabilities.KubeVersion.Minor "10" ) }}
              mountPropagation: HostToContainer
              {{- end }}
            - name: usrlocalsbin
              mountPath: /usr/local/sbin
            - name: cinder-bin
              mountPath: /usr/local/sbin/iscsiadm
              subPath: iscsiadm
            {{- end }}
{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.endpoints.oslo_db.auth.admin.secret.tls.internal "path" "/etc/mysql/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.endpoints.oslo_messaging.auth.admin.secret.tls.internal "path" "/etc/rabbitmq/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
{{ if $mounts_cinder_backup.volumeMounts }}{{ toYaml $mounts_cinder_backup.volumeMounts | indent 12 }}{{ end }}
      volumes:
        - name: pod-tmp
          emptyDir: {}
        - name: cinder-tmp
          emptyDir: {}
        - name: cinder-etc
          secret:
            secretName: cinder-etc
            defaultMode: 0444
        - name: cinder-bin
          configMap:
            name: cinder-bin
            defaultMode: 0555
        {{ if or (contains "cinder.backup.drivers.ceph" .Values.conf.cinder.DEFAULT.backup_driver) (eq "true" (include "cinder.utils.has_ceph_backend" $envAll)) }}
        - name: etcceph
          emptyDir: {}
        {{- if and .Values.backup.external_ceph_rbd.enabled .Values.backup.external_ceph_rbd.configmap }}
        - name: external-backup-ceph-etc
          configMap:
            name: {{ .Values.backup.external_ceph_rbd.configmap }}
            defaultMode: 0444
        {{- end }}
        - name: ceph-etc
          configMap:
            name: {{ .Values.ceph_client.configmap }}
            defaultMode: 0444
        {{- if and .Values.ceph_client.enable_external_ceph_backend .Values.ceph_client.external_ceph.configmap }}
        - name: external-ceph-etc
          configMap:
            name: {{ .Values.ceph_client.external_ceph.configmap }}
            defaultMode: 0444
        {{- end }}
        {{ end }}
        {{- if (contains "cinder.backup.drivers.ceph" .Values.conf.cinder.DEFAULT.backup_driver) }}
        - name: ceph-backup-keyring
          secret:
            secretName: {{ .Values.secrets.rbd.backup | quote }}
        {{ end }}
        {{- if eq "true" (include "cinder.utils.has_ceph_backend" $envAll) }}
        - name: ceph-keyring
          secret:
            secretName: {{ .Values.secrets.rbd.volume | quote }}
        {{- if and .Values.ceph_client.enable_external_ceph_backend .Values.ceph_client.external_ceph.rbd_user }}
        - name: external-ceph-keyring
          secret:
            secretName: {{ .Values.secrets.rbd.volume_external | quote }}
        {{ end }}
        {{ end }}
        {{- if (contains "cinder.backup.drivers.posix" .Values.conf.cinder.DEFAULT.backup_driver) }}
        - name: cinder-backup
          persistentVolumeClaim:
            claimName: cinder-backup
        {{- end }}
        {{- if eq ( split "://" .Values.conf.cinder.coordination.backend_url )._0 "file" }}
        # NOTE (portdirect): this will need to be set to a shared mount amongst all cinder
        # pods for the coordination backend to be fully functional.
        - name: cinder-coordination
          emptyDir: {}
        {{- end }}
        {{- if .Values.conf.enable_iscsi }}
        - name: host-rootfs
          hostPath:
            path: /
        - name: host-dev
          hostPath:
            path: /dev
        - name: runlock
          hostPath:
            path: /run/lock
        - name: etciscsi
          hostPath:
            path: /etc/iscsi
        - name: usrlocalsbin
          emptyDir: {}
        {{- end }}
{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.endpoints.oslo_db.auth.admin.secret.tls.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.endpoints.oslo_messaging.auth.admin.secret.tls.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
{{ if $mounts_cinder_backup.volumes }}{{ toYaml $mounts_cinder_backup.volumes | indent 8 }}{{ end }}
{{- end }}
