# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: apigee-cassandra-backup
  namespace: apigee
spec:
  schedule: "<YOUR_BACKUP_SCHEDULE_CODE>" # To be modified
  jobTemplate:
    spec:
      template:
        spec:
          # imagePullSecrets:
          # - name: <IMAGE_PULL_SECRET>
          containers:
          - name: apigee-cassandra-backup
            env:
            - name: APIGEE_CLOUDPROVIDER
              value: "HYBRID"
            - name: BACKUP_SERVER_IP
              value: "<BACKUP_SERVER_IP>" # To be modified. REQUIRED
            - name: BACKUP_STORAGE_DIR
              value: "<PATH/TO/DIRECTORY>" # To be modified. REQUIRED
            - name: CASSANDRA_DC
              value: dc-1 # kpt-set: ${CASSANDRA_DC_NAME}
            # - name: http_proxy
            #   value: <HTTP_PROXY_URL>
            volumeMounts:
            - name: apigee-cassandra-backup-key-file
              mountPath: /var/secrets/keys
          securityContext:
            fsGroup: 998
          volumes:
          - name: apigee-cassandra-backup-key-file
            secret:
              secretName: apigee-cassandra-backup-and-restore-key-file