apiVersion: v1
kind: Service
metadata:
  name: meta-store
  labels:
    control-plane: meta-store
spec:
  selector:
    control-plane: meta-store
  ports:
    - name: meta-store
      port: 9088
      targetPort: meta-store
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: meta-store
  labels:
    control-plane: meta-store
spec:
  replicas: 1
  selector:
    matchLabels:
      control-plane: meta-store
  template:
    metadata:
      labels:
        control-plane: meta-store
    spec:
      serviceAccountName: cp9-starter-runtime
      containers:
        - name: meta-store
          image: cp9.local/serverless-meta-store:placeholder
          imagePullPolicy: Always
          args:
            - -endpoints=serverless-cluster-pd.tidb-serverless.svc:2379
            - -key=/server-cert/tls.key
            - -cert=/server-cert/tls.crt
            - -cacert=/server-cert/ca.crt
            - -server-addr=:9088
            - -region=__CP9_TARGET_REGION__
            - -cloud-provider-type=aws-free-tier
            - -kube-cluster-name=__CP9_REMOTE_CLUSTER_NAME__
            - -rds-secret-arn=__CP9_STARTER_INFRA_RDS_SECRET_ARN__
          ports:
            - name: meta-store
              containerPort: 9088
          readinessProbe:
            tcpSocket:
              port: meta-store
            initialDelaySeconds: 2
            periodSeconds: 5
          livenessProbe:
            tcpSocket:
              port: meta-store
            initialDelaySeconds: 10
            periodSeconds: 10
          resources:
            limits:
              cpu: 1000m
              memory: 6Gi
            requests:
              cpu: 500m
              memory: 500Mi
          volumeMounts:
            - name: server-cert
              mountPath: /server-cert
              readOnly: true
      volumes:
        - name: server-cert
          secret:
            secretName: meta-store-secret
