Migration: fix tags and docker registry vars
This commit is contained in:
@@ -8,6 +8,60 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Шаг 7 — `run-app` тег + унификация registry (2026-05-22, выполнено)
|
||||||
|
|
||||||
|
По итогам аудита подготовительных задач выявлены и закрыты две
|
||||||
|
несостыковки:
|
||||||
|
|
||||||
|
### 7a. Пропущенный `run-app` тег в remembos
|
||||||
|
|
||||||
|
В `playbook-remembos.yml:73` была задача
|
||||||
|
`Restart docker compose services if config changed but not
|
||||||
|
docker-compose.yml` (условный рестарт через `state: restarted`,
|
||||||
|
триггер — изменение `config.toml` без изменения `docker-compose.yml`),
|
||||||
|
у неё не было тега `run-app`. На cutover'е при
|
||||||
|
`--skip-tags run-app` основной запуск пропустился бы (правильно), а
|
||||||
|
эта условная задача всё равно сработала бы (потому что её `when:`
|
||||||
|
истинно при первом деплое — конфиг создаётся), попыталась бы
|
||||||
|
рестартануть несуществующий compose-стек и упала. Тег добавлен.
|
||||||
|
|
||||||
|
### 7b. Унификация `registry_url` в docker_login
|
||||||
|
|
||||||
|
`playbook-homepage.yml` и `playbook-transcriber.yml` использовали
|
||||||
|
хардкод `registry_url: "cr.yandex"`, а `playbook-remembos.yml` —
|
||||||
|
`'{{ yc_container_registry }}'` из vault. Привёл к одному виду:
|
||||||
|
теперь во всех трёх — `"{{ yc_container_registry }}"` из vault.
|
||||||
|
|
||||||
|
`docker_registry_prefix` в `vars/homepage.yml` и `vars/transcriber.yml`
|
||||||
|
не трогал — там полный image-prefix вида `cr.yandex/<org-id>`,
|
||||||
|
это отдельная концепция (есть отдельный vault-var
|
||||||
|
`yc_container_registry_repository`, используемый в
|
||||||
|
`files/remembos/docker-compose.template.yml`). Если позже захочется
|
||||||
|
унифицировать целиком — это отдельная итерация.
|
||||||
|
|
||||||
|
### Аудит бэкапов: gap'ы по `caddyproxy`, `remembos`, `transcriber`
|
||||||
|
|
||||||
|
Эти три приложения имеют состояние в `data_dir`, но не имеют ни
|
||||||
|
`backup.template.sh`, ни ansible-генерируемого `backup-targets`.
|
||||||
|
Для миграции это закрывается через **rsync** на cutover'е — данные
|
||||||
|
переносятся напрямую, без зависимости от restic-снапшотов:
|
||||||
|
|
||||||
|
- `caddyproxy/data/` — TLS-сертификаты Let's Encrypt (важно, чтобы
|
||||||
|
не упереться в rate-limit LE при перевыпуске ~17 сертов).
|
||||||
|
- `remembos/data/` — user data (memos-токен, telegram tokens).
|
||||||
|
- `transcriber/data/` — пользовательские транскрипции.
|
||||||
|
|
||||||
|
Это означает: на этапе rsync (шаг 4 cutover'а в плане) **нельзя**
|
||||||
|
полагаться только на restic-restore — для этих трёх апов rsync —
|
||||||
|
единственный канал. Для остальных приложений (которые имеют
|
||||||
|
`backup.sh` или `backup-targets`) можно при необходимости использовать
|
||||||
|
restic как фолбэк, но rsync всё равно остаётся основным методом.
|
||||||
|
|
||||||
|
Долгосрочно — добавить им backup-механизм отдельной итерацией после
|
||||||
|
миграции. Сейчас это сверх сферы.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Шаг 6 — `vars/vars.yml` загружается во всех плейбуках (2026-05-22, выполнено)
|
## Шаг 6 — `vars/vars.yml` загружается во всех плейбуках (2026-05-22, выполнено)
|
||||||
|
|
||||||
Сегодняшний коммит `8378f0e` («Migration: expose some public vars»)
|
Сегодняшний коммит `8378f0e` («Migration: expose some public vars»)
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
- name: "Login to Yandex Container Registry"
|
- name: "Login to Yandex Container Registry"
|
||||||
community.docker.docker_login:
|
community.docker.docker_login:
|
||||||
registry_url: "cr.yandex"
|
registry_url: "{{ yc_container_registry }}"
|
||||||
username: "oauth"
|
username: "oauth"
|
||||||
password: "{{ yc_oauth_token }}"
|
password: "{{ yc_oauth_token }}"
|
||||||
|
|
||||||
|
|||||||
@@ -77,3 +77,5 @@
|
|||||||
when:
|
when:
|
||||||
- config_file_result.changed
|
- config_file_result.changed
|
||||||
- not docker_compose_file_result.changed
|
- not docker_compose_file_result.changed
|
||||||
|
tags:
|
||||||
|
- run-app
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
- name: "Login to Yandex Container Registry"
|
- name: "Login to Yandex Container Registry"
|
||||||
community.docker.docker_login:
|
community.docker.docker_login:
|
||||||
registry_url: "cr.yandex"
|
registry_url: "{{ yc_container_registry }}"
|
||||||
username: "oauth"
|
username: "oauth"
|
||||||
password: "{{ yc_oauth_token }}"
|
password: "{{ yc_oauth_token }}"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user