feat(backup-system): migración completa a GitOps

- CronJob rclone-mega-backup entra en git (solo existía imperativo)
- Scripts backup.sh/verify.sh/rclone-mega.sh como ConfigMap backup-scripts
  (antes hostPath /data/backups/scripts — cambios ahora pasan por git+ArgoCD)
- rclone.conf vía InfisicalStaticSecret (homelab/prod//backup-system → RCLONE_CONF),
  sustituye al hostPath de ~/.config/rclone/rclone.conf
- Imágenes pinneadas: rclone 1.74.3, bitnami/kubectl por digest (v1.36.2)
- ClusterRole/CRB de backup-sa entran en git
- Application ArgoCD backup-system (auto-sync + prune + selfHeal)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-09 09:33:35 +00:00
co-authored by Claude Fable 5
parent ae0b5f9492
commit d1d2fac287
8 changed files with 286 additions and 12 deletions
+24
View File
@@ -0,0 +1,24 @@
apiVersion: secrets.infisical.com/v1beta1
kind: InfisicalStaticSecret
metadata:
name: rclone-conf
namespace: backup-system
spec:
# Identidad compartida read-only (sin write grant) — el valor RCLONE_CONF
# se gestiona desde la UI de Infisical (proyecto homelab / prod / /backup-system).
infisicalAuthRef:
name: infisical-auth
namespace: infisical-operator
sources:
- projectId: 17e98e9d-70f5-43d1-8382-7da818dfcdd0 # project "homelab"
environmentSlug: prod
secretPath: /backup-system
syncOptions:
refreshInterval: 60s
targets:
- kind: Secret
name: rclone-conf-infisical
namespace: backup-system
creationPolicy: Owner
# El Secret lleva la key RCLONE_CONF con el contenido íntegro de rclone.conf;
# los CronJobs la montan como fichero /rclone/rclone.conf (items en el volume).