Volver a la wiki

ADR: Backup de Forgejo como cron de sistema, excepción a centralización en Forgejo Actions

Fecha y contexto

Decisor: Edu
Fecha: 08-08-2026
Contexto: Fase F1 de migración Forgejo; directriz de centralización de todas las automatizaciones en Forgejo Actions ($d >= F1)

Problema

Durante F1, la estrategia es centralizar TODAS las automatizaciones en Forgejo Actions (repo automatizaciones, prefijos infra-*, bib-*, etc.). Esto simplifica mantenimiento y prepara la inversión del origen de verdad en F2.

Excepción: ¿Qué hacer con el backup de Forgejo?

Si se implementase como workflow en Forgejo Actions:

Decisión

El backup de Forgejo corre como cron de sistema en OPS, NO como workflow de Forgejo Actions.

# /etc/cron.d/forgejo-backup
15 5 * * * root /usr/local/bin/forgejo-backup.sh >> /var/log/forgejo-backup.log 2>&1

Justificación

  1. Independencia: El backup de Forgejo no puede depender de que Forgejo esté operacional. Los crons de sistema lo garantizan.
  2. Capa 3 operativa: Los backups de Capa 3 (DR) deben estar fuera del componente a proteger.
  3. Vigilancia desacoplada: cron-heartbeat monitorea el cron sin depender de Forgejo Actions.
  4. Precedente: Otros backups vitales (BD de Pro, estado global) también son crons de sistema, no workflows.

Alcance de la excepción

SOLO el backup de Forgejo queda fuera de la centralización en Forgejo Actions.

Otros automatismos de Forgejo (comparador F1, espejo de releases, runners del CI portados, …) siguen dentro de la regla.

Implicaciones

  1. Hay dos “relojes” de automatismo en OPS:

    • Crons de sistema (/etc/cron.d/): forgejo-backup, cf-pages-deploy, bib-reindex-ws, etc.
    • Forgejo Actions (runner en OPS): workflows del repo automatizaciones + flujos portados de CI
  2. Los scripts de backup residen en scripts/ops/forgejo/ del workspace (Git versionado).

  3. Documentación en AUTOMATISMOS.md § 4 (crons) y § 4d (Forgejo Actions).

Supuestos

Alternativas consideradas y descartadas

AlternativaPor qué no
Workflow en Forgejo ActionsDependencia cíclica: backup de Forgejo depende de Forgejo
Workflow en GitHub ActionsForgejo es independiente de GitHub; la sincronización es unidireccional (GitHub→Forgejo)
Script en máquina externa (Cloud)Requiere credenciales adicionales; Forgejo en OPS es privada (Hetzner, sin expose público)

Criterio de éxito

Véase también

Subir