apiVersion: batch/v1
kind: Job
metadata:
  name: rook-ceph-toolbox-job
  namespace: {{taskserv.namespace  | default (value="rook-ceph")}} # namespace:cluster
  labels:
    app: ceph-toolbox-job
spec:
  template:
    spec:
      initContainers:
        - name: config-init
          image: {{taskserv.rookCeph_image}}
          command: ["/usr/local/bin/toolbox.sh"]
          args: ["--skip-watch"]
          imagePullPolicy: IfNotPresent
          env:
            - name: ROOK_CEPH_USERNAME
              valueFrom:
                secretKeyRef:
                  name: rook-ceph-mon
                  key: ceph-username
          volumeMounts:
            - mountPath: /etc/ceph
              name: ceph-config
            - name: mon-endpoint-volume
              mountPath: /etc/rook
            - name: ceph-admin-secret
              mountPath: /var/lib/rook-ceph-mon
      containers:
        - name: script
          image: {{taskserv.rookCeph_image}}
          volumeMounts:
            - mountPath: /etc/ceph
              name: ceph-config
              readOnly: true
          command:
            - "bash"
            - "-c"
            - |
              # Modify this script to run any ceph, rbd, radosgw-admin, or other commands that could
              # be run in the toolbox pod. The output of the commands can be seen by getting the pod log.
              #
              # example: print the ceph status
              ceph status
      volumes:
        - name: ceph-admin-secret
          secret:
            secretName: rook-ceph-mon
            optional: false
            items:
              - key: ceph-secret
                path: secret.keyring
        - name: mon-endpoint-volume
          configMap:
            name: rook-ceph-mon-endpoints
            items:
              - key: data
                path: mon-endpoints
        - name: ceph-config
          emptyDir: {}
      restartPolicy: Never
