Docs: собрать беклог задач из drafts
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
# Синхронизация общих Ansible-ролей между репозиториями
|
||||
|
||||
**Приоритет:** средний
|
||||
|
||||
Серверы управляются изолированными репозиториями (pet-project-server, buckland,
|
||||
далее — торрент-бокс). Кастомные роли (`owner`, `eget`, `secrets`) концептуально
|
||||
общие, но физически продублированы и дрейфуют (`owner` в buckland стал мёртвым
|
||||
кодом). Решение под pets-подход: канон ролей в `~/projects/private/ansible-shared/`,
|
||||
каждый репозиторий держит закоммиченную копию (она же «пин версии») и
|
||||
синхронизируется через rsync-таски invoke — `roles-pull` / `roles-push` /
|
||||
`roles-status`. Подписка на роли явная и пер-серверная (`SYNCED_ROLES` в
|
||||
`tasks.py`). Обновление роли на сервере — осознанный коммит с читаемым диффом, не
|
||||
скрытый сайд-эффект. Предохранитель от дрейфа — предупреждение в lefthook.
|
||||
Отвергнуты: общий `roles_path`, симлинки, submodule/subtree, galaxy-из-git,
|
||||
монорепо (все ломают самодостаточность или вводят лишнюю петлю).
|
||||
|
||||
Подход обсуждён, реализация не начата. Полный дизайн + план внедрения:
|
||||
[docs/drafts/shared-roles-sync.md](../drafts/shared-roles-sync.md).
|
||||
|
||||
Связано: roles/owner, roles/eget, roles/secrets, tasks.py, lefthook.yml,
|
||||
project_isolated_repos_shared_roles, project_shared_invoke_command_surface.
|
||||
Reference in New Issue
Block a user