apiVersion: batch/v1 kind: CronJob metadata: name: quartz-build spec: schedule: "0 */12 * * *" jobTemplate: spec: template: spec: initContainers: - name: s3-sync image: s3 env: - name: AWS_ACCESS_KEY_ID valueFrom: secretKeyRef: name: s3-credentials key: S3_ACCESS_KEY_ID - name: AWS_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: s3-credentials key: S3_SECRET_ACCESS_KEY - name: S3_BUCKET value: obsidian-eth - name: S3_REGION value: us-west-1 command: ["/bin/sh", "-c"] args: ["aws --endpoint-url https://s3.kluster.moll.re s3 sync s3://$S3_BUCKET /config"] volumeMounts: - name: vault mountPath: /vault - name: git-clone image: git env: - name: GIT_URL value: https://git.kluster.moll.re/remoll/eth-physics.git volumeMounts: - name: config mountPath: /config command: ["/bin/sh", "-c"] args: ["git clone $GIT_URL /config"] containers: - name: quartz-build image: node command: ["/bin/sh", "-c"] args: - cd /config && - ln -s /vault content - npm ci && - npx quartz build && - rm -rfv /dist/* && - cp --verbose -r public/* /dist volumeMounts: - name: vault mountPath: /vault - name: dist mountPath: /dist restartPolicy: Never volumes: - name: vault persistentVolumeClaim: claimName: vault-nfs - name: dist persistentVolumeClaim: claimName: quartz-nfs - name: config emptyDir: {}