apiVersion: apps/v1
kind: Deployment
metadata:
  name: regional-server
  labels:
    app.kubernetes.io/name: regional-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: regional-server
  template:
    metadata:
      labels:
        app.kubernetes.io/name: regional-server
    spec:
      serviceAccountName: dedicated-regional-server-manager
      containers:
        - name: regional-server
          image: cp9.local/regional-server:placeholder
          args:
            - --port=8080
            - --log-level=debug
            - --client-mode=true
            - --leader-elect=true
            - --root-config=/etc/configs/root-config.yaml
            - --addon-template-config=/etc/configs/k8s-addon-templates.yaml
            - --infra-template-config=/etc/configs/k8s-infra-templates.yaml
            - --dedicated-template-config=/etc/configs/k8s-dedicated-templates.yaml
            - --dp-template-config=/etc/configs/k8s-dp-templates.yaml
          ports:
            - name: http
              containerPort: 8080
            - name: metrics
              containerPort: 8082
          env:
            - name: TIINF_POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
          volumeMounts:
            - name: regional-server-root-config
              mountPath: /etc/configs/root-config.yaml
              subPath: root-config.yaml
              readOnly: true
            - name: regional-server-addon-template-config
              mountPath: /etc/configs/k8s-addon-templates.yaml
              subPath: k8s-addon-templates.yaml
              readOnly: true
            - name: regional-server-infra-template-config
              mountPath: /etc/configs/k8s-infra-templates.yaml
              subPath: k8s-infra-templates.yaml
              readOnly: true
            - name: regional-server-dedicated-template-config
              mountPath: /etc/configs/k8s-dedicated-templates.yaml
              subPath: k8s-dedicated-templates.yaml
              readOnly: true
            - name: regional-server-dp-template-config
              mountPath: /etc/configs/k8s-dp-templates.yaml
              subPath: k8s-dp-templates.yaml
              readOnly: true
            - name: regional-server-admin-node-role-policy-template
              mountPath: /etc/configs/admin-node-role-policy-template.json
              subPath: admin-node-role-policy-template.json
              readOnly: true
            - name: regional-server-admin-node-role-trust-policy
              mountPath: /etc/configs/admin-node-role-trust-policy.json
              subPath: admin-node-role-trust-policy.json
              readOnly: true
            - name: regional-server-aws-lb-controller-policy
              mountPath: /etc/configs/aws-lb-controller-policy.json
              subPath: aws-lb-controller-policy.json
              readOnly: true
            - name: regional-server-ticdc-node-role-policy-template
              mountPath: /etc/configs/ticdc-node-role-policy-template.json
              subPath: ticdc-node-role-policy-template.json
              readOnly: true
      volumes:
        - name: regional-server-root-config
          configMap:
            name: regional-server-root-config
        - name: regional-server-addon-template-config
          configMap:
            name: regional-server-addon-template-config
        - name: regional-server-infra-template-config
          configMap:
            name: regional-server-infra-template-config
        - name: regional-server-dedicated-template-config
          configMap:
            name: regional-server-dedicated-template-config
        - name: regional-server-dp-template-config
          configMap:
            name: regional-server-dp-template-config
        - name: regional-server-admin-node-role-policy-template
          configMap:
            name: regional-server-admin-node-role-policy-template
        - name: regional-server-admin-node-role-trust-policy
          configMap:
            name: regional-server-admin-node-role-trust-policy
        - name: regional-server-aws-lb-controller-policy
          configMap:
            name: regional-server-aws-lb-controller-policy
        - name: regional-server-ticdc-node-role-policy-template
          configMap:
            name: regional-server-ticdc-node-role-policy-template
