xactfetch: Use separate CronJobs per bank
Usually, `xactfetch` will only fail for one bank or the other. Rarely do we want to redownload the data from both banks just because one failed. The latest version of `xactfetch` supports specifying a bank name as a CLI argument, so now we can define separate jobs for each bank. Then, when one Job fails, only that one will be retried later. It's kind of a bummer that it's so repetitive to define two CronJobs that differ by only a single command-line argument. I suppose that's a good argument for using one of the preprocessor tools like Jsonnet or KCL.etcd
parent
c741d04d54
commit
ee00412bf6
|
@ -1,9 +1,9 @@
|
|||
apiVersion: batch/v1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: xactfetch
|
||||
name: xactfetch-commerce
|
||||
labels:
|
||||
app.kubernetes.io/name: xactfetch
|
||||
app.kubernetes.io/name: xactfetch-commerce
|
||||
app.kubernetes.io/component: xactfetch
|
||||
app.kubernetes.io/part-of: xactfetch
|
||||
spec:
|
||||
|
@ -15,7 +15,7 @@ spec:
|
|||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: xactfetch
|
||||
app.kubernetes.io/name: xactfetch-commerce
|
||||
app.kubernetes.io/component: xactfetch
|
||||
app.kubernetes.io/part-of: xactfetch
|
||||
spec:
|
||||
|
@ -59,6 +59,109 @@ spec:
|
|||
containers:
|
||||
- name: xactfetch
|
||||
image: git.pyrocufflink.net/packages/xactfetch
|
||||
args:
|
||||
- commerce
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: xactfetch
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
volumeMounts:
|
||||
- mountPath: /etc/rbw
|
||||
name: xactfetch-rbw
|
||||
readOnly: true
|
||||
- mountPath: /run/secrets/xactfetch
|
||||
name: xactfetch-secrets
|
||||
readOnly: true
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
subPath: tmp
|
||||
- mountPath: /var/lib/xactfetch
|
||||
name: xactfetch-data
|
||||
subPath: data
|
||||
nodeSelector:
|
||||
kubernetes.io/arch: amd64
|
||||
securityContext:
|
||||
fsGroup: 2468
|
||||
runAsNonRoot: true
|
||||
volumes:
|
||||
- name: tmp
|
||||
emptyDir:
|
||||
medium: Memory
|
||||
- name: xactfetch-data
|
||||
persistentVolumeClaim:
|
||||
claimName: xactfetch
|
||||
- name: xactfetch-rbw
|
||||
configMap:
|
||||
name: xactfetch-rbw
|
||||
- name: xactfetch-secrets
|
||||
secret:
|
||||
secretName: xactfetch
|
||||
|
||||
---
|
||||
apiVersion: batch/v1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: xactfetch-chase
|
||||
labels:
|
||||
app.kubernetes.io/name: xactfetch-chase
|
||||
app.kubernetes.io/component: xactfetch
|
||||
app.kubernetes.io/part-of: xactfetch
|
||||
spec:
|
||||
schedule: 4 9 * * *
|
||||
timeZone: America/Chicago
|
||||
concurrencyPolicy: Forbid
|
||||
jobTemplate:
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: xactfetch-chase
|
||||
app.kubernetes.io/component: xactfetch
|
||||
app.kubernetes.io/part-of: xactfetch
|
||||
spec:
|
||||
restartPolicy: Never
|
||||
imagePullSecrets:
|
||||
- name: imagepull-gitea
|
||||
initContainers:
|
||||
- name: wait
|
||||
image: registry.fedoraproject.org/fedora-minimal
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- case ${HOSTNAME} in *-manual-*);; *)sleep $((RANDOM % 3600));; esac
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
runAsGroup: 999
|
||||
runAsUser: 999
|
||||
- name: sync
|
||||
image: git.pyrocufflink.net/packages/xactfetch
|
||||
command:
|
||||
- rbw
|
||||
- sync
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: xactfetch
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
volumeMounts:
|
||||
- mountPath: /etc/rbw
|
||||
name: xactfetch-rbw
|
||||
readOnly: true
|
||||
- mountPath: /run/secrets/xactfetch
|
||||
name: xactfetch-secrets
|
||||
readOnly: true
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
subPath: tmp
|
||||
- mountPath: /var/lib/xactfetch
|
||||
name: xactfetch-data
|
||||
subPath: data
|
||||
containers:
|
||||
- name: xactfetch
|
||||
image: git.pyrocufflink.net/packages/xactfetch
|
||||
args:
|
||||
- chase
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: xactfetch
|
||||
|
|
Loading…
Reference in New Issue