apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: serverless-global-service-sts
  annotations:
    sidecar.jaegertracing.io/inject: jaeger
spec:
  serviceName: "serverless-global-service"
  replicas: 2
  selector:
    matchLabels:
      app: serverless-global-service
  template:
    metadata:
      labels:
        app: serverless-global-service
    spec:
      containers:
        - name: serverless-global-service
          command:
            - /command/serverless-global-service/serverless-global-service
          args:
            - serve
            - --config=/etc/serverless-global-service/config.yaml
          image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/tidb-management-service:latest
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 8080
              protocol: TCP
          env:
            - name: TIINF_POD_NAME
              value: serverless-global-control-service
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
          readinessProbe:
            failureThreshold: 10
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            tcpSocket:
              port: 10000
            timeoutSeconds: 1
          resources:
            limits:
              memory: '1Gi'
              cpu: '2'
          volumeMounts:
          - mountPath: /etc/serverless-global-service
            name: config
            readOnly: true
        - args:
            - --agent.tags=cluster=undefined,container.name=serverless-global-service,deployment.name=serverless-global-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: serverless-global-service
      serviceAccountName: tidb-management-service