From 0f9969ddad80061e298715e50713c41f69ccc1af Mon Sep 17 00:00:00 2001 From: emelinda Date: Thu, 23 Jul 2026 18:29:46 +0300 Subject: [PATCH] Update backend image to production version in `.env.example` and `docker-compose.yaml`, refine Ansible tasks for conditional superuser creation --- .env.example | 2 +- aero/roles/sarex_stack/tasks/main.yml | 7 ++++++- docker-compose.yaml | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.env.example b/.env.example index 5eb9c69..4fef41a 100644 --- a/.env.example +++ b/.env.example @@ -52,7 +52,7 @@ SAREX_MINIO_IMAGE=cr.yandex/crp3ccidau046kdj8g9q/minio:250724 SAREX_MC_IMAGE=cr.yandex/crp3ccidau046kdj8g9q/mc:250724 # Образы приложения (приватный реестр cr.yandex — нужен docker login) -SAREX_BACKEND_IMAGE=cr.yandex/crp3ccidau046kdj8g9q/sarex-backend-dev:latest +SAREX_BACKEND_IMAGE=cr.yandex/crp3ccidau046kdj8g9q/backend:production_80d1d847 SAREX_FRONTEND_IMAGE=cr.yandex/crp3ccidau046kdj8g9q/frontend:contour_42138486 # Базы данных приложений (django использует SAREX_POSTGRES_DB) diff --git a/aero/roles/sarex_stack/tasks/main.yml b/aero/roles/sarex_stack/tasks/main.yml index 1b51f1b..508b5ef 100644 --- a/aero/roles/sarex_stack/tasks/main.yml +++ b/aero/roles/sarex_stack/tasks/main.yml @@ -127,21 +127,25 @@ changed_when: true # --- Django-суперпользователь: генерация логина+пароля, создание ----------- -# Логин и пароль генерируются один раз и персистятся в secrets_store +# Только по явной команде (uv run poe superuser передаёт sarex_create_superuser=true), +# чтобы обычный deploy не дёргал backend. Логин/пароль персистятся в secrets_store # (переиспользуются при повторе — идемпотентно). - name: Сгенерировать логин суперпользователя ansible.builtin.set_fact: superuser_name: "{{ lookup('password', secrets_store ~ '/' ~ inventory_hostname ~ '/SAREX_SUPERUSER_NAME chars=ascii_lowercase,digits length=10') }}" + when: sarex_create_superuser | default(false) | bool no_log: true tags: [superuser] - name: Сгенерировать пароль суперпользователя ansible.builtin.set_fact: superuser_password: "{{ lookup('password', secrets_store ~ '/' ~ inventory_hostname ~ '/SAREX_SUPERUSER_PASSWORD chars=ascii_letters,digits length=' ~ secret_length) }}" + when: sarex_create_superuser | default(false) | bool no_log: true tags: [superuser] - name: Создать/обновить Django-суперпользователя в backend + when: sarex_create_superuser | default(false) | bool ansible.builtin.command: argv: - "{{ compose_cmd.split()[0] }}" @@ -172,4 +176,5 @@ - name: Показать учётные данные суперпользователя ansible.builtin.debug: msg: "Django superuser → login: {{ superuser_name }} password: {{ superuser_password }}" + when: sarex_create_superuser | default(false) | bool tags: [superuser] diff --git a/docker-compose.yaml b/docker-compose.yaml index 745e180..a3e9116 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -264,7 +264,7 @@ services: # Для локальной сборки backend раскомментируй build (репозиторий — соседний). # --------------------------------------------------------------------------- backend: - image: ${SAREX_BACKEND_IMAGE:-cr.yandex/crp3ccidau046kdj8g9q/sarex-backend-dev:latest} + image: ${SAREX_BACKEND_IMAGE:-cr.yandex/crp3ccidau046kdj8g9q/backend:production_80d1d847} # build: # context: ../../generic/sarex-backend # dockerfile: Dockerfile @@ -313,7 +313,7 @@ services: condition: service_completed_successfully celery: - image: ${SAREX_BACKEND_IMAGE:-cr.yandex/crp3ccidau046kdj8g9q/sarex-backend-dev:latest} + image: ${SAREX_BACKEND_IMAGE:-cr.yandex/crp3ccidau046kdj8g9q/backend:production_80d1d847} container_name: sarex-celery restart: unless-stopped entrypoint: celery -A config worker -l info -E -Q default -n default_worker.%h --concurrency=1 -B