apiVersion: apps/v1
kind: Deployment
metadata:
  name: dw-eks-infra-provider-dwworker
  labels:
    app: dw-eks-provider-dwworker
spec:
  replicas: 0 # Default disabled (in dev + staging + prod)
  selector:
    matchLabels:
      app: dw-eks-provider-dwworker
  template:
    metadata:
      labels:
        app: dw-eks-provider-dwworker
    spec:
      securityContext:
        fsGroup: 65532
      serviceAccountName: eks-infra-provider
      containers:
        - name: eks-provider
          image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/eks-provider:ee2edc55344f5ecdf66297def15cea3b068de2d5
          command:
            - /eks-provider
            - run-dwworker-controller
            - --namespace=infra
            - --root-config=/etc/infra-api/config.yaml
          volumeMounts:
            - name: kubeconfig
              mountPath: /.kube
            - name: root-config
              mountPath: /etc/infra-api
          env:
            - name: KUBECONFIG
              value: /.kube/config
            - name: O11Y_AUTH0_CLIENT_ID
              valueFrom:
                secretKeyRef:
                  name: o11y-auth0-client
                  key: Auth0ClientID
            - name: O11Y_AUTH0_CLIENT_SECRET
              valueFrom:
                secretKeyRef:
                  name: o11y-auth0-client
                  key: Auth0ClientSecret
            - name: PROXY_AUTH0_CLIENT_ID
              valueFrom:
                secretKeyRef:
                  name: proxy-auth0-client
                  key: Auth0ClientID
            - name: PROXY_AUTH0_CLIENT_SECRET
              valueFrom:
                secretKeyRef:
                  name: proxy-auth0-client
                  key: Auth0ClientSecret
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 500m
              memory: 500Mi
      volumes:
        - name: kubeconfig
          secret:
            secretName: eks-provider-infra-kubeconfig
        - name: root-config
          configMap:
            name: eks-provider-root-config
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dw-eks-infra-provider-dumpling
  labels:
    app: dw-eks-provider-dumpling
spec:
  replicas: 0 # Default disabled (in dev + staging + prod)
  selector:
    matchLabels:
      app: dw-eks-provider-dumpling
  template:
    metadata:
      labels:
        app: dw-eks-provider-dumpling
    spec:
      securityContext:
        fsGroup: 65532
      serviceAccountName: eks-infra-provider
      containers:
        - name: eks-provider
          image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/eks-provider:ee2edc55344f5ecdf66297def15cea3b068de2d5
          command:
            - /eks-provider
            - run-dumpling-controller
            - --namespace=infra
            - --root-config=/etc/infra-api/config.yaml
          volumeMounts:
            - name: kubeconfig
              mountPath: /.kube
            - name: root-config
              mountPath: /etc/infra-api
          env:
            - name: KUBECONFIG
              value: /.kube/config
            - name: O11Y_AUTH0_CLIENT_ID
              valueFrom:
                secretKeyRef:
                  name: o11y-auth0-client
                  key: Auth0ClientID
            - name: O11Y_AUTH0_CLIENT_SECRET
              valueFrom:
                secretKeyRef:
                  name: o11y-auth0-client
                  key: Auth0ClientSecret
            - name: PROXY_AUTH0_CLIENT_ID
              valueFrom:
                secretKeyRef:
                  name: proxy-auth0-client
                  key: Auth0ClientID
            - name: PROXY_AUTH0_CLIENT_SECRET
              valueFrom:
                secretKeyRef:
                  name: proxy-auth0-client
                  key: Auth0ClientSecret
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 500m
              memory: 500Mi
      volumes:
        - name: kubeconfig
          secret:
            secretName: eks-provider-infra-kubeconfig
        - name: root-config
          configMap:
            name: eks-provider-root-config
