{% if RUN_PRINT_COURSE_CERTIFICATE %}
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: print-course-certificates
  labels:
    app.kubernetes.io/name: print-course-certificates
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: print-course-certificates
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app.kubernetes.io/name: print-course-certificates
    spec:
      terminationGracePeriodSeconds: 60
      containers:
        - env:
            - name: UWSGI_WORKERS
              value: "{{ PRINT_COURSE_CERTIFICATES_UWSGI_WORKERS }}"
            - name: OPENEDX_LMS_URL
              value: "{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ LMS_HOST }}"
          image: {{ PRINT_COURSE_CERTIFICATES_DOCKER_IMAGE }}
          name: print-course-certificates
          ports:
            - containerPort: {{ PRINT_COURSE_CERTIFICATES_PORT }}
          resources:
            requests:
              memory: {{ PRINT_COURSE_CERTIFICATES_MEMORY_REQUEST }}
            {%- if PRINT_COURSE_CERTIFICATES_CPU_REQUEST is defined %}
              cpu: {{ PRINT_COURSE_CERTIFICATES_CPU_REQUEST }}
            {%- endif %}
            limits:
              memory: {{ PRINT_COURSE_CERTIFICATES_MEMORY_LIMIT }}
              {%- if PRINT_COURSE_CERTIFICATES_CPU_LIMIT is defined %}
              cpu: {{ PRINT_COURSE_CERTIFICATES_CPU_LIMIT }}
              {%- endif %}
          volumeMounts:
            - mountPath: /app/config.yml
              name: config
{% if PRINT_COURSE_CERTIFICATES_CERTIFICATE_P12_PATH %}
            - mountPath: /app/digital_signature/file.p12
              name: digital_signature_file_p12
{% endif %}
      restartPolicy: Always
      volumes:
        - name: config
          configMap:
            name: print-course-certificates-config
{% if PRINT_COURSE_CERTIFICATES_CERTIFICATE_P12_PATH %}
        - name: digital_signature_file_p12
          configMap:
            name: print-course-certificates-digital-signature-file-p12
{% endif %}

{% if PRINT_COURSE_CERTIFICATES_POD_AUTOSCALING %}
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: print-course-certificates-hpa
  labels:
    app.kubernetes.io/name: print-course-certificates-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: print-course-certificates
  minReplicas: {{ PRINT_COURSE_CERTIFICATES_POD_AUTOSCALING_MIN_REPLICAS }}
  maxReplicas: {{ PRINT_COURSE_CERTIFICATES_POD_AUTOSCALING_MAX_REPLICAS }}
  metrics:
  {%- if PRINT_COURSE_CERTIFICATES_POD_AUTOSCALING_AVG_CPU > 0 %}
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: {{ PRINT_COURSE_CERTIFICATES_POD_AUTOSCALING_AVG_CPU }}
  {%- endif %}
  {%- if PRINT_COURSE_CERTIFICATES_POD_AUTOSCALING_AVG_MEMORY|length %}
  - type: Resource
    resource:
      name: memory
      target:
        type: AverageValue
        averageValue: {{ PRINT_COURSE_CERTIFICATES_POD_AUTOSCALING_AVG_MEMORY }}
  {%- endif %}
{% endif %}

{% endif %}
