iac/aero/roles/sarex_stack/tasks
emelinda bddcc955fe Создание администратора платформы перенесено в под backend
Учётка создавалась задачей ansible через kubectl exec — по явной команде
оператора и в обход GitOps. Теперь это делает сам под при каждом старте:
стартовый скрипт подхватывает креды из Vault и вызывает штатную
createsuperuser --noinput.

Идемпотентность обеспечена ветвлением, а не подавлением ошибки: на уже
существующем логине Django возвращает "That username is already taken" с
ненулевым кодом, что под set -e из command базы уронило бы под на втором
запуске. Ошибка ожидаема и гасится веткой else.

Заодно в стартовый скрипт добавлен migrate. В entrypoint.sh образа он уже
есть, но запущен без set -e — его падение не мешает uwsgi стартовать.
Именно так контур несколько часов отдавал 200 на /admin/ с пустой схемой:
backend не мог аутентифицироваться в СУБД, миграции падали, приложение
работало. Здесь команда идёт под set -e, поэтому отказ виден сразу.

Ansible остаётся владельцем значений: генерирует логин и пароль (теперь
безусловно, а не по флагу — их ждёт vault-agent) и кладёт в
secrets/apps/django/superuser. Задача poe superuser печатает креды.

Убраны временные диагностические задачи с ignore_errors, добавленные при
разборе отказа createsuperuser.
2026-08-08 18:10:19 +03:00
..
gitea-sync.yml feat(aero): базовый слой контура — Vault↔k3s, GitOps-синхронизация, выход наружу 2026-08-08 09:36:08 +03:00
main.yml Создание администратора платформы перенесено в под backend 2026-08-08 18:10:19 +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
vault-k8s.yml feat(aero): базовый слой контура — Vault↔k3s, GitOps-синхронизация, выход наружу 2026-08-08 09:36:08 +03:00