76 lines
2.1 KiB
YAML
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: {} |