eth-physics/deployment/quartz-build.cronjob.yaml
2024-02-03 14:39:45 +01:00

76 lines
2.1 KiB
YAML

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: {}