{{/*
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_api }}
{{- $envAll := . }}

{{- $mounts_cinder_api := .Values.pod.mounts.cinder_api.cinder_api }}
{{- $mounts_cinder_api_init := .Values.pod.mounts.cinder_api.init_container }}

{{- $serviceAccountName := "cinder-api" }}
{{ tuple $envAll "api" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cinder-api
  annotations:
    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
  labels:
{{ tuple $envAll "cinder" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
spec:
  replicas: {{ .Values.pod.replicas.api }}
  selector:
    matchLabels:
{{ tuple $envAll "cinder" "api" | 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" "api" | 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_api" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }}
{{ dict "envAll" $envAll "podName" "cinder-api" "containerNames" (list "cinder-api" "ceph-coordination-volume-perms" "init") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }}
    spec:
{{ with .Values.pod.priorityClassName.cinder_api }}
      priorityClassName: {{ . }}
{{ end }}
{{ with .Values.pod.runtimeClassName.cinder_api }}
      runtimeClassName: {{ . }}
{{ end }}
      serviceAccountName: {{ $serviceAccountName }}
{{ dict "envAll" $envAll "application" "cinder_api" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }}
      affinity:
{{ tuple $envAll "cinder" "api" | 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.api.node_selector_key }}: {{ .Values.labels.api.node_selector_value }}
      terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.api.timeout | default "30" }}
      initContainers:
{{ tuple $envAll "api" $mounts_cinder_api_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
        {{- if eq ( split "://" .Values.conf.cinder.coordination.backend_url )._0 "file" }}
        - name: ceph-coordination-volume-perms
{{ tuple $envAll "cinder_api" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ dict "envAll" $envAll "application" "cinder_api" "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-api
{{ tuple $envAll "cinder_api" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ tuple $envAll $envAll.Values.pod.resources.api | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
{{ dict "envAll" $envAll "application" "cinder_api" "container" "cinder_api" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
          command:
            - /tmp/cinder-api.sh
            - start
          env:
{{- if or .Values.manifests.certificates .Values.tls.identity }}
            - name: REQUESTS_CA_BUNDLE
              value: "/etc/cinder/certs/ca.crt"
{{- end }}
          lifecycle:
            preStop:
              exec:
                command:
                  - /tmp/cinder-api.sh
                  - stop
          ports:
            - name: c-api
              containerPort: {{ tuple "volume" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
          readinessProbe:
            httpGet:
              scheme: {{ tuple "volume" "service" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_scheme_lookup" | upper }}
              path: /
              port: {{ tuple "volume" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
            initialDelaySeconds: 30
          livenessProbe:
            httpGet:
              scheme: {{ tuple "volume" "service" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_scheme_lookup" | upper }}
              path: /
              port: {{ tuple "volume" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
            initialDelaySeconds: 5
            failureThreshold: 3
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          volumeMounts:
            - name: pod-tmp
              mountPath: /tmp
            - name: wsgi-cinder
              mountPath: /var/www/cgi-bin/cinder
            - name: cinder-bin
              mountPath: /tmp/cinder-api.sh
              subPath: cinder-api.sh
              readOnly: true
            - name: cinder-etc
              mountPath: /etc/cinder/cinder-api-uwsgi.ini
              subPath: cinder-api-uwsgi.ini
              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 }}
            - name: cinder-etc
              mountPath: /etc/cinder/api-paste.ini
              subPath: api-paste.ini
              readOnly: true
            - name: cinder-etc
              mountPath: /etc/cinder/policy.yaml
              subPath: policy.yaml
              readOnly: true
            - name: cinder-etc
              mountPath: /etc/cinder/api_audit_map.conf
              subPath: api_audit_map.conf
              readOnly: true
            - name: cinder-etc
              mountPath: {{ .Values.conf.cinder.DEFAULT.resource_query_filters_file }}
              subPath: resource_filters.json
              readOnly: true
{{- if .Values.conf.security }}
            - name: cinder-etc
              mountPath: {{ .Values.conf.software.apache2.conf_dir }}/security.conf
              subPath: security.conf
              readOnly: true
{{- 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 }}
            {{- if .Values.manifests.certificates }}
            - name: cinder-etc
              mountPath: {{ .Values.conf.software.apache2.site_dir }}/cinder-api.conf
              subPath: wsgi-cinder.conf
              readOnly: true
            - name: cinder-etc
              mountPath: {{ .Values.conf.software.apache2.mods_dir }}/mpm_event.conf
              subPath: mpm_event.conf
              readOnly: true
            {{- end }}
{{- dict "enabled" .Values.manifests.certificates "name" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal "path" "/etc/mysql/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
{{- dict "enabled" (or .Values.manifests.certificates .Values.tls.identity) "name" .Values.secrets.tls.volume.api.internal "path" "/etc/cinder/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
{{- dict "enabled" .Values.manifests.certificates "name" .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_api.volumeMounts }}{{ toYaml $mounts_cinder_api.volumeMounts | indent 12 }}{{ end }}
      volumes:
        - name: pod-tmp
          emptyDir: {}
        - name: wsgi-cinder
          emptyDir: {}
        - name: cinder-bin
          configMap:
            name: cinder-bin
            defaultMode: 0555
        - name: cinder-etc
          secret:
            secretName: cinder-etc
            defaultMode: 0444
        {{- 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 }}
{{- dict "enabled" .Values.manifests.certificates "name" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
{{- dict "enabled" (or .Values.manifests.certificates .Values.tls.identity) "name" .Values.secrets.tls.volume.api.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
{{- dict "enabled" .Values.manifests.certificates "name" .Values.endpoints.oslo_messaging.auth.admin.secret.tls.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
{{ if $mounts_cinder_api.volumes }}{{ toYaml $mounts_cinder_api.volumes | indent 8 }}{{ end }}
{{- end }}
