apiVersion: batch/v1
kind: CronJob
metadata:
  name: metrics-status-collector
  namespace: observability
spec:
  schedule: "0 18 * * *"
  successfulJobsHistoryLimit: 1
  failedJobsHistoryLimit: 1
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      activeDeadlineSeconds: 64800
      backoffLimit: 1
      template:
        spec:
          serviceAccountName: regional-server-controller-manager
          restartPolicy: Never
          nodeSelector:
            node_type: worker
          containers:
          - name: metrics-status-collector
            image: o11yprod.azurecr.io/metrics-status-collector
            command: ["/bin/sh","-c"]
            args:
              - >
                python fetch_vm_data.py
                --date $(date -u -d 'yesterday' +%Y%m%d)
                --delta-root abfs://o11y-prod-shared-japaneast/deltalake/global/metrics-status
            env:
              - name: AZURE_STORAGE_ACCOUNT_NAME
                value: o11yprodjapaneast
              - name: STORAGE_ACCOUNT_NAME
                value: o11yprodjapaneast
              - name: AZURE_TENANT_ID
                value: 6c865c34-8ff8-4792-bbca-8c9d15efb29d
              - name: AZURE_CLIENT_ID
                value: 39899d6f-79dd-4dd9-a3d9-c5339a0e49aa
              - name: AZURE_FEDERATED_TOKEN_FILE
                value: /var/run/secrets/azure/tokens/azure-identity-token
              - name: AZURE_AUTHORITY_HOST
                value: https://login.microsoftonline.com/
            resources:
              requests:
                cpu: "300m"
                memory: "512Mi"
              limits:
                cpu: "2"
                memory: "2Gi"
            volumeMounts:
            - name: azure-identity-token
              mountPath: /var/run/secrets/azure/tokens
              readOnly: true
          volumes:
          - name: azure-identity-token
            projected:
              sources:
              - serviceAccountToken:
                  audience: api://AzureADTokenExchange
                  expirationSeconds: 3600
                  path: azure-identity-token
