apiVersion: apps/v1
kind: Deployment
metadata:
  name: import-controller
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: import-controller
  template:
    metadata:
      labels:
        app.kubernetes.io/name: import-controller
    spec:
      serviceAccountName: cluster-controller
      securityContext:
        fsGroup: 65532
      containers:
        - name: controller
          image: cp9.local/cluster-controller:placeholder
          command:
            - /eks-provider
            - run-import-controller
            - --infra-kubeconfig=/var/run/cp9/dedicated-api/cluster-controller.kubeconfig
            - --root-config=/etc/cluster-controller/main/root-config.yaml
            - --leader-elect=true
          env:
            - name: AWS_SHARED_CREDENTIALS_FILE
              value: /var/run/cp9/aws/creds
            - name: AWS_REGION
              value: us-west-2
            - name: AWS_DEFAULT_REGION
              value: us-west-2
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 500m
              memory: 2000Mi
          volumeMounts:
            - name: dedicated-api-kubeconfig
              mountPath: /var/run/cp9/dedicated-api
              readOnly: true
            - name: root-config
              mountPath: /etc/cluster-controller/main
            - name: aws-creds
              mountPath: /var/run/cp9/aws
              readOnly: true
      volumes:
        - name: dedicated-api-kubeconfig
          secret:
            secretName: dedicated-api-kubeconfigs
            items:
              - key: cluster-controller.kubeconfig
                path: cluster-controller.kubeconfig
        - name: root-config
          configMap:
            name: cluster-controller-root-config
        - name: aws-creds
          secret:
            secretName: aws-creds
