apiVersion: apps/v1
kind: Deployment
metadata:
  name: o11y-agent-control-server
  labels:
    app: o11y-agent-control-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: o11y-agent-control-server
  template:
    metadata:
      labels:
        app: o11y-agent-control-server
        azure.workload.identity/use: "true"
    spec:
      securityContext:
        fsGroup: 65532
      serviceAccountName: o11y-agent-control-server
      containers:
        - name: agent-control-server
          image: TMPL_IMAGE_REGISTRY/tidbcloud/agent-control-server:88db5d47c1b42a6bfad6d8589bcfedc6748aa9b6
          args:
            - "--root-config=/etc/root-configs/config.yaml"
            - "--agent-config-templates-dir=/templates"
          volumeMounts:
            - name: root-config
              mountPath: /etc/root-configs
            - name: templates-nextgen-k8s
              mountPath: /templates/k8s
            - name: templates-nextgen-sharedpool
              mountPath: /templates/sharedpool
            - name: templates-nextgen-sharedpool-jobs
              mountPath: /templates/sharedpool/jobs
            - name: templates-nextgen-tidbgroup
              mountPath: /templates/tidbgroup
            - name: templates-nextgen-tidbgroup-jobs
              mountPath: /templates/tidbgroup/jobs
          env:
            - name: O11Y_AUTH0_CLIENT_ID
              valueFrom:
                secretKeyRef:
                  name: o11y-auth0-client
                  key: Auth0ClientID
            - name: O11Y_AUTH0_CLIENT_SECRET
              valueFrom:
                secretKeyRef:
                  name: o11y-auth0-client
                  key: Auth0ClientSecret
          resources:
            requests:
              cpu: 100m
              memory: 512Mi
            limits:
              cpu: 500m
              memory: 4Gi
      volumes:
        - name: root-config
          configMap:
            name: o11y-agent-control-server-root-config
        - name: templates-nextgen-k8s
          configMap:
            name: templates-nextgen-k8s
        - name: templates-nextgen-sharedpool
          configMap:
            name: templates-nextgen-sharedpool
        - name: templates-nextgen-sharedpool-jobs
          configMap:
            name: templates-nextgen-sharedpool-jobs
        - name: templates-nextgen-tidbgroup
          configMap:
            name: templates-nextgen-tidbgroup
        - name: templates-nextgen-tidbgroup-jobs
          configMap:
            name: templates-nextgen-tidbgroup-jobs
