apiVersion: batch/v1
kind: CronJob
metadata:
  name: network-check
  namespace: metering
spec:
  schedule: "0 9 * * *"
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        metadata:
          labels:
            app: network-check
        spec:
          containers:
            - env:
                - name: API_GATEWAY_AUTH_KEY
                  valueFrom:
                    secretKeyRef:
                      name: api-gateway-auth
                      key: api-gateway-auth-key
                - name: AWS_DEFAULT_REGION
                  value: us-west-2
                - name: AWS_REGION
                  value: us-west-2
                - name: DSN
                  valueFrom:
                    secretKeyRef:
                      name: dsn-secret       
                      key: DSN
              image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/network-metering-server:000394b92086f5b5a309fe3233b491ac8ed439be
              name: network-check
              args: 
                - "networkcheck"
                - "-dsn"
                - "DSN"
                - "-length"
                - "7"
                - "-saveResult"
              securityContext:
                allowPrivilegeEscalation: false
                capabilities:
                  drop:
                    - "ALL"
              imagePullPolicy: Always
              volumeMounts:
                - name: networkmetering
                  mountPath: /configs/
                - mountPath: /var/run/secrets/eks.amazonaws.com/serviceaccount/
                  name: aws-token
              resources:
                limits:
                  cpu: 1000m
                  memory: 500Mi
                requests:
                  cpu: 50m
                  memory: 500Mi
          volumes:
            - name: networkmetering
              configMap:
                name: networkmetering-config
            - name: aws-token
              projected:
                defaultMode: 420
                sources:
                  - serviceAccountToken:
                      audience: sts.amazonaws.com
                      expirationSeconds: 86400
                      path: token
          restartPolicy: Never
          serviceAccountName: dedicated-metering-server-manager
          terminationGracePeriodSeconds: 10