apiVersion: apps/v1
kind: Deployment
metadata:
  name: ng-autoscaler
  namespace: {{ .Release.Namespace }}
  labels:
    app: ng-autoscaler
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: ng-autoscaler
  template:
    metadata:
      labels:
        app: ng-autoscaler
    spec:
      containers:
      - image: {{ .Values.autoScalerImage }}
        name: ng-autoscaler
        securityContext:
          {{ toYaml .Values.securityContext | nindent 10 }}
        args:
        - --secure-port=6443
        - --cert-dir=/var/run/serving-cert
        - --v=1
        resources:
          limits:
            cpu: {{ .Values.resources.limits.cpu }}
            memory: {{ .Values.resources.limits.memory }}
          requests:
            cpu: {{ .Values.resources.requests.cpu }}
            memory: {{ .Values.resources.requests.memory }}
        imagePullPolicy: "Always"
        ports:
        - name: https
          containerPort: 6443
        - name: http
          containerPort: 8080
          protocol: TCP
        volumeMounts:
        - mountPath: /tmp
          name: temp-vol
          readOnly: false
        - mountPath: /var/run/serving-cert
          name: volume-serving-cert
          readOnly: false
      volumes:
      - name: temp-vol
        emptyDir: {}
      - name: volume-serving-cert
        emptyDir: {}
      serviceAccount: ng-autoscaler
      serviceAccountName: ng-autoscaler
      securityContext:
        {{ toYaml .Values.podSecurityContext | nindent 8 }}