Инициализация канона общих ролей с ролью eget

This commit is contained in:
av
2026-07-16 21:03:25 +03:00
commit aca0d03772
7 changed files with 265 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
# ansible-roles
Канон общих Ansible-ролей для изолированных серверных репозиториев
(`pet-project-server`, `buckland`, …).
Это **рабочая директория-канон**, а не сервис. Серверные репозитории
держат закоммиченные копии ролей в своём `roles/` и синхронизируются с
этим каноном через invoke-задачи (rsync, git здесь не участвует):
- `inv roles-pull [-- <role>]` — канон → репозиторий;
- `inv roles-push [-- <role>]` — репозиторий → канон (с подтверждением
при расхождении);
- `inv roles-status` — сравнить подписанные роли с каноном.
Каждый репозиторий объявляет подписку в своём `tasks.py`
(`SYNCED_ROLES`). «Пином версии» служит сама закоммиченная копия в
репозитории: деплоится ровно то, что лежит в его git.
Git в этой директории — опциональный бэкап истории канона, он не стоит
в рабочей петле синхронизации.
Спецификация подхода: `pet-project-server/docs/drafts/shared-roles-sync.md`.
## Роли
- `eget` — установка утилиты [eget](https://github.com/zyedidia/eget).