iac/aero/roles/sarex_stack/tasks
emelinda c750a08f8d Measurements пишет в общий бакет контура + перекат нагрузок в ansible
--- Бакет ---

В base у measurements имя бакета ЗАШИТО в самом vault-шаблоне:
  "buckets":["measurements"]
Из-за этого он складывал файлы в собственный бакет, тогда как
медиахранилище контура одно — sarex-media-storage: туда пишет django и
оттуда же раздаёт s3-proxy на маршруте /media/. Ссылка на файл
измерения, отданная через django, вела бы в пустоту.

Шаблон переопределён в apps/measurements/aero так, чтобы имя бакета
читалось из секрета — как уже читается endpoint. Значение задаётся в
одном месте, vault_app_secrets, и совпадает с sarex_django_s3_bucket.
Заменить пришлось аннотацию целиком: значение внутри шаблона, через
values его не перекрыть.

Из Job'а бакетов убран measurements. Это не удаление: Job умеет только
mc mb --ignore-existing, ранее созданный бакет остаётся на месте — мы
лишь перестаём его заводить.

Порядок применения безопасен: в platform.yml vault-k8s.yml идёт до
gitea-sync.yml, то есть секрет получит ключ bucket раньше, чем Flux
пересоздаст под. Иначе vault-agent-init не отрендерил бы шаблон с
несуществующим ключом и под ушёл бы в Init:Error.

--- Перекат нагрузок ---

Единственное действие, которое до сих пор делалось руками мимо роли, —
rollout restart после правки ConfigMap. Оно понадобилось дважды (порядок
set/rewrite в nginx и auth_type) и оба раза выглядело как «правка не
поехала»: Flux рапортует Applied revision, а поведение старое.

Причина в том, что у релизов universal-chart в шаблоне пода нет
контрольной суммы конфига: ConfigMap меняется, спецификация пода — нет,
Kubernetes не видит причин пересоздавать под. Декларативно это здесь не
лечится — имя ConfigMap передаётся чарту строкой, монтирует он его сам, а
configMapGenerator переименовал бы ресурс, не поправив ссылку внутри
чарта, который рендерится уже в кластере.

Добавлены tasks/reload.yml, список sarex_reload_workloads в defaults и
задача `uv run poe reload`. По умолчанию выключено: перезапуск подов
посреди обычного деплоя происходить сам не должен.
2026-08-09 11:58:06 +03:00
..
gitea-sync.yml feat(aero): базовый слой контура — Vault↔k3s, GitOps-синхронизация, выход наружу 2026-08-08 09:36:08 +03:00
main.yml Measurements пишет в общий бакет контура + перекат нагрузок в ansible 2026-08-09 11:58:06 +03:00
platform.yml feat(aero): базовый слой контура — Vault↔k3s, GitOps-синхронизация, выход наружу 2026-08-08 09:36:08 +03:00
registry-secrets.yml feat(ansible): add private registry configuration for k3s and Flux with secure key handling 2026-08-03 15:40:07 +03:00
registry.yml feat(ansible): add private registry configuration for k3s and Flux with secure key handling 2026-08-03 15:40:07 +03:00
reload.yml Measurements пишет в общий бакет контура + перекат нагрузок в ansible 2026-08-09 11:58:06 +03:00
vault-k8s.yml feat(aero): базовый слой контура — Vault↔k3s, GitOps-синхронизация, выход наружу 2026-08-08 09:36:08 +03:00