Document canonical sync between GitHub and NODA1 and add a snapshot script to capture runtime state without editing production by hand. Co-authored-by: Cursor <cursoragent@cursor.com>
2.1 KiB
2.1 KiB
NODA1 Safe Deploy (Canonical Workflow)
Goal: синхронізувати ноут ↔ GitHub ↔ NODA1 ↔ реальний Docker-стек так, щоб не ламати працюючий прод і не плодити "невидимі" гілки.
Canonical source of truth: GitHub origin/main.
Ролі директорій на NODA1
/opt/microdao-daarion— legacy checkout (може мати роз'їхавшу історію). Не використовувати дляgit pull/rebase, якщо є конфлікти./opt/microdao-daarion.repo— canonical deployment checkout (git worktree наorigin/main). Деплой робимо тільки звідси.
Golden rules
- Жодних ручних правок коду/доків на NODA1 (крім аварійного hotfix з наступним PR).
- Жодних гілок/розробки на NODA1.
- Docker compose завжди з однаковим project name:
-p microdao-daarion. - Secrets не комітяться; для них тримати
*.example+ короткий опис розміщення.
Safe sync (NODA1)
ssh root@144.76.224.179
cd /opt/microdao-daarion
git fetch origin
cd /opt/microdao-daarion.repo
git pull --ff-only
git rev-parse --short HEAD
Safe deploy одного сервісу (мінімальний ризик)
Router
cd /opt/microdao-daarion.repo
docker compose -p microdao-daarion -f docker-compose.node1.yml build router
docker compose -p microdao-daarion -f docker-compose.node1.yml up -d --no-deps --force-recreate router
curl -fsS http://127.0.0.1:9102/health
Gateway
cd /opt/microdao-daarion.repo
docker compose -p microdao-daarion -f docker-compose.node1.yml build gateway
docker compose -p microdao-daarion -f docker-compose.node1.yml up -d --no-deps --force-recreate gateway
curl -fsS http://127.0.0.1:9300/health
Runtime snapshot
cd /opt/microdao-daarion.repo
./scripts/node1/snapshot_node1.sh > "/opt/backups/node1_snapshot_$(date +%Y%m%d-%H%M%S).txt"