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
    spec:
      securityContext:
        fsGroup: 65532
      serviceAccountName: o11y-agent-control-server
      containers:
        - name: agent-control-server
          image: cp9.local/premium-o11y-agent-control-server:placeholder
          args:
            - --root-config=/etc/root-configs/config.yaml
            - --agent-config-templates-dir=/templates
            - --watch-namespace=cp9-premium
          env:
            - name: AWS_REGION
              value: us-west-2
            - name: AWS_DEFAULT_REGION
              value: us-west-2
            - 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
          readinessProbe:
            httpGet:
              path: /readyz
              port: 8081
            initialDelaySeconds: 5
            periodSeconds: 5
          livenessProbe:
            httpGet:
              path: /healthz
              port: 8081
            initialDelaySeconds: 15
            periodSeconds: 10
          resources:
            requests:
              cpu: 100m
              memory: 512Mi
            limits:
              cpu: 500m
              memory: 4Gi
          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
      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
