apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: tidb-mgmt-service-sts
  annotations:
    sidecar.jaegertracing.io/inject: jaeger
spec:
  serviceName: "tidb-mgmt-service"
  replicas: 2
  selector:
    matchLabels:
      app: tidb-mgmt-service
  template:
    metadata:
      labels:
        app: tidb-mgmt-service
      annotations:
        prometheus.io/scrape: "true"
        prometheus.io/port: "8080"
        prometheus.io/path: /metrics
    spec:
      containers:
        - name: tidb-mgmt-service
          image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/tidb-management-service:latest
          command: ["/command/tidb-mgmt-service/tidb-mgmt-service"]
          args: ["-config=/etc/tidb-mgmt-service/config.yaml"]
          ports:
            - name: grpc
              protocol: TCP
              containerPort: 10001
            - name: http
              protocol: TCP
              containerPort: 8080
          readinessProbe:
            failureThreshold: 10
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            tcpSocket:
              port: 10001
            timeoutSeconds: 1
          resources:
            limits:
              memory: '512Mi'
              cpu: '2'
          volumeMounts:
            - name: config
              mountPath: "/etc/tidb-mgmt-service"
              readOnly: true
          env:
            - name: TIINF_POD_NAME
              value: 'management-service-grpchttp-service'
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
        - args:
            - --agent.tags=cluster=undefined,container.name=tidb-mgmt-service,deployment.name=tidb-mgmt-service,host.ip=${HOST_IP:},pod.name=${POD_NAME:},pod.namespace=tidb-management-service
            - --reporter.grpc.host-port=dns:///jaeger-collector-headless.jaeger.svc:14250
          env:
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name
            - name: HOST_IP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.hostIP
          image: gcr.io/pingcap-public/pingcap/jaegertracing/jaeger-agent:1.22
          imagePullPolicy: IfNotPresent
          name: jaeger-agent
          ports:
            - containerPort: 5775
              name: zk-compact-trft
              protocol: UDP
            - containerPort: 5778
              name: config-rest
              protocol: TCP
            - containerPort: 6831
              name: jg-compact-trft
              protocol: UDP
            - containerPort: 6832
              name: jg-binary-trft
              protocol: UDP
            - containerPort: 14271
              name: admin-http
              protocol: TCP
      volumes:
        - name: config
          configMap:
            name: tidb-mgmt-service
      serviceAccountName: tidb-management-service
