backlog: удалена задача shared-roles-sync, она реализована

- канон ролей лежит в ansible-roles, синхронизация идёт тасками
  roles-status / roles-pull / roles-push, подписка — eget и app_image
- драфт переведён в статус «реализовано»: отмечены расхождения с дизайном
  (имя канона, состав подписки) и незакрытые пункты плана
This commit is contained in:
av
2026-09-06 16:11:01 +03:00
parent af9d73a27c
commit 8aec606664
3 changed files with 22 additions and 32 deletions
+22 -10
View File
@@ -2,7 +2,19 @@
## Статус
Черновик. Подход обсуждён, реализация не начата.
Реализовано. Канон живёт в `~/projects/private/ansible-roles/` (репозиторий
с git-историей), таски `roles-status` / `roles-pull` / `roles-push` есть в
`tasks.py`. Отличия от первоначального дизайна:
- канон называется `ansible-roles`, а не `ansible-shared`, и сразу заведён
как git-репозиторий;
- подписка pet-project-server — `SYNCED_ROLES = ["eget", "app_image"]`:
`app_image` появился уже после дизайна и писался сразу общим, а `owner` и
`secrets` пока остаются локальными копиями и подписываются по мере надобности;
- предупреждения о дрейфе в lefthook нет — расхождение ловится ручным
`inv roles-status`.
Ниже — исходный дизайн; текст оставлен как спека подхода.
## Контекст
@@ -197,12 +209,12 @@ galaxy-источника: повесить теги, перевести реп
## План внедрения
1. Создать `~/projects/private/ansible-shared/roles/` из актуальных
ролей pet-project-server (`owner`, `eget`, `secrets`).
2. Добавить задачи `roles-pull` / `roles-push` / `roles-status` в
`tasks.py` pet-project-server; объявить подписку на все три роли.
3. То же в buckland; подписка только на `eget` (его копия сначала
выравнивается через `roles-pull` — дифф косметический, стиль
кавычек). Мёртвую `roles/owner` удалить.
4. Предупреждение о дрейфе в lefthook обоих репозиториев.
5. Новый сервер с самого начала строится на подписке.
1. ~~Создать канон из актуальных ролей pet-project-server.~~ Сделано:
`~/projects/private/ansible-roles/roles/` с `eget` и `app_image`.
2. ~~Добавить задачи `roles-pull` / `roles-push` / `roles-status` в
`tasks.py` pet-project-server.~~ Сделано; подписка — `eget`, `app_image`.
3. То же в buckland; мёртвую `roles/owner` удалить.
4. Подписать `owner` и `secrets`, когда их копии реально разойдутся.
5. Предупреждение о дрейфе в lefthook — не сделано, пока хватает
ручного `inv roles-status`.
6. Новый сервер с самого начала строится на подписке.