diff --git a/aero/roles/sarex_stack/defaults/main.yml b/aero/roles/sarex_stack/defaults/main.yml index 23de13c..c9887cd 100644 --- a/aero/roles/sarex_stack/defaults/main.yml +++ b/aero/roles/sarex_stack/defaults/main.yml @@ -437,9 +437,10 @@ sarex_postgres_processing_user: processing sarex_postgres_workspaces_db: workspace_db sarex_postgres_workspaces_user: workspace -# То же для bim. Должно совпадать с записью bim_db в contour.databases -# (infrastructure/postgresql/aero). -sarex_postgres_bim_db: bim_db +# То же для bim. Имя базы задано не нами: в aero/bimbackend оно захардкожено +# в коде (entrypoint_api.sh и models/database.py), переменной для него нет. +# Должно совпадать с записью bimapidb в contour.databases. +sarex_postgres_bim_db: bimapidb sarex_postgres_bim_user: bim # Бакет медиафайлов django. ВНИМАНИЕ: чарт MinIO бакеты не создаёт — его нужно diff --git a/apps/bim/aero/bim-api.yaml b/apps/bim/aero/bim-api.yaml index 5d0e6be..3faa35c 100644 --- a/apps/bim/aero/bim-api.yaml +++ b/apps/bim/aero/bim-api.yaml @@ -50,7 +50,6 @@ spec: {{- with secret "secrets/data/apps/bim/postgres" -}} DB_HOST={{ index .Data.data "host" }} DB_PORT={{ index .Data.data "port" }} - DB_NAME={{ index .Data.data "database" }} DB_USER={{ index .Data.data "username" }} DB_PASSWORD={{ index .Data.data "password" }} {{- end -}} @@ -114,11 +113,20 @@ spec: value: "false" - name: FEATURE_ENABLE_WORKSPACES value: "true" - # Google-хранилища в контуре нет и не будет. Флаг выключен, а - # переменная GOOGLE_APPLICATION_CREDENTIALS и том с ключом, - # которые есть в dsinv, здесь убраны за ненадобностью. + # Google-хранилища в контуре нет и не будет — флаг выключен. + # Том с ключом, который есть в dsinv, здесь не нужен, а сама + # переменная ниже нужна, см. комментарий к ней. - name: FEATURE_ENABLE_GCLOUD value: "false" + # Значение НЕ УДАЛЯТЬ, даже при выключенном флаге выше. settings.py + # делает check_settings(): проходит по всем ключам ENV_FIELDS и + # падает на первом же незаданном — + # Exception: ENV_VARIABLE NOT SET: GOOGLE_APPLICATION_CREDENTIALS + # Флаги проверяются позже, до них дело не доходит. Файла по этому + # пути нет и не будет: при FEATURE_ENABLE_GCLOUD=false его никто не + # открывает, важно лишь наличие самой переменной. + - name: GOOGLE_APPLICATION_CREDENTIALS + value: /etc/sarex/google-storage/service_account.json # ВНИМАНИЕ: S3 в этом приложении НЕ НАСТРАИВАЕТСЯ на MinIO. # В storage/s3.py адрес зашит в код: # endpoint_url='https://storage.yandexcloud.net' diff --git a/apps/bim/aero/bim-worker.yaml b/apps/bim/aero/bim-worker.yaml index 467d075..5ddfc4d 100644 --- a/apps/bim/aero/bim-worker.yaml +++ b/apps/bim/aero/bim-worker.yaml @@ -37,7 +37,6 @@ spec: {{- with secret "secrets/data/apps/bim/postgres" -}} DB_HOST={{ index .Data.data "host" }} DB_PORT={{ index .Data.data "port" }} - DB_NAME={{ index .Data.data "database" }} DB_USER={{ index .Data.data "username" }} DB_PASSWORD={{ index .Data.data "password" }} {{- end -}} @@ -86,6 +85,15 @@ spec: value: "true" - name: FEATURE_ENABLE_GCLOUD value: "false" + # Значение НЕ УДАЛЯТЬ, даже при выключенном флаге выше. settings.py + # делает check_settings(): проходит по всем ключам ENV_FIELDS и + # падает на первом же незаданном — + # Exception: ENV_VARIABLE NOT SET: GOOGLE_APPLICATION_CREDENTIALS + # Флаги проверяются позже, до них дело не доходит. Файла по этому + # пути нет и не будет: при FEATURE_ENABLE_GCLOUD=false его никто не + # открывает, важно лишь наличие самой переменной. + - name: GOOGLE_APPLICATION_CREDENTIALS + value: /etc/sarex/google-storage/service_account.json - name: FEATURE_ENABLE_S3 value: "true" - name: S3_BUCKET diff --git a/infrastructure/postgresql/aero/postgresql.yaml b/infrastructure/postgresql/aero/postgresql.yaml index 6441075..01ae7bd 100644 --- a/infrastructure/postgresql/aero/postgresql.yaml +++ b/infrastructure/postgresql/aero/postgresql.yaml @@ -164,7 +164,12 @@ spec: - ltree - hstore restoreFromDump: false - - name: bim_db + # Имя ОБЯЗАНО быть bimapidb: в aero/bimbackend оно захардкожено и + # переменной не задаётся — и в entrypoint_api.sh (yoyo apply + # ... /bimapidb), и в models/database.py (PooledPostgresqlExtDatabase + # ('bimapidb', ...)). С любым другим именем приложение падает на + # старте: FATAL: database "bimapidb" does not exist. + - name: bimapidb user: bim passwordKey: bim extensions: []