Migration: add migration log
This commit is contained in:
@@ -0,0 +1,66 @@
|
|||||||
|
# Журнал миграции в Timeweb
|
||||||
|
|
||||||
|
Хронология фактического переезда. План и архитектурные решения —
|
||||||
|
в [timeweb.md](timeweb.md). Здесь только то, что реально сделано,
|
||||||
|
с датами.
|
||||||
|
|
||||||
|
Новые записи — сверху.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Шаг 3 — переключение auth на cr.yandex (2026-05-22, выполнено)
|
||||||
|
|
||||||
|
Заменена аутентификация в Yandex Container Registry с YC-metadata
|
||||||
|
service на OAuth-token из vault.
|
||||||
|
|
||||||
|
Изменения:
|
||||||
|
|
||||||
|
- `files/yandex-docker-registry-auth.sh` — **удалён**.
|
||||||
|
- `playbook-homepage.yml` — задача `ansible.builtin.script:
|
||||||
|
yandex-docker-registry-auth.sh` заменена на
|
||||||
|
`community.docker.docker_login` с `username: oauth`, `password:
|
||||||
|
"{{ yc_oauth_token }}"`.
|
||||||
|
- `playbook-transcriber.yml` — то же самое.
|
||||||
|
|
||||||
|
Локальные push-плейбуки (`playbook-homepage-registry.yml`,
|
||||||
|
`playbook-transcriber-registry.yml`) не трогал — там нет auth-задачи
|
||||||
|
в принципе, локальный docker аутентифицируется вручную
|
||||||
|
(`yc container registry configure-docker` или `docker login`).
|
||||||
|
Если позже захочется унифицировать — можно добавить тот же
|
||||||
|
`docker_login` с `delegate_to: 127.0.0.1`.
|
||||||
|
|
||||||
|
Проверено прогоном `inv pl -- homepage` и `inv pl -- transcriber` на
|
||||||
|
текущем сервере (Yandex Cloud) — ошибок нет, контейнеры работают.
|
||||||
|
Значит и на Timeweb заработает (единственная разница — исходящий IP,
|
||||||
|
а OAuth-токен в YC принимается извне).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Шаг 2 — OAuth-token для cr.yandex (2026-05-22, выполнено)
|
||||||
|
|
||||||
|
В `vars/secrets.yml` добавлена (или обновлена) переменная
|
||||||
|
`yc_oauth_token` со свежим OAuth-токеном Яндекса. Токен будет
|
||||||
|
использоваться для логина в `cr.yandex` с новой машины Timeweb
|
||||||
|
(вместо текущего скрипта `files/yandex-docker-registry-auth.sh`,
|
||||||
|
который завязан на YC metadata service `169.254.169.254` и
|
||||||
|
работает только внутри YC).
|
||||||
|
|
||||||
|
Сам код переключения на `community.docker.docker_login` пока не
|
||||||
|
вносится — это следующая итерация. Сейчас токен просто положен в
|
||||||
|
vault, чтобы не делать этого в день cutover'а под прессом.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Шаг 1 — снижение TTL DNS (2026-05-22, выполнено)
|
||||||
|
|
||||||
|
В админке Yandex 360 для зоны `vakhrushev.me` уменьшен TTL
|
||||||
|
A-записей с **21 600 с (6 ч)** до **1 200 с (20 мин)**. Это даёт
|
||||||
|
запас по времени на распространение изменений после смены IP в
|
||||||
|
день cutover'а — старые кэширующие резолверы перестанут отдавать
|
||||||
|
старый адрес максимум через 20 минут (вместо 6 часов).
|
||||||
|
|
||||||
|
Делается **заранее**, потому что само снижение TTL тоже
|
||||||
|
распространяется по кэшам по правилам старого TTL — то есть после
|
||||||
|
правки нужно подождать ≥ 6 часов, чтобы новое значение TTL само
|
||||||
|
успело прижиться. Раньше cutover'а нужно сделать с большим
|
||||||
|
запасом — день в день не сработает.
|
||||||
Reference in New Issue
Block a user