---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rms-apiserver
  namespace: test-infra
spec:
  selector:
    matchLabels:
      app: rms-apiserver
  replicas: 1
  template:
    metadata:
      annotations:
        app.kubernetes.io/managed-by: test-infra
      labels:
        app: rms-apiserver
    spec:
      serviceAccountName: rms-apiserver-sa
      nodeSelector:
        resourcepool: test-infra
      containers:
        - name: apiserver
          args:
            - "--config=/etc/config/config.yaml"
          image: "946646677266.dkr.ecr.us-west-2.amazonaws.com/qa/rms:v20220622"
          imagePullPolicy: Always
          ports:
            - containerPort: 80
          resources:
            requests:
              cpu: 500m
              memory: 500Mi
            limits:
              cpu: 500m
              memory: 500Mi
          env:
            - name: TZ
              value: Asia/Shanghai
            - name: MINIO_ID
              valueFrom:
                secretKeyRef:
                  name: minio
                  key: ID
            - name: MINIO_SECRET
              valueFrom:
                secretKeyRef:
                  name: minio
                  key: SECRET
            - name: TIDBCLOUD_AUTH0_CLIENT_ID
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_AUTH0_CLIENT_ID
            - name: TIDBCLOUD_AUTH0_CLIENT_SECRET
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_AUTH0_CLIENT_SECRET
            - name: TIDBCLOUD_AUTH0_DOMAIN
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_AUTH0_DOMAIN
            - name: TIDBCLOUD_CLOUD_PROVIDER
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_CLOUD_PROVIDER
            - name: TIDBCLOUD_REGION
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_REGION
            - name: TIDBCLOUD_THANOS_URL
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_THANOS_URL
            - name: TIDBCLOUD_URL
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_URL
            - name: TIDBCLOUD_BASE_EKS_APISERVER_ENDPOINT
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_BASE_EKS_APISERVER_ENDPOINT
            - name: TIDBCLOUD_BASE_EKS_ASSUME_ROLE
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_BASE_EKS_ASSUME_ROLE
            - name: TIDBCLOUD_BASE_EKS_CLUSTER_NAME
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_BASE_EKS_CLUSTER_NAME
            - name: TIDBCLOUD_SHOOT_KUBE_CONFIG_SECRET_NS
              valueFrom:
                secretKeyRef:
                  name: tidbcloud-secret
                  key: TIDBCLOUD_SHOOT_KUBE_CONFIG_SECRET_NS
          volumeMounts:
            - name: config-volume
              mountPath: /etc/config
      volumes:
        - name: config-volume
          configMap:
            name: rms-apiserver-config
      terminationGracePeriodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
  name: rms-apiserver-service
  namespace: test-infra
spec:
  type: NodePort
  selector:
    app: rms-apiserver
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30007
