diff --git a/fava/README.md b/fava/README.md index c17120f..259fb6b 100644 --- a/fava/README.md +++ b/fava/README.md @@ -71,15 +71,22 @@ Un cop desplegat, podràs accedir a Fava a: https://fava.rogi.casa ## Actualització del repositori -El repositori es clona a l'inici. Per actualitzar-lo amb els últims canvis: +El repositori s'actualitza automàticament cada hora mitjançant un sidecar container. També pots forçar una actualització reiniciant el pod: ```bash kubectl rollout restart deployment/fava -n fava ``` +Per veure els logs de sincronització: + +```bash +kubectl logs -n fava deployment/fava -c git-sync --follow +``` + ## Notes - El init container clona el repositori de Gitea al volum persistent +- Un sidecar container fa `git pull` cada hora per mantenir el contingut actualitzat - Fava s'executa llegint el fitxer directament del repositori clonat - Les credencials es guarden com a Secret de Kubernetes - Usa un token d'accés personal de Gitea en lloc de la teva contrasenya diff --git a/fava/fava.yaml b/fava/fava.yaml index 1187def..e3de26e 100644 --- a/fava/fava.yaml +++ b/fava/fava.yaml @@ -112,6 +112,41 @@ spec: port: 5000 initialDelaySeconds: 5 periodSeconds: 5 + - name: git-sync + image: alpine/git:latest + command: + - /bin/sh + - -c + - | + while true; do + echo "Syncing repository at $(date)" + cd /data/contabilitat + git config --global --add safe.directory /data/contabilitat + git pull || echo "Failed to pull, will retry in 1 hour" + echo "Next sync in 1 hour" + sleep 3600 + done + env: + - name: GITEA_USERNAME + valueFrom: + secretKeyRef: + name: gitea-credentials + key: username + - name: GITEA_PASSWORD + valueFrom: + secretKeyRef: + name: gitea-credentials + key: password + volumeMounts: + - name: data + mountPath: /data + resources: + requests: + cpu: 10m + memory: 32Mi + limits: + cpu: 100m + memory: 128Mi volumes: - name: data persistentVolumeClaim: