# Copyright 2019 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
#
#      http://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: postgresql-connector-cron-job
spec:
  schedule: "*/5 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: postgresql-connector-cron-job
            image: busybox
            resources:
              requests:
                cpu: 1m
                memory: 100Mi
            env:
              - name: WEBHOOK
                value: "http://postgresql-connector:8080/sync"    
              - name: TOKEN
                value: "<SET-TOKEN>"                         
            command: ["/scripts/trigger-sync.sh"]
            volumeMounts:
            - name: keys
              mountPath: "/root/.ssh"
              readOnly: true
            - name: trigger
              mountPath: /scripts              
          volumes:
          - name: keys
            secret:
              secretName: jwt-key
              items:
              - key: jwtRS256.key
                path: privatekey
          - name: trigger
            configMap:
              name: trigger
              defaultMode: 0744
          restartPolicy: OnFailure              


# [TODO] Improve this to generate token from private key at: $(cat /root/.ssh/privatekey)