fix(rclone-retro): use env vars, use 1 cron for all 3DS

This commit is contained in:
JJGadgets
2025-07-05 18:30:33 +08:00
parent 8e2e1b21d0
commit 8524a78ab4
2 changed files with 23 additions and 20 deletions

View File

@@ -20,5 +20,5 @@ spec:
template:
type: Opaque
data:
RC_USER: '{{ .username }}'
RC_PASS: '{{ .password }}'
RCLONE_RC_USER: '{{ .username }}'
RCLONE_RC_PASS: '{{ .password }}'

View File

@@ -34,6 +34,7 @@ spec:
args: ["serve", "ftp", "/data", "--addr=:$(FTP_PORT)", "--log-level=DEBUG", "--use-json-log", "--rc", "--rc-addr=:$(HTTP_PORT)", "--rc-serve", "--rc-serve-no-modtime", "--rc-web-gui", "--rc-web-gui-no-open-browser", "--rc-user=$(RC_USER)", "--rc-pass=$(RC_PASS)", "--rc-enable-metrics", "--metrics-addr=:$(METRICS_PORT)"]
env: &env
TZ: "${CONFIG_TZ}"
RC_ADDR: http://rclone-retro-app.rclone-retro.svc.cluster.local/ # overwritten by CLI arg, this one's for anchor
FTP_PORT: &ftp 2121
HTTP_PORT: &http 8080
METRICS_PORT: &metrics 9090
@@ -60,16 +61,18 @@ spec:
type: cronjob
cronjob: &cj
schedule: "@hourly"
concurrencyPolicy: Forbid
concurrencyPolicy: Replace
ttlSecondsAfterFinished: 3600
failedJobsHistory: 1
backoffLimit: 2
containers:
main: &rclct
image: *img
command: ["/bin/sh", "-c", "rclone rc --rc-addr=http://rclone-retro-app.rclone-retro.svc.cluster.local/ --rc-user=$(RC_USER) --rc-pass=$(RC_PASS) --timeout 1h $(ARG)"]
env:
command: ["/bin/sh", "-c", "rclone rc $(ARG)"]
env: &envcr
<<: *env
RCLONE_RC_ADDR: http://rclone-retro-app.rclone-retro.svc.cluster.local/
RCLONE_TIMEOUT: 1h
ARG: | # TODO: so much jank over k8s doing auto shell escaping on args and me wanting to not repeat the command line
sync/sync srcFs='3ds:/' dstFs='/data/3ds/' _config='{"Progress": true}' _filter='{ "ExcludeRule": [ "/Nintendo 3DS/title/**/**/content/*.app", "**/*.cia", "**/*.fbi", "**/*.nds", "/GBA/**", "/GBA/*", "**/*.mp3", "**/*.m4a", "**/*.aac", "**/*.wav", "**/*.flac" ] }'
envFrom: *envFrom
@@ -88,20 +91,20 @@ spec:
limits:
cpu: "1"
memory: "128Mi"
3ds-gba:
<<: *cron
containers:
main:
<<: *rclct
env:
<<: *env
ARG: |
sync/sync srcFs='3ds:GBA/' dstFs='/data/3ds-gba/' _config='{"Progress": true}'
initContainers:
01-ping:
<<: *ping
env:
REMOTE: 3ds
# 3ds-gba:
# <<: *cron
# containers:
# main:
# <<: *rclct
# env:
# <<: *envcr
# ARG: |
# sync/sync srcFs='3ds:GBA/' dstFs='/data/3ds-gba/' _config='{"Progress": true}'
# initContainers:
# 01-ping:
# <<: *ping
# env:
# REMOTE: 3ds
ds:
<<: *cron
cronjob:
@@ -111,7 +114,7 @@ spec:
main:
<<: *rclct
env:
<<: *env
<<: *envcr
ARG: |
sync/sync srcFs='ds:/' dstFs='/data/ds/' _config='{"Progress": true}' _filter='{ "ExcludeRule": [ "**/*.nds", "**/*.mp3", "**/*.m4a", "**/*.aac", "**/*.wav", "**/*.flac" ] }'
initContainers: