Update backend image to production version in .env.example and docker-compose.yaml, refine Ansible tasks for conditional superuser creation

This commit is contained in:
emelinda 2026-07-23 18:29:46 +03:00
parent 8551d58d08
commit 0f9969ddad
3 changed files with 9 additions and 4 deletions

View File

@ -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)

View File

@ -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]

View File

@ -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