Files
auricom-home-cluster/kubernetes/apps/default/lychee/app/sync/helmrelease.yaml
2025-06-21 23:12:31 +02:00

56 lines
1.6 KiB
YAML

---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app lychee-sync
spec:
interval: 1h
chartRef:
kind: OCIRepository
name: app-template
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
controllers:
main:
type: cronjob
cronjob:
concurrencyPolicy: Forbid
schedule: 0 0 * * 1 # At 00:00 on Monday
containers:
main:
image:
repository: ghcr.io/auricom/kubectl
tag: 1.32@sha256:c729e8e0ac8d62919c41ad8e41cd7b27196abd0472a48a6a2b1f95ed42572e51
command:
- /bin/bash
- -c
- |
#!/bin/bash
set -o errexit
set -o nounset
result=$(kubectl get pod --selector app.kubernetes.io/name=lychee --output custom-columns=:metadata.name --namespace default)
LYCHEE_POD=$(echo $result | awk '{ print $NF }')
if [[ $LYCHEE_POD == *"lychee"* ]]; then
kubectl exec --stdin --container app $LYCHEE_POD -- php artisan lychee:sync /mnt/storage/photo/Gallery/ --skip_duplicates=1
else
echo "lychee deployment not found"
exit 1
fi
service:
app:
controller: *app
enabled: false
serviceAccount:
create: false
name: jobs