|
All checks were successful
CI / changes (pull_request) Successful in 9s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 8s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
backup-forgejo.sh забирал БД и голые репозитории — то есть СОДЕРЖИМОЕ Forgejo, но не то, ЧЕМ оно поднимается. Компоуз-файлы Forgejo и раннеров живут в /home/gendesign/forgejo/, ВНЕ репозитория: `git rev-parse` там отвечает "not a git repository". Их не трогает ни один деплой (включая #3071 — тот синхронизирует /opt/gendesign) и не покрывал ни один бэкап. Практический смысл: при потере хоста БД и репозитории восстановятся, а конфигурация — нет. Пришлось бы вручную воссоздавать docker-compose.yml и заново регистрировать три раннера. Для переезда это особенно неприятно: Forgejo ОСТАЁТСЯ на Beget, то есть он и есть та машина, с которой всё будет подниматься, если что-то пойдёт не так. Косвенное подтверждение, что каталог правится руками и без истории: рядом лежат runner-compose.yml.bak, .bak.1779049805, .bak.before-runner3 — три самодельных снимка вместо version control. Что НЕ включено намеренно: секрет-файл режима 600 и runner*/data/ с регистрационными токенами. Они остаются ручным off-box пунктом владельца — тем же, что рантайм-секреты в приёмке #2203. Раннеры при восстановлении перерегистрируются из UI за пару минут; компоуз-файл руками не восстановишь. Проверки те же две, что у repo-бандла (не «объём», а «собрался и читается»), плюс мягкая деградация: не собрался — WARN и продолжаем без него, бэкап БД и репозиториев не теряем из-за 5 КБ конфига. Проверено на настоящем каталоге прода (read-only, боевой бэкап не тронут): - tar код 0, ровно 2 файла: docker-compose.yml, runner-compose.yml - 1070 байт, архив читается - секрет-файла внутри нет, каталога data/ внутри нет - раскрытие ${config_out:+...} в цикле выгрузки: пусто -> 2 файла, задано -> 3 - bash -n чист Refs #2203, #3057 |
||
|---|---|---|
| .. | ||
| db-bootstrap | ||
| glitchtip-auth-forwarder | ||
| backup-forgejo.sh | ||
| backup.sh | ||
| check-backup-staleness.sh | ||
| crontab-beget.cron | ||
| crontab-poincare.cron | ||
| docker-prune.sh | ||
| gendesign-backup-forgejo.default.example | ||
| gendesign-backup.default.example | ||
| gendesign-uptime.default.example | ||
| journald-gendesign.conf.example | ||
| lib-backup.sh | ||
| restore-drill.sh | ||
| restore.sh | ||
| selectel-audit.sh | ||
| selectel-bootstrap.sh | ||
| uptime-healthcheck.sh | ||