Compare commits
218 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9022560f3 | ||
|
|
10c04ba32b | ||
|
|
32e4bc657a | ||
|
|
5e5148e951 | ||
|
|
eb112cd4dd | ||
|
|
56a75bf6a6 | ||
|
|
b7e7fc1c72 | ||
|
|
30f1d32fc5 | ||
|
|
2aaa45bf3c | ||
|
|
2f5e37f598 | ||
|
|
ae1a683ada | ||
|
|
ad7050ca7d | ||
|
|
5525cc33ff | ||
| e4e5e06aec | |||
| 9f2c6932d7 | |||
|
|
cd94931c76 | ||
|
|
104bde49c4 | ||
|
|
b61571a858 | ||
| 13b9ca8a9f | |||
|
|
31bdc74c80 | ||
|
|
9f4801af68 | ||
|
|
63b33aaafb | ||
|
|
fb52d422ca | ||
|
|
deb0d5f0eb | ||
| 1613172dd6 | |||
| b7c36a5348 | |||
| 0037411aae | |||
| c23b51e2a5 | |||
| 448a994fd4 | |||
|
|
bfad13da2f | ||
|
|
f936f5ffb0 | ||
|
|
25b3536124 | ||
|
|
cdc2c34bca | ||
|
|
3b53a99371 | ||
|
|
aa3365cb0d | ||
|
|
7cf8b13f91 | ||
|
|
83bfd4e046 | ||
| 1c3525fc1b | |||
| a3fa7ba4c0 | |||
| 32e4cff59e | |||
| 4a46bb6626 | |||
| 34cbe7c79e | |||
|
|
ae911c7d38 | ||
|
|
bd4b6d4ea6 | ||
|
|
56ade56754 | ||
|
|
8a3540ead7 | ||
|
|
3dadb7a87a | ||
|
|
fc8ddcb511 | ||
| f5a217e793 | |||
| eeb27c6e29 | |||
| 0fb5374e06 | |||
| 0a81938175 | |||
| 84f2555494 | |||
| faa1dd2cac | |||
|
|
f4a19774a2 | ||
|
|
f39a907a87 | ||
| c401cf0dcb | |||
|
|
1d349b1a8c | ||
|
|
f6d4c2face | ||
|
|
6fda7834ce | ||
|
|
0d4befa985 | ||
|
|
9f263a97f3 | ||
| b6f164f85e | |||
| 5e10d54d67 | |||
| f190a6efa5 | |||
| 5bccce5815 | |||
| 0c696d3a3e | |||
|
|
385abf1092 | ||
|
|
3f7628cc54 | ||
| 2182c09031 | |||
|
|
e33eaa1db8 | ||
|
|
cb99195564 | ||
|
|
f5ea728d29 | ||
| f86336741b | |||
| 4448188464 | |||
|
|
af56004006 | ||
| af112cfffe | |||
|
|
03eb83b362 | ||
|
|
a8716d51b3 | ||
|
|
a71b15ae18 | ||
|
|
a2f6a234cb | ||
|
|
6b5e2b7a1f | ||
|
|
5cbcdd4ff7 | ||
| 36b63ef189 | |||
|
|
4727e26c70 | ||
|
|
91d6aa41d6 | ||
|
|
b3a1fe63c2 | ||
|
|
10d962dce5 | ||
|
|
3cfe74c301 | ||
|
|
c36406209f | ||
|
|
314d2103d0 | ||
|
|
ced8b7bc04 | ||
|
|
7d25e214cd | ||
|
|
934241a9b1 | ||
|
|
54c036b23e | ||
|
|
7dbefd16c9 | ||
|
|
30eb5c554f | ||
|
|
005e88d91e | ||
| 3a62bd4792 | |||
|
|
7fec316147 | ||
|
|
5e87556471 | ||
|
|
bbe4d60705 | ||
| de5992a73a | |||
|
|
d8ed05e07f | ||
|
|
e0dcd7372c | ||
|
|
0c651d3d92 | ||
|
|
7a3d4740bc | ||
|
|
0c0f5c7f55 | ||
| 04b6381d95 | |||
|
|
ca9184405a | ||
| 957dc3aed1 | |||
| 1b2469a6ea | |||
| d5ebf66329 | |||
| 0fc547c16f | |||
| ac809510da | |||
|
|
f9325ca612 | ||
|
|
6bacdace28 | ||
|
|
ddb2fefdf0 | ||
|
|
91fed827b4 | ||
|
|
be78040179 | ||
|
|
2e4879aa53 | ||
|
|
86d8a066cd | ||
|
|
03f6eef5b9 | ||
|
|
2c1ab636ef | ||
| ce7d3f143a | |||
| 1b2232987d | |||
| 3450e8fcfb | |||
|
|
cad5668b5b | ||
|
|
f22d5cc773 | ||
|
|
709985b4a6 | ||
| c656984f3a | |||
| 6ead15adff | |||
| b13c83e6b8 | |||
| 12cc447017 | |||
| 18e577fa7b | |||
| e994174b1e | |||
| b684295b0d | |||
| 57f3b8bee2 | |||
| 0ad267ffb1 | |||
| 6361da35ec | |||
| 4ce31d94aa | |||
| 2961d1cad4 | |||
| 0a397cb4ec | |||
| 04e07394bc | |||
| 7d6aa8592d | |||
| 4117134461 | |||
| 0f5a604624 | |||
| fe0fa4b0e0 | |||
| 163e70e292 | |||
| 077b7b6c7a | |||
| e5d9a364c6 | |||
| 93b66e96d9 | |||
| a9759c350b | |||
| 8e366632a1 | |||
| 1120ed4411 | |||
| 8c8a3b7cc2 | |||
|
|
be58c1cddd | ||
|
|
8f03e59c97 | ||
|
|
41f2f2f539 | ||
|
|
fc78f0f145 | ||
|
|
a30c689d50 | ||
|
|
be09be5067 | ||
| 84231c856e | |||
|
|
7f8263ede6 | ||
|
|
2e6fd7bfe8 | ||
|
|
1067163ef7 | ||
|
|
c29ad3284d | ||
|
|
96c594efe1 | ||
|
|
b36a349aff | ||
| 79d89bac13 | |||
| 25b327805f | |||
| fcc754d9f8 | |||
| 20e5a08e75 | |||
| 97451d6628 | |||
|
|
230184bc37 | ||
|
|
e7e0dac1ca | ||
|
|
fd78c1bc0b | ||
|
|
ff27b79765 | ||
| ca94c91084 | |||
| 41c7219486 | |||
| 145afeb702 | |||
| da1c83ef59 | |||
| e62e78c273 | |||
| 54b430c48d | |||
| 0b3d1b8aec | |||
| 79d614ee0e | |||
|
|
7f48b1ad0d | ||
| 653a95cd6b | |||
| eb33446997 | |||
| 09d49a334f | |||
| 7f3658078c | |||
| c43ffe5bcc | |||
|
|
9a373f670c | ||
|
|
e4d145ec95 | ||
|
|
e85bf3800e | ||
|
|
ce64374b4c | ||
| 5d5884a1e0 | |||
| 6ba8444272 | |||
| 601ac84079 | |||
|
|
5fdf3c1e32 | ||
| ab0a052db2 | |||
|
|
5fb9d9731e | ||
| 831aa2ad28 | |||
| 6ef56742d7 | |||
|
|
d816a80776 | ||
|
|
ae2c5b5a62 | ||
| 53987611fa | |||
|
|
a4d7dda8c1 | ||
| 4a9b8a75b8 | |||
|
|
a7077fb9ae | ||
|
|
b6aca0dc88 | ||
|
|
b14783ad36 | ||
|
|
98ec6cc7df | ||
|
|
6a2240ecd4 | ||
|
|
fb614030e7 | ||
|
|
5341c355c9 | ||
|
|
add56bbe3f | ||
| 247a753f5d |
@ -4,6 +4,8 @@ include:
|
|||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
|
- slices
|
||||||
|
- slices-publish
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
RELEASE_NAME: iac-offline
|
RELEASE_NAME: iac-offline
|
||||||
@ -33,3 +35,31 @@ build_offline_mirror:
|
|||||||
- docker push ${IMAGE_NAME}
|
- docker push ${IMAGE_NAME}
|
||||||
- docker push ${CR}/${RELEASE_NAME}:latest
|
- docker push ${CR}/${RELEASE_NAME}:latest
|
||||||
timeout: 30m
|
timeout: 30m
|
||||||
|
|
||||||
|
generate_slice_jobs:
|
||||||
|
stage: slices
|
||||||
|
image: ${CR}/infra/slice-builder:1.0.0
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG =~ /^v?(?:\d+\.){2}\d+$/
|
||||||
|
variables:
|
||||||
|
GIT_DEPTH: "1"
|
||||||
|
script:
|
||||||
|
- python3 ci/publish-slice.py generate --release "$CI_COMMIT_TAG" --commit "$CI_COMMIT_SHA" --out slices-pipeline.yml
|
||||||
|
- cat slices-pipeline.yml
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- slices-pipeline.yml
|
||||||
|
|
||||||
|
publish_contour_slices:
|
||||||
|
stage: slices-publish
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG =~ /^v?(?:\d+\.){2}\d+$/
|
||||||
|
needs:
|
||||||
|
- generate_slice_jobs
|
||||||
|
trigger:
|
||||||
|
include:
|
||||||
|
- artifact: slices-pipeline.yml
|
||||||
|
job: generate_slice_jobs
|
||||||
|
strategy: depend
|
||||||
|
|||||||
38
CLAUDE.md
38
CLAUDE.md
@ -25,11 +25,13 @@
|
|||||||
|
|
||||||
| Путь | Что |
|
| Путь | Что |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `clusters/` | 10 точек входа Flux — **источник истины «что где раскатано»** |
|
| `clusters/` | 17 точек входа Flux + шаблон `contour` — **источник истины «что где раскатано»** |
|
||||||
| `infrastructure/` | 36 платформенных компонентов |
|
| `infrastructure/` | 44 платформенных компонента |
|
||||||
| `apps/` | 37 прикладных сервисов |
|
| `apps/` | 39 прикладных сервисов |
|
||||||
| `docs/apps/` | 35 mermaid-диаграмм по сервисам + `README.md` с доменной группировкой |
|
| `docs/apps/` | 34 mermaid-диаграммы по сервисам + `README.md` с доменной группировкой |
|
||||||
|
| `docs/architecture/` | модель контура в ArchiMate + скрипты-сканеры (`scan_calls.py`, `scan_contour.py`) и сборка (`build_archimate.py`); реальные значения инсталляций сюда не кладутся, только `*.example.json` |
|
||||||
| `docs/closed-contour-deployment.md` | ранбук поднятия закрытого контура |
|
| `docs/closed-contour-deployment.md` | ранбук поднятия закрытого контура |
|
||||||
|
| `ci/`, `.gitlab-ci.yml`, `Dockerfile` | на тег `vX.Y.Z`: образ офлайн-зеркала `iac-offline` и публикация «слайсов» контуров (см. ниже) |
|
||||||
| `README.md` | mermaid-мегакарта платформы, структура репозитория, инструкции по добавлению app / infra / кластера |
|
| `README.md` | mermaid-мегакарта платформы, структура репозитория, инструкции по добавлению app / infra / кластера |
|
||||||
| `IAC-CATALOG.md` | каталог всего `infra/*`; §5 — про этот репозиторий |
|
| `IAC-CATALOG.md` | каталог всего `infra/*`; §5 — про этот репозиторий |
|
||||||
| `inventory.yaml` | сгенерированный снимок прода: 59 namespace → kind → имена |
|
| `inventory.yaml` | сгенерированный снимок прода: 59 namespace → kind → имена |
|
||||||
@ -38,15 +40,18 @@
|
|||||||
|
|
||||||
**Кластер.** `clusters/<cluster>/kustomization.yaml` — плоский список `../../apps/<app>/<cluster>`. Инфраструктура подключается двумя разными способами:
|
**Кластер.** `clusters/<cluster>/kustomization.yaml` — плоский список `../../apps/<app>/<cluster>`. Инфраструктура подключается двумя разными способами:
|
||||||
|
|
||||||
- `d8-ugmk-prod` — прямо в корневом kustomization как `../../infrastructure/<comp>/d8-ugmk-prod`;
|
- `d8-ugmk-prod`, `sarex-contour`, `ugok`, `uralkal`, `vad` — прямо в корневом kustomization как `../../infrastructure/<comp>/<c>`;
|
||||||
- `brusnika-prod`, `brusnika-stage` — через `clusters/<c>/infrastructure/kustomization.yaml`, который ссылается на оверлеи `../../../infrastructure/<comp>/<c>` (`base` + патч HelmRelease + сопутствующие манифесты компонента);
|
- `brusnika-prod`, `brusnika-stage`, `vk-infra`, `vk-prod` — через `clusters/<c>/infrastructure/kustomization.yaml`, который ссылается на оверлеи `../../../infrastructure/<comp>/<c>` (`base` + патч HelmRelease + сопутствующие манифесты компонента);
|
||||||
- `wb` — через `clusters/wb/infrastructure/kustomization.yaml`, который ссылается на `../../../infrastructure/<comp>` (резолвится в `base`), а различия лежат в `clusters/wb/infrastructure/patches/*.yaml`.
|
- `wb`, `yc-cps-prod`, `yc-infra-prod`, `yc-k8s-test-02` — через `clusters/<c>/infrastructure/kustomization.yaml`, который ссылается на `../../../infrastructure/<comp>` (резолвится в `base`), а различия лежат в `clusters/<c>/infrastructure/patches/*.yaml`;
|
||||||
|
- `stand` — послойно: `layers.yaml` объявляет Flux-`Kustomization` `00-vault → 10-mesh → 20-data → 30-platform → 40-routing` (каталоги `clusters/stand/<NN>-<layer>/`). Слои ссылаются на оверлеи `infrastructure/<comp>/contour-template`, а значения контура (`${STORAGE_CLASS}`, `${HOST_*}`, `${GATEWAY_REPLICAS}`) Flux подставляет через `postBuild.substituteFrom` из ConfigMap `contour-vars`.
|
||||||
|
|
||||||
Кластеры: `brusnika-prod`, `brusnika-stage`, `d8-ugmk-prod`, `wb`, `yc-cps-prod`, `yc-ecp`, `yc-infra-prod`, `yc-k8s-test`, `yc-k8s-test-02`, `contour`.
|
Кластеры с приложениями: `asterus`, `brusnika-prod`, `brusnika-stage`, `d8-ugmk-prod`, `sarex-contour`, `ugok`, `uralkal`, `vad`, `wb`, `yc-ecp`, `yc-k8s-test`. Только инфраструктура: `stand`, `vk-infra`, `vk-prod`, `yc-cps-prod`, `yc-infra-prod`, `yc-k8s-test-02`. Шаблон: `contour`.
|
||||||
|
|
||||||
**Приложение.** `apps/<app>/base/` — по одному `.yaml` на процесс (`backend.yaml`, `celery.yaml`, `frontend.yaml`) плюс `namespace.yaml`; оверлеи в `apps/<app>/<cluster>/`. Namespace = имя приложения. Рядом с манифестами лежит документация: `CONFIGURATION.md` (все env-переменные и откуда берутся), `ENDPOINTS.md` (исходящие HTTP-вызовы), `openapi.yaml` (входящий контракт), `.env.example`. Если процессов несколько — файлы с префиксом процесса: `api.ENDPOINTS.md`, `pdm.CONFIGURATION.md`, `frontend.CONFIGURATION.md`.
|
**Приложение.** `apps/<app>/base/` — по одному `.yaml` на процесс (`backend.yaml`, `celery.yaml`, `frontend.yaml`) плюс `namespace.yaml`; оверлеи в `apps/<app>/<cluster>/`. Namespace = имя приложения. Рядом с манифестами лежит документация: `CONFIGURATION.md` (все env-переменные и откуда берутся), `ENDPOINTS.md` (исходящие HTTP-вызовы), `openapi.yaml` (входящий контракт), `.env.example`. Если процессов несколько — файлы с префиксом процесса: `api.ENDPOINTS.md`, `pdm.CONFIGURATION.md`, `frontend.CONFIGURATION.md`.
|
||||||
|
|
||||||
**Инфра-компонент.** `infrastructure/<comp>/base/` + оверлеи `<comp>/<cluster>/`. Корневой `infrastructure/<comp>/kustomization.yaml` всегда указывает просто на `base`. Чарты идут с суффиксом контура: `vault-contour`, `keycloak-contour`, `postgresql-contour` и — внимание — `idp-contour` это Zitadel.
|
**Инфра-компонент.** `infrastructure/<comp>/base/` + оверлеи `<comp>/<cluster>/`. Корневой `infrastructure/<comp>/kustomization.yaml` всегда указывает просто на `base`. Оверлей `contour-template` (есть у vault, istio-*, cert-manager, postgresql, kafka, rabbitmq, zitadel, camunda, istio-config) — параметризованный `${VAR}`, а не привязанный к конкретному кластеру. Чарты идут с суффиксом контура: `vault-contour`, `keycloak-contour`, `postgresql-contour` и — внимание — `idp-contour` это Zitadel.
|
||||||
|
|
||||||
|
**Слайсы.** На тег `vX.Y.Z` `ci/publish-slice.py generate` создаёт child-pipeline с отдельной джобой на каждый `clusters/*/kustomization.yaml`. Джоба вызывает `ci/build-slice.py`: тот обходит дерево Kustomize от `clusters/<c>` и упаковывает только нужные файлы в tar. Результат публикуется как OCI-артефакт `cr.yandex/crpct2b2lsmao4nm0cjk/<c>-iac:<tag>` (media type `application/vnd.sarex.slice.config.v1+json`). Так закрытый контур получает только свой срез. Тесты — `ci/tests/test_build_slice.py`.
|
||||||
|
|
||||||
## Где искать конкретное
|
## Где искать конкретное
|
||||||
|
|
||||||
@ -62,18 +67,23 @@
|
|||||||
| Тег образа в контуре | `apps/<app>/<cluster>/*.yaml`, поле `image.tag` |
|
| Тег образа в контуре | `apps/<app>/<cluster>/*.yaml`, поле `image.tag` |
|
||||||
| Что реально в проде по namespace | `inventory.yaml` |
|
| Что реально в проде по namespace | `inventory.yaml` |
|
||||||
| Где лежит исходный код приложения | `IAC-CATALOG.md` §5.3.8 |
|
| Где лежит исходный код приложения | `IAC-CATALOG.md` §5.3.8 |
|
||||||
|
| Что попадёт в слайс контура | `python3 ci/build-slice.py` по `clusters/<c>` (логика сбора — там же) |
|
||||||
|
| Переменные шаблонного контура | `${...}` в `infrastructure/*/contour-template`; значения — ConfigMap `contour-vars` в кластере, не в репозитории |
|
||||||
|
|
||||||
## Ловушки
|
## Ловушки
|
||||||
|
|
||||||
- **`dsinv/`** — оверлей есть у 25 приложений, но `clusters/dsinv/` не существует. Это материализованный снимок живого контура WB, а не источник деплоя. Развёрнутым не считать.
|
- **`dsinv/`** — оверлей есть у 25 приложений, но `clusters/dsinv/` не существует. Это материализованный снимок живого контура WB, а не источник деплоя. Развёрнутым не считать.
|
||||||
- **Две несовместимые конвенции оверлеев** (`IAC-CATALOG.md` §5.3.4). `d8-ugmk-prod`, `yc-k8s-test`, `dsinv` наследуют `base` и патчат его. `brusnika-prod`, `brusnika-stage`, `yc-ecp` — полные копии HelmRelease, которые молча дрейфуют от base. Правка `base` на них не влияет.
|
- **Две несовместимые конвенции оверлеев** (`IAC-CATALOG.md` §5.3.4). `d8-ugmk-prod`, `yc-k8s-test`, `vad`, `uralkal`, `sarex-contour`, `dsinv` наследуют `base` и патчат его. `brusnika-prod`, `brusnika-stage`, `yc-ecp`, `asterus` — полные копии HelmRelease, которые молча дрейфуют от base. Правка `base` на них не влияет. **`wb` (4 из 27) и `ugok` (9 из 33) смешанные** — проверяйте `resources:` конкретного оверлея; в `ugok` причина обычно указана комментарием в его `kustomization.yaml`.
|
||||||
|
- **`asterus` подключён почти пустым**: оверлеи есть у 26 приложений, но в `clusters/asterus/kustomization.yaml` активен только `auth-flow`, остальные закомментированы. Инфраструктуры в кластере нет.
|
||||||
|
- **Слайс публикуется для каждого `clusters/*/kustomization.yaml`** — в том числе для тестовых и инфраструктурных кластеров. Новая папка в `clusters/` с этим файлом автоматически станет слайсом на следующем теге. У `contour` такого файла нет, поэтому для него слайс не собирается.
|
||||||
- **`IAC-CATALOG.md` — снимок на 05.08.2026** и по составу приложений на контур уже расходится с реальностью (там у `wb` ноль приложений, фактически 26 оверлеев). Всегда сверяться с `clusters/*/kustomization.yaml`.
|
- **`IAC-CATALOG.md` — снимок на 05.08.2026** и по составу приложений на контур уже расходится с реальностью (там у `wb` ноль приложений, фактически 26 оверлеев). Всегда сверяться с `clusters/*/kustomization.yaml`.
|
||||||
- **Мегадиаграмма в `README.md` идеализирована** — рисована руками, показывает все приложения на одной Postgres и все фронтенды за `control-interface`. Проверяемые источники — env-переменные и istio-config.
|
- **Мегадиаграмма в `README.md` идеализирована** — рисована руками, показывает все приложения на одной Postgres и все фронтенды за `control-interface`. Проверяемые источники — env-переменные и istio-config.
|
||||||
- **`clusters/contour/` — не кластер, а шаблон**: в нём нет `flux-system`, только `apps.yaml`, `infrastructure.yaml`, `helm-repositories.yaml`.
|
- **`clusters/contour/` — не кластер, а шаблон**: в нём нет `flux-system`, только `apps.yaml`, `infrastructure.yaml`, `helm-repositories.yaml`.
|
||||||
- **Path-роутинг виден в репозитории только у `d8-ugmk-prod` и `yc-ecp`.** В Brusnika и WB весь прикладной трафик уходит одним правилом в `nginx-service.global-ingress` / `yet-another-nginx-service.global-ingress`, а разводка по путям происходит вне репозитория. Через Istio там публикуются только платформенные UI (Gitea, Grafana, OpenObserve, Superset, Vault, Zitadel, Camunda, MinIO).
|
- **Path-роутинг лежит в `infrastructure/istio-config/<c>/` у большинства контуров, но не у WB.** В `clusters/wb/infrastructure/patches/istio-config.yaml` через Istio публикуются только платформенные UI (Gitea, Grafana, OpenObserve, Superset, Vault, GoAlert), а прикладной трафик разводится вне репозитория. В Brusnika схема смешанная: часть путей идёт напрямую в сервисы, остальное — одним правилом в `yet-another-nginx-service.global-ingress`.
|
||||||
- **Имена namespace расходятся между источниками**: `inventory.yaml` использует суффикс (`flows-prod`), `apps/` — голое имя (`flows`).
|
- **`vk-prod` маршрутизирует в namespace с суффиксом `-prod`** (`eav-prod`, `pm-prod`, `inspections-prod`), а приложений из `apps/` в этом кластере нет: сервисы раскатываются не этим репозиторием.
|
||||||
- **17 оверлеев приложений не подключены ни к одному кластеру** — мёртвый код.
|
- **Имена namespace расходятся между источниками**: `inventory.yaml` и `vk-prod` используют суффикс (`flows-prod`), `apps/` — голое имя (`flows`).
|
||||||
- **Нет диаграмм** в `docs/apps/` для `iam`, `auth-flow`, `ams-sync`.
|
- **66 оверлеев приложений не подключены ни к одному кластеру**: 25 — `dsinv`, 25 — закомментированные в `asterus`, остальные 16 — мёртвый код (в основном `brusnika-prod`, плюс `bi`/`iam` в `wb` и `yc-k8s-test`).
|
||||||
|
- **Нет диаграмм** в `docs/apps/` для `ams-sync`, `auth-flow`, `bi`, `iam`, `premises`.
|
||||||
- **Чистые фронтенды без бэкенда в этом репозитории**: `auth-flow`, `control-interface`, `cross-section`, `document-link`, `prescriptions`, `projects`, `remarks`, `reviews`, `stamp-verification`. Бэкенд `projects` живёт в `planning/projects-backend`.
|
- **Чистые фронтенды без бэкенда в этом репозитории**: `auth-flow`, `control-interface`, `cross-section`, `document-link`, `prescriptions`, `projects`, `remarks`, `reviews`, `stamp-verification`. Бэкенд `projects` живёт в `planning/projects-backend`.
|
||||||
- Самые центральные сервисы по числу входящих ссылок: `documentations` (~85), `processing` / `workflow` (~76), `django` (~53), `eav` (~47), `resources` (~44), `bim` (~39), `flows` (~38). Менять их конфигурацию — дороже всего.
|
- Самые центральные сервисы по числу входящих ссылок: `documentations` (~85), `processing` / `workflow` (~76), `django` (~53), `eav` (~47), `resources` (~44), `bim` (~39), `flows` (~38). Менять их конфигурацию — дороже всего.
|
||||||
|
|
||||||
|
|||||||
BIN
apps/.DS_Store
vendored
Normal file
BIN
apps/.DS_Store
vendored
Normal file
Binary file not shown.
@ -35,7 +35,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/attachments:production_6dbb4dce
|
_default: cr.yandex/crp3ccidau046kdj8g9q/att9:dev
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@ spec:
|
|||||||
vault.hashicorp.com/agent-inject-secret-attachments-s3: secrets/data/minio/apps/attachments
|
vault.hashicorp.com/agent-inject-secret-attachments-s3: secrets/data/minio/apps/attachments
|
||||||
vault.hashicorp.com/agent-inject-template-attachments-s3: |-
|
vault.hashicorp.com/agent-inject-template-attachments-s3: |-
|
||||||
{{- with secret "secrets/data/minio/apps/attachments" -}}
|
{{- with secret "secrets/data/minio/apps/attachments" -}}
|
||||||
YANDEX_S3_ENDPOINT_URL=s3-proxy.s3-proxy.svc.cluster.local
|
YANDEX_S3_ENDPOINT_URL=10.133.0.245:9000
|
||||||
YANDEX_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
|
YANDEX_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
|
||||||
YANDEX_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
|
YANDEX_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
|
||||||
YANDEX_S3_USE_SSL=false
|
YANDEX_S3_USE_SSL=false
|
||||||
|
|||||||
@ -37,7 +37,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/bi-backend:production_37902c73
|
_default: cr.yandex/crp3ccidau046kdj8g9q/bi-backend:production_e607dcc6
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
@ -119,6 +119,10 @@ spec:
|
|||||||
_default: regcred
|
_default: regcred
|
||||||
|
|
||||||
envs:
|
envs:
|
||||||
|
- name: SUPERSET_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://superset.test.sarex.brusnika.tech"
|
||||||
|
|
||||||
- name: SETTINGS_DEBUG
|
- name: SETTINGS_DEBUG
|
||||||
value:
|
value:
|
||||||
_default: "0"
|
_default: "0"
|
||||||
|
|||||||
@ -35,7 +35,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/bim-backend-v2:donstroi1
|
_default: cr.yandex/crp3ccidau046kdj8g9q/bim-backend-v2:prod_2bde8e0a
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
40
apps/cde/brusnika-stage/cde-flowscallback.yaml
Normal file
40
apps/cde/brusnika-stage/cde-flowscallback.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde-flowscallback
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-flowscallback
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-flowscallback
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-flowscallback
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/flowscallback-worker:preprod_0986a572
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-flowscallback
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
40
apps/cde/brusnika-stage/cde-splitpdf.yaml
Normal file
40
apps/cde/brusnika-stage/cde-splitpdf.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde-splitpdf
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-splitpdf
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-splitpdf
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-splitpdf
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'true'
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/splitpdf-worker:prod_4.4.1
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-splitpdf
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
35
apps/cde/brusnika-stage/cde-worker-alert.yaml
Normal file
35
apps/cde/brusnika-stage/cde-worker-alert.yaml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde-worker-alert
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-alert
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 0
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-alert
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-alert
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/orchestrator:latest
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-alert
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
40
apps/cde/brusnika-stage/cde-worker-copy.yaml
Normal file
40
apps/cde/brusnika-stage/cde-worker-copy.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde-worker-copy
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-copy
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-copy
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-copy
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/copy-worker:preprod_0986a572
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-copy
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
41
apps/cde/brusnika-stage/cde-worker-copyv2.yaml
Normal file
41
apps/cde/brusnika-stage/cde-worker-copyv2.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde-worker-copyv2
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/name: cde-worker-copyv2
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/name: cde-worker-copy
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-copy
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'true'
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/copyv2-worker:prod_4.0.2
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-copy
|
||||||
|
securityContext: {}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
40
apps/cde/brusnika-stage/cde-worker-markings.yaml
Normal file
40
apps/cde/brusnika-stage/cde-worker-markings.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde-worker-markings
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-markings
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-markings
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-markings
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/markings-worker:preprod_eb50f30e
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-markings
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
40
apps/cde/brusnika-stage/cde-worker-sign.yaml
Normal file
40
apps/cde/brusnika-stage/cde-worker-sign.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde-worker-sign
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-sign
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-sign
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-sign
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/sign-worker:preprod_0986a572
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-sign
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
40
apps/cde/brusnika-stage/cde-worker-update-bundles.yaml
Normal file
40
apps/cde/brusnika-stage/cde-worker-update-bundles.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde-worker-update-bundles
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-updatebundles
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde-worker-updatebundles
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-updatebundles
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/updatebundles-worker:preprod_0986a572
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-update-bundles
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
55
apps/cde/brusnika-stage/cde.yaml
Normal file
55
apps/cde/brusnika-stage/cde.yaml
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: cde
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/cde:production_e5316bd0
|
||||||
|
imagePullPolicy: Always
|
||||||
|
livenessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 15
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
tcpSocket:
|
||||||
|
port: 8080
|
||||||
|
timeoutSeconds: 1
|
||||||
|
name: cde
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
name: http
|
||||||
|
protocol: TCP
|
||||||
|
readinessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 15
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
tcpSocket:
|
||||||
|
port: 8080
|
||||||
|
timeoutSeconds: 1
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
41
apps/cde/brusnika-stage/createversionsv2-worke.yaml
Normal file
41
apps/cde/brusnika-stage/createversionsv2-worke.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: createversionsv2-worke
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/name: cde-worker-createversions
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/name: cde-worker-createversions
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-createversions
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'true'
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'true'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/createversionsv2-worker:preprod_90202b78
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: createversionsv2-worke
|
||||||
|
securityContext: {}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
@ -1,6 +1,19 @@
|
|||||||
---
|
---
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: contracts
|
namespace: orchestrator
|
||||||
resources:
|
resources:
|
||||||
- helmrelease.yaml
|
- serviceaccount.yaml
|
||||||
|
- service.yaml
|
||||||
|
- cde.yaml
|
||||||
|
- cde-flowscallback.yaml
|
||||||
|
- cde-splitpdf.yaml
|
||||||
|
- cde-worker-alert.yaml
|
||||||
|
- cde-worker-copy.yaml
|
||||||
|
- cde-worker-markings.yaml
|
||||||
|
- cde-worker-sign.yaml
|
||||||
|
- cde-worker-update-bundles.yaml
|
||||||
|
- cde-worker-copyv2.yaml
|
||||||
|
- createversionsv2-worke.yaml
|
||||||
|
- markingsv2-worker.yaml
|
||||||
|
- signv2-worker.yaml
|
||||||
|
|||||||
41
apps/cde/brusnika-stage/markingsv2-worker.yaml
Normal file
41
apps/cde/brusnika-stage/markingsv2-worker.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: markingsv2-worker
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/name: cde-worker-markings
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/name: cde-worker-markings
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-markings
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'true'
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/markingsv2-worker:prod_4.0.2
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-markings
|
||||||
|
securityContext: {}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
19
apps/cde/brusnika-stage/service.yaml
Normal file
19
apps/cde/brusnika-stage/service.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: cde
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 8080
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8080
|
||||||
10
apps/cde/brusnika-stage/serviceaccount.yaml
Normal file
10
apps/cde/brusnika-stage/serviceaccount.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: cde
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: cde
|
||||||
|
app.kubernetes.io/name: cde
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
41
apps/cde/brusnika-stage/signv2-worker.yaml
Normal file
41
apps/cde/brusnika-stage/signv2-worker.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: signv2-worker
|
||||||
|
namespace: orchestrator
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/name: cde-worker-sign
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/name: cde-worker-sign
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: name
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: cde-worker-sign
|
||||||
|
app.kubernetes.io/version: 0.0.1
|
||||||
|
helm.sh/chart: cde-0.1.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cde
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: S3_IS_CONTOUR
|
||||||
|
value: 'true'
|
||||||
|
- name: IS_CONTOUR
|
||||||
|
value: 'True'
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: cde-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/signv2-worker:prod_4.0.2
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: cde-worker-sign
|
||||||
|
securityContext: {}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: dockerhub
|
||||||
@ -36,7 +36,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/comparisons-frontend:prod_6dc6e0c2
|
_default: cr.yandex/crp3ccidau046kdj8g9q/comparisons-frontend:contour_0570a1f1
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -8,8 +8,105 @@ spec:
|
|||||||
values:
|
values:
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
|
image:
|
||||||
|
name:
|
||||||
|
_default: cr.yandex/crp3ccidau046kdj8g9q/comparisons-api-v2:contour_9a2bab4e
|
||||||
|
|
||||||
deployment:
|
deployment:
|
||||||
|
port:
|
||||||
|
_default: 8080
|
||||||
|
|
||||||
|
args:
|
||||||
|
_default:
|
||||||
|
- |
|
||||||
|
set -a
|
||||||
|
[ -f /vault/secrets/comparisons-db ] && . /vault/secrets/comparisons-db
|
||||||
|
[ -f /vault/secrets/comparisons-jwt-public ] && export AUTH_PUBLIC_KEY="$(cat /vault/secrets/comparisons-jwt-public)"
|
||||||
|
set +a
|
||||||
|
cd /opt/comparisons
|
||||||
|
./migrations up
|
||||||
|
exec ./api
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: null
|
cpu: null
|
||||||
memory: null
|
memory: null
|
||||||
|
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
httpGet:
|
||||||
|
port:
|
||||||
|
_default: 8080
|
||||||
|
readiness:
|
||||||
|
httpGet:
|
||||||
|
port:
|
||||||
|
_default: 8080
|
||||||
|
|
||||||
|
service:
|
||||||
|
targetPort:
|
||||||
|
_default: 8080
|
||||||
|
|
||||||
|
envs:
|
||||||
|
- name: APP_NAME
|
||||||
|
value:
|
||||||
|
_default: "comparisons-api-v2"
|
||||||
|
|
||||||
|
- name: APP_VERSION
|
||||||
|
value:
|
||||||
|
_default: "0.0.1"
|
||||||
|
|
||||||
|
- name: LOGGER_LOG_LEVEL
|
||||||
|
value:
|
||||||
|
_default: "info"
|
||||||
|
|
||||||
|
- name: DATABASE_NAME
|
||||||
|
value:
|
||||||
|
_default: "postgres"
|
||||||
|
|
||||||
|
- name: PGSSLMODE
|
||||||
|
value:
|
||||||
|
_default: "disable"
|
||||||
|
|
||||||
|
- name: HTTP_PORT
|
||||||
|
value:
|
||||||
|
_default: "8080"
|
||||||
|
|
||||||
|
- name: DOCUMENTATIONS_INTERNAL_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-api-svc.documentations.svc.cluster.local"
|
||||||
|
|
||||||
|
- name: DOCUMENTATIONS_EXTERNAL_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-api-svc.documentations.svc.cluster.local"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.processing.svc.cluster.local"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_IMAGE_VERSION
|
||||||
|
value:
|
||||||
|
_default: "master"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_DJANGO_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.local.uralkali.com"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_BIMV2_INTERNAL_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.bim.svc.cluster.local"
|
||||||
|
|
||||||
|
- name: WORKSPACES_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.workspaces.svc.cluster.local"
|
||||||
|
|
||||||
|
- name: EAV_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.eav.svc.cluster.local"
|
||||||
|
|
||||||
|
- name: ABAP_FIXED_CONC
|
||||||
|
value:
|
||||||
|
_default: "0"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_CONFIG_FILEPATH
|
||||||
|
value:
|
||||||
|
_default: "/etc/app/tasks-execution-config.json"
|
||||||
|
|||||||
@ -3,6 +3,10 @@ kind: Kustomization
|
|||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
patches:
|
patches:
|
||||||
|
- path: tasks-execution-config.yaml
|
||||||
|
target:
|
||||||
|
kind: ConfigMap
|
||||||
|
name: tasks-execution-config-comparisons-v2
|
||||||
- path: backend.yaml
|
- path: backend.yaml
|
||||||
target:
|
target:
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
|
|||||||
122
apps/comparisons/uralkal/tasks-execution-config.yaml
Normal file
122
apps/comparisons/uralkal/tasks-execution-config.yaml
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: tasks-execution-config-comparisons-v2
|
||||||
|
namespace: comparisons
|
||||||
|
data:
|
||||||
|
tasks-execution-config-comparisons-v2.json: |
|
||||||
|
{
|
||||||
|
"abap": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bim2bim_comparison": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bim_api_metadata_inserter_v2": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bim_api_metadata_inserter_v4": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bim_abap_updater": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"build_ooc": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"calculate_deviation_job": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cloud_to_cloud": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cloud_to_surface": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"convert_to_potree": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deviation_icp": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"las_to_tiff": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pdf_cv_comparer": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pdf_georeferencing": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"split_pdf_document": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"webhook_caller": {
|
||||||
|
"executor": "k8s",
|
||||||
|
"resources": {
|
||||||
|
"cpu_requests": "2",
|
||||||
|
"memory_requests": "4Gi"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -18,10 +18,8 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: debug
|
- name: debug
|
||||||
image: cr.yandex/crp3ccidau046kdj8g9q/mc-files:latest
|
image: cr.yandex/crp3ccidau046kdj8g9q/mc-files:dev5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command: ["/bin/sh", "-c"]
|
command: ["/bin/sh", "-c", "while true; do sleep 3600; done"]
|
||||||
args:
|
|
||||||
- while true; do sleep 3600; done
|
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: regcred
|
- name: regcred
|
||||||
|
|||||||
@ -37,7 +37,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/cross-section-app:production_e09e648b
|
_default: cr.yandex/crp3ccidau046kdj8g9q/cross-section-app:contour_c5e5d476
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,9 @@ spec:
|
|||||||
values:
|
values:
|
||||||
services:
|
services:
|
||||||
frontend:
|
frontend:
|
||||||
|
image:
|
||||||
|
name:
|
||||||
|
_default: cr.yandex/crp3ccidau046kdj8g9q/cross-section-app:contour_c5e5d476@sha256:04e0eb23df7138eb6c0dad6d790c7229607cb70eb7a4d7448aa70a236caa7d52
|
||||||
deployment:
|
deployment:
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
|
|||||||
@ -87,7 +87,7 @@ data:
|
|||||||
'Bearer',
|
'Bearer',
|
||||||
)
|
)
|
||||||
|
|
||||||
HOST = "https://sarex.contour.infra.sarex.tech"
|
HOST = os.environ.get("DJANGO_HOST", "https://sarex.contour.infra.sarex.tech")
|
||||||
|
|
||||||
POSTGRES_DATABASE = os.environ.get('DJANGO_POSTGRES_DATABASE')
|
POSTGRES_DATABASE = os.environ.get('DJANGO_POSTGRES_DATABASE')
|
||||||
POSTGRES_USER = os.environ.get('DJANGO_POSTGRES_USER')
|
POSTGRES_USER = os.environ.get('DJANGO_POSTGRES_USER')
|
||||||
@ -305,6 +305,11 @@ data:
|
|||||||
"uri": "/management/projects"
|
"uri": "/management/projects"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "Справочники",
|
||||||
|
"uri": "/assets"
|
||||||
|
},
|
||||||
|
|
||||||
# {
|
# {
|
||||||
# "name": "Обзор",
|
# "name": "Обзор",
|
||||||
# "uri": "/projects"
|
# "uri": "/projects"
|
||||||
|
|||||||
@ -29,7 +29,7 @@ spec:
|
|||||||
enabled: true
|
enabled: true
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/sarex-frontend-dev:contour_5.22.3
|
_default: cr.yandex/crp3ccidau046kdj8g9q/sarex-frontend-dev:contour_5.30.1
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
deployment:
|
deployment:
|
||||||
|
|||||||
@ -101,7 +101,8 @@ data:
|
|||||||
|
|
||||||
location = /static/pdf-runtime/assets/mupdf-wasm.wasm {
|
location = /static/pdf-runtime/assets/mupdf-wasm.wasm {
|
||||||
alias /opt/react_client/static/pdf-runtime/assets/mupdf-wasm.wasm;
|
alias /opt/react_client/static/pdf-runtime/assets/mupdf-wasm.wasm;
|
||||||
add_header Content-Type application/wasm always;
|
types { }
|
||||||
|
default_type application/wasm;
|
||||||
add_header Cache-Control "public, max-age=31536000, immutable" always;
|
add_header Cache-Control "public, max-age=31536000, immutable" always;
|
||||||
add_header Access-Control-Allow-Origin "*" always;
|
add_header Access-Control-Allow-Origin "*" always;
|
||||||
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
|
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
|
||||||
@ -110,7 +111,8 @@ data:
|
|||||||
|
|
||||||
location = /workspaces-v2/worker/static/viewer-pdf/mupdf-wasm.js {
|
location = /workspaces-v2/worker/static/viewer-pdf/mupdf-wasm.js {
|
||||||
alias /opt/react_client/static/viewer-pdf/mupdf-wasm.js;
|
alias /opt/react_client/static/viewer-pdf/mupdf-wasm.js;
|
||||||
add_header Content-Type application/javascript always;
|
types { }
|
||||||
|
default_type application/javascript;
|
||||||
add_header Cache-Control "public, max-age=31536000, immutable" always;
|
add_header Cache-Control "public, max-age=31536000, immutable" always;
|
||||||
add_header Access-Control-Allow-Origin "*" always;
|
add_header Access-Control-Allow-Origin "*" always;
|
||||||
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
|
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
|
||||||
@ -119,7 +121,8 @@ data:
|
|||||||
|
|
||||||
location = /workspaces-v2/worker/mupdf.worker-3.3.9.js {
|
location = /workspaces-v2/worker/mupdf.worker-3.3.9.js {
|
||||||
alias /opt/react_client/static/pdf-runtime/mupdf.worker-3.3.9.js;
|
alias /opt/react_client/static/pdf-runtime/mupdf.worker-3.3.9.js;
|
||||||
add_header Content-Type application/javascript always;
|
types { }
|
||||||
|
default_type application/javascript;
|
||||||
add_header Cache-Control "public, max-age=31536000, immutable" always;
|
add_header Cache-Control "public, max-age=31536000, immutable" always;
|
||||||
add_header Access-Control-Allow-Origin "*" always;
|
add_header Access-Control-Allow-Origin "*" always;
|
||||||
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
|
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
|
||||||
@ -128,7 +131,8 @@ data:
|
|||||||
|
|
||||||
location = /workspaces-v2/worker/static/viewer-pdf/mupdf.js {
|
location = /workspaces-v2/worker/static/viewer-pdf/mupdf.js {
|
||||||
alias /opt/react_client/static/viewer-pdf/mupdf.js;
|
alias /opt/react_client/static/viewer-pdf/mupdf.js;
|
||||||
add_header Content-Type application/javascript always;
|
types { }
|
||||||
|
default_type application/javascript;
|
||||||
add_header Cache-Control "public, max-age=31536000, immutable" always;
|
add_header Cache-Control "public, max-age=31536000, immutable" always;
|
||||||
add_header Access-Control-Allow-Origin "*" always;
|
add_header Access-Control-Allow-Origin "*" always;
|
||||||
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
|
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
|
||||||
@ -136,7 +140,8 @@ data:
|
|||||||
}
|
}
|
||||||
|
|
||||||
location = /workspaces-v2/worker/static/viewer-pdf/mupdf-wasm.wasm {
|
location = /workspaces-v2/worker/static/viewer-pdf/mupdf-wasm.wasm {
|
||||||
add_header Content-Type application/wasm always;
|
types { }
|
||||||
|
default_type application/wasm;
|
||||||
alias /opt/react_client/static/viewer-pdf/mupdf-wasm.wasm;
|
alias /opt/react_client/static/viewer-pdf/mupdf-wasm.wasm;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,7 +149,8 @@ data:
|
|||||||
rewrite /workspaces-v2/(.+) /$1 break;
|
rewrite /workspaces-v2/(.+) /$1 break;
|
||||||
proxy_pass http://workspaces-v2-frontend-static-service.workspaces.svc.cluster.local:8080;
|
proxy_pass http://workspaces-v2-frontend-static-service.workspaces.svc.cluster.local:8080;
|
||||||
|
|
||||||
add_header Content-Type application/wasm;
|
proxy_hide_header Content-Type;
|
||||||
|
add_header Content-Type application/wasm always;
|
||||||
proxy_set_header Accept application/wasm;
|
proxy_set_header Accept application/wasm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,9 @@ spec:
|
|||||||
values:
|
values:
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
|
deployment:
|
||||||
|
replicaCount:
|
||||||
|
_default: 2
|
||||||
envs:
|
envs:
|
||||||
- name: ALLOWED_HOSTS
|
- name: ALLOWED_HOSTS
|
||||||
value:
|
value:
|
||||||
@ -18,6 +21,9 @@ spec:
|
|||||||
- name: SERVER_ZITADEL_ENABLED
|
- name: SERVER_ZITADEL_ENABLED
|
||||||
value:
|
value:
|
||||||
_default: "True"
|
_default: "True"
|
||||||
|
- name: DJANGO_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.uralmine.com"
|
||||||
- name: DJANGO_SETTINGS_MODULE
|
- name: DJANGO_SETTINGS_MODULE
|
||||||
value:
|
value:
|
||||||
_default: config.settings.production
|
_default: config.settings.production
|
||||||
@ -126,10 +132,6 @@ spec:
|
|||||||
- name: ZITADEL_HOST
|
- name: ZITADEL_HOST
|
||||||
value:
|
value:
|
||||||
_default: https://sarex-login.uralmine.com
|
_default: https://sarex-login.uralmine.com
|
||||||
# Включено вместе с message-hub: он консьюмер топика message-hub-stage
|
|
||||||
# (SETTINGS_TOPICS в apps/message-hub/d8-ugmk-prod/message-hub.yaml),
|
|
||||||
# а писать в этот топик должен django. Vault-шаблон django-kafka
|
|
||||||
# и KAFKA_SSL_CAFILE уже есть в base — здесь только флаг.
|
|
||||||
- name: SERVER_KAFKA_ENABLED
|
- name: SERVER_KAFKA_ENABLED
|
||||||
value:
|
value:
|
||||||
_default: "True"
|
_default: "True"
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -14,6 +14,10 @@ spec:
|
|||||||
cpu: null
|
cpu: null
|
||||||
memory: null
|
memory: null
|
||||||
envs:
|
envs:
|
||||||
|
- name: DJANGO_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.local.uralkali.com"
|
||||||
|
|
||||||
- name: ALLOWED_HOSTS
|
- name: ALLOWED_HOSTS
|
||||||
value:
|
value:
|
||||||
_default: "*"
|
_default: "*"
|
||||||
|
|||||||
@ -9,6 +9,10 @@ spec:
|
|||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
envs:
|
envs:
|
||||||
|
- name: DJANGO_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.vadroad.ru"
|
||||||
|
|
||||||
- name: ALLOWED_HOSTS
|
- name: ALLOWED_HOSTS
|
||||||
value:
|
value:
|
||||||
_default: "*"
|
_default: "*"
|
||||||
|
|||||||
@ -36,7 +36,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings-amqp:prod_3ab263be
|
_default: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings-amqp:prod_9dea5b64
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -65,7 +65,7 @@ spec:
|
|||||||
enabled: false
|
enabled: false
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_179e518c
|
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_89c8039a
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
service:
|
service:
|
||||||
@ -89,6 +89,9 @@ spec:
|
|||||||
- name: POSTGRES_POOL_SIZE
|
- name: POSTGRES_POOL_SIZE
|
||||||
value:
|
value:
|
||||||
_default: "20"
|
_default: "20"
|
||||||
|
- name: CDE_API_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
- name: USE_LEGACY_BIM_FLOW
|
- name: USE_LEGACY_BIM_FLOW
|
||||||
value:
|
value:
|
||||||
_default: "true"
|
_default: "true"
|
||||||
@ -236,6 +239,9 @@ spec:
|
|||||||
- name: VALKEY_PORT
|
- name: VALKEY_PORT
|
||||||
value:
|
value:
|
||||||
_default: "6379"
|
_default: "6379"
|
||||||
|
- name: CDE_API_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
_default:
|
_default:
|
||||||
traffic.sidecar.istio.io/excludeOutboundPorts: "8200"
|
traffic.sidecar.istio.io/excludeOutboundPorts: "8200"
|
||||||
|
|||||||
@ -97,6 +97,9 @@ spec:
|
|||||||
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
|
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
|
||||||
value:
|
value:
|
||||||
_default: "true"
|
_default: "true"
|
||||||
|
- name: CDE_API_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
- name: USE_ZITADEL
|
- name: USE_ZITADEL
|
||||||
value:
|
value:
|
||||||
_default: "1"
|
_default: "1"
|
||||||
@ -223,6 +226,9 @@ spec:
|
|||||||
- name: VALKEY_PORT
|
- name: VALKEY_PORT
|
||||||
value:
|
value:
|
||||||
_default: "6379"
|
_default: "6379"
|
||||||
|
- name: CDE_API_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
_default:
|
_default:
|
||||||
traffic.sidecar.istio.io/excludeOutboundPorts: "8200"
|
traffic.sidecar.istio.io/excludeOutboundPorts: "8200"
|
||||||
|
|||||||
@ -37,7 +37,7 @@ spec:
|
|||||||
name:
|
name:
|
||||||
_default: pdf-markings-amqp
|
_default: pdf-markings-amqp
|
||||||
replicaCount:
|
replicaCount:
|
||||||
_default: 1
|
_default: 2
|
||||||
port:
|
port:
|
||||||
_default: 8000
|
_default: 8000
|
||||||
command:
|
command:
|
||||||
@ -64,7 +64,7 @@ spec:
|
|||||||
enabled: false
|
enabled: false
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings-amqp:prod_3ab263be
|
_default: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings-amqp:prod_9dea5b64
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
service:
|
service:
|
||||||
|
|||||||
@ -123,7 +123,7 @@ spec:
|
|||||||
_default: "false"
|
_default: "false"
|
||||||
- name: DRAWINGS_INTERNAL_URL
|
- name: DRAWINGS_INTERNAL_URL
|
||||||
value:
|
value:
|
||||||
_default: http://drawings-api-service.drawings.svc.cluster.local:80
|
_default: http://backend-service.drawings.svc.cluster.local:8000
|
||||||
- name: ATTACHMENTS_URL
|
- name: ATTACHMENTS_URL
|
||||||
value:
|
value:
|
||||||
_default: http://attachments-service.attachments.svc.cluster.local:8000
|
_default: http://attachments-service.attachments.svc.cluster.local:8000
|
||||||
@ -210,7 +210,7 @@ spec:
|
|||||||
_default: http://backend-svc.subscriptions.svc.cluster.local:80
|
_default: http://backend-svc.subscriptions.svc.cluster.local:80
|
||||||
- name: SYSTEM_LOG_URL
|
- name: SYSTEM_LOG_URL
|
||||||
value:
|
value:
|
||||||
_default: http://api-service.system-log.svc.cluster.local:80
|
_default: http://backend-svc.system-log.svc.cluster.local:80
|
||||||
- name: TARGET_URL
|
- name: TARGET_URL
|
||||||
value:
|
value:
|
||||||
_default: http://backend-svc.django.svc.cluster.local:80
|
_default: http://backend-svc.django.svc.cluster.local:80
|
||||||
|
|||||||
@ -37,7 +37,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_179e518c
|
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_98a23ef5
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
@ -100,6 +100,10 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
monitoring: prometheus
|
monitoring: prometheus
|
||||||
envs:
|
envs:
|
||||||
|
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "true"
|
||||||
|
|
||||||
- name: POSTGRES_ADDRESS
|
- name: POSTGRES_ADDRESS
|
||||||
value:
|
value:
|
||||||
_default: "192.168.2.45"
|
_default: "192.168.2.45"
|
||||||
|
|||||||
95
apps/documentations/brusnika-stage/hasher.yaml
Normal file
95
apps/documentations/brusnika-stage/hasher.yaml
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: hasher
|
||||||
|
namespace: documentations
|
||||||
|
labels:
|
||||||
|
app: hasher
|
||||||
|
service: normal
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: hasher
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: hasher
|
||||||
|
service: normal
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: HASHER_APP__LOG_LEVEL
|
||||||
|
value: INFO
|
||||||
|
- name: HASHER_APP__NUM_WORKERS
|
||||||
|
value: '4'
|
||||||
|
- name: HASHER_AMQP__ROUTING__TASK_INPUT_QUEUE
|
||||||
|
value: hash.compute.normal.tasks
|
||||||
|
- name: HASHER_AMQP__ROUTING__TASK_INPUT_EXCHANGE
|
||||||
|
value: hash.compute
|
||||||
|
- name: HASHER_AMQP__ROUTING__TASK_INPUT_EXCHANGE_TYPE
|
||||||
|
value: direct
|
||||||
|
- name: HASHER_AMQP__ROUTING__TASK_INPUT_ROUTING_KEY
|
||||||
|
value: hash.compute.normal
|
||||||
|
- name: HASHER_S3__MAX_POOL_CONNECTIONS
|
||||||
|
value: '10'
|
||||||
|
- name: HASHER_S3__CONNECT_TIMEOUT
|
||||||
|
value: '10'
|
||||||
|
- name: HASHER_S3__READ_TIMEOUT
|
||||||
|
value: '30'
|
||||||
|
- name: HASHER_S3__REGION_NAME
|
||||||
|
value: ru-central1
|
||||||
|
- name: HASHER_S3__USE_SSL
|
||||||
|
value: 'true'
|
||||||
|
- name: HASHER_S3__VERIFY
|
||||||
|
value: 'true'
|
||||||
|
- name: HASHER_AMQP__USERNAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: user
|
||||||
|
name: hasher-rabbitmq-secret
|
||||||
|
- name: HASHER_AMQP__PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: password
|
||||||
|
name: hasher-rabbitmq-secret
|
||||||
|
- name: HASHER_AMQP__HOST
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: host
|
||||||
|
name: hasher-rabbitmq-secret
|
||||||
|
- name: HASHER_AMQP__PORT
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: port
|
||||||
|
name: hasher-rabbitmq-secret
|
||||||
|
- name: HASHER_AMQP__VHOST
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: vhost
|
||||||
|
name: hasher-rabbitmq-secret
|
||||||
|
- name: HASHER_S3__ENDPOINT
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: endpoint
|
||||||
|
name: hasher-s3-secret
|
||||||
|
- name: HASHER_S3__ACCESS_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: access_key
|
||||||
|
name: hasher-s3-secret
|
||||||
|
- name: HASHER_S3__SECRET_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: secret_key
|
||||||
|
name: hasher-s3-secret
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/hasher:production_3f853d3a
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
name: normal
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
name: http
|
||||||
|
protocol: TCP
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: regcred
|
||||||
@ -7,3 +7,5 @@ resources:
|
|||||||
- pdm.yaml
|
- pdm.yaml
|
||||||
- api.yaml
|
- api.yaml
|
||||||
- filestream.yaml
|
- filestream.yaml
|
||||||
|
- hasher.yaml
|
||||||
|
- pdf-markings-amqp.yaml
|
||||||
|
|||||||
125
apps/documentations/brusnika-stage/pdf-markings-amqp.yaml
Normal file
125
apps/documentations/brusnika-stage/pdf-markings-amqp.yaml
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: pdf-markings-amqp
|
||||||
|
namespace: documentations
|
||||||
|
labels:
|
||||||
|
app: pdf-markings-amqp
|
||||||
|
service: api
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: pdf-markings-amqp
|
||||||
|
strategy:
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 3
|
||||||
|
maxUnavailable: 3
|
||||||
|
type: RollingUpdate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: pdf-markings-amqp
|
||||||
|
service: api
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: MARKS_APP__LOG_LEVEL
|
||||||
|
value: INFO
|
||||||
|
- name: MARKS_CRYPTO__HASHING_ALGO
|
||||||
|
value: md_gost12_256
|
||||||
|
- name: MARKS_DOCUMENTS_DB__HOST
|
||||||
|
value: 192.168.2.45
|
||||||
|
- name: MARKS_DOCUMENTS_DB__PORT
|
||||||
|
value: '5432'
|
||||||
|
- name: MARKS_DOCUMENTS_DB__DATABASE
|
||||||
|
value: documentations
|
||||||
|
- name: MARKS_DOCUMENTS_DB__SSLMODE
|
||||||
|
value: disable
|
||||||
|
- name: MARKS_QR__REDIRECT_URL
|
||||||
|
value: https://stamp-verification.test.sarex.brusnika.tech/
|
||||||
|
- name: MARKS_QR__BASE_DOCUMENT_URL
|
||||||
|
value: https://test.sarex.brusnika.tech
|
||||||
|
- name: MARKS_S3__USE_SSL
|
||||||
|
value: 'false'
|
||||||
|
- name: MARKS_S3__SSL_VERIFY
|
||||||
|
value: 'false'
|
||||||
|
- name: MARKS_S3__REGION
|
||||||
|
value: ru-central1
|
||||||
|
- name: MARKS_S3__DEFAULT_BUCKET
|
||||||
|
value: documentations-stage-1-sarex-new
|
||||||
|
- name: MARKS_RABBITMQ__ROUTING__INPUT_QUEUE
|
||||||
|
value: pdf_markings_input
|
||||||
|
- name: MARKS_DOCUMENTS_DB__USERNAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: username
|
||||||
|
name: postgres-secret
|
||||||
|
- name: MARKS_DOCUMENTS_DB__PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: password
|
||||||
|
name: postgres-secret
|
||||||
|
- name: MARKS_S3__URL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: endpoint_url
|
||||||
|
name: yc-s3
|
||||||
|
- name: MARKS_S3__ACCESS_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: key_id
|
||||||
|
name: yc-s3
|
||||||
|
- name: MARKS_S3__SECRET_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: access_key
|
||||||
|
name: yc-s3
|
||||||
|
- name: MARKS_RABBITMQ__HOST
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: host
|
||||||
|
name: rabbitmq
|
||||||
|
- name: MARKS_RABBITMQ__PORT
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: port
|
||||||
|
name: rabbitmq
|
||||||
|
- name: MARKS_RABBITMQ__USERNAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: username
|
||||||
|
name: rabbitmq
|
||||||
|
- name: MARKS_RABBITMQ__PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: password
|
||||||
|
name: rabbitmq
|
||||||
|
- name: MARKS_RABBITMQ__VHOST
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: vhost
|
||||||
|
name: rabbitmq
|
||||||
|
- name: MARKS_RABBITMQ__HEARTBEAT_SECONDS
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: heartbeat
|
||||||
|
name: rabbitmq
|
||||||
|
image: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings-amqp:prod_3ab263be
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
name: api
|
||||||
|
ports:
|
||||||
|
- containerPort: 8000
|
||||||
|
name: http
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/sarex/yc-s3-storage
|
||||||
|
name: yc-s3
|
||||||
|
readOnly: true
|
||||||
|
volumes:
|
||||||
|
- name: yc-s3
|
||||||
|
secret:
|
||||||
|
secretName: yc-s3
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: regcred
|
||||||
@ -124,11 +124,11 @@ spec:
|
|||||||
|
|
||||||
- name: TRANSMITTALS_BASE_URL
|
- name: TRANSMITTALS_BASE_URL
|
||||||
value:
|
value:
|
||||||
_default: ""
|
_default: "http://transmittal-service.transmittal.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: TRANSMITTALS_ENABLE
|
- name: TRANSMITTALS_ENABLE
|
||||||
value:
|
value:
|
||||||
_default: "false"
|
_default: "true"
|
||||||
|
|
||||||
- name: DRAWINGS_INTERNAL_URL
|
- name: DRAWINGS_INTERNAL_URL
|
||||||
value:
|
value:
|
||||||
|
|||||||
@ -156,3 +156,6 @@ spec:
|
|||||||
- name: VALKEY_PORT
|
- name: VALKEY_PORT
|
||||||
value:
|
value:
|
||||||
_default: "6379"
|
_default: "6379"
|
||||||
|
- name: CDE_API_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
|
|||||||
@ -83,7 +83,7 @@ spec:
|
|||||||
_default: v1
|
_default: v1
|
||||||
- name: SYSTEM_LOG_URL
|
- name: SYSTEM_LOG_URL
|
||||||
value:
|
value:
|
||||||
_default: http://api-service.system-log.svc.cluster.local:80
|
_default: http://backend-svc.system-log.svc.cluster.local:80
|
||||||
- name: DJANGO_HOST
|
- name: DJANGO_HOST
|
||||||
value:
|
value:
|
||||||
_default: http://backend-svc.django.svc.cluster.local:80
|
_default: http://backend-svc.django.svc.cluster.local:80
|
||||||
@ -144,3 +144,6 @@ spec:
|
|||||||
- name: VALKEY_PORT
|
- name: VALKEY_PORT
|
||||||
value:
|
value:
|
||||||
_default: "6379"
|
_default: "6379"
|
||||||
|
- name: CDE_API_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
|
|||||||
@ -13,3 +13,7 @@ patches:
|
|||||||
target:
|
target:
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
name: documentations-filestream
|
name: documentations-filestream
|
||||||
|
- path: pdf-markings-amqp.yaml
|
||||||
|
target:
|
||||||
|
kind: HelmRelease
|
||||||
|
name: documentations-pdf-markings-amqp
|
||||||
62
apps/documentations/d8-ugmk-prod/pdf-markings-amqp.yaml
Normal file
62
apps/documentations/d8-ugmk-prod/pdf-markings-amqp.yaml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: documentations-pdf-markings-amqp
|
||||||
|
namespace: documentations
|
||||||
|
spec:
|
||||||
|
values:
|
||||||
|
services:
|
||||||
|
backend:
|
||||||
|
image:
|
||||||
|
name:
|
||||||
|
_default: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings:contour_ce9ed6d7
|
||||||
|
|
||||||
|
envs:
|
||||||
|
- name: MARKS_APP__LOG_LEVEL
|
||||||
|
value:
|
||||||
|
_default: INFO
|
||||||
|
|
||||||
|
- name: MARKS_CRYPTO__HASHING_ALGO
|
||||||
|
value:
|
||||||
|
_default: md_gost12_256
|
||||||
|
|
||||||
|
- name: MARKS_QR__REDIRECT_URL
|
||||||
|
value:
|
||||||
|
_default: "https://sarex-stamp-verification.uralmine.com/"
|
||||||
|
|
||||||
|
- name: MARKS_QR__BASE_DOCUMENT_URL
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
|
- name: MARKS_S3__REGION
|
||||||
|
value:
|
||||||
|
_default: ru-central1
|
||||||
|
|
||||||
|
- name: MARKS_S3__USE_SSL
|
||||||
|
value:
|
||||||
|
_default: "true"
|
||||||
|
|
||||||
|
- name: MARKS_S3__SSL_VERIFY
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
|
|
||||||
|
- name: MARKS_S3__DEFAULT_BUCKET
|
||||||
|
value:
|
||||||
|
_default: documentations-marks
|
||||||
|
|
||||||
|
- name: MARKS_RABBITMQ__ROUTING__INPUT_QUEUE
|
||||||
|
value:
|
||||||
|
_default: pdf_markings_input
|
||||||
|
|
||||||
|
- name: MARKS_RABBITMQ__HOST
|
||||||
|
value:
|
||||||
|
_default: rabbitmq.rabbitmq.svc.cluster.local
|
||||||
|
|
||||||
|
- name: MARKS_RABBITMQ__PORT
|
||||||
|
value:
|
||||||
|
_default: "5672"
|
||||||
|
|
||||||
|
- name: MARKS_RABBITMQ__HEARTBEAT_SECONDS
|
||||||
|
value:
|
||||||
|
_default: "60"
|
||||||
@ -36,7 +36,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_179e518c
|
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_0be18f51
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
@ -135,6 +135,10 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "20"
|
_default: "20"
|
||||||
|
|
||||||
|
- name: CDE_API_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
|
|
||||||
- name: ZITADEL_ACCOUNT
|
- name: ZITADEL_ACCOUNT
|
||||||
value:
|
value:
|
||||||
_default: "/etc/sarex/zitadel/zitadel-account.json"
|
_default: "/etc/sarex/zitadel/zitadel-account.json"
|
||||||
@ -215,9 +219,13 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "http://workspaces-service.workspaces.svc.cluster.local:8000/"
|
_default: "http://workspaces-service.workspaces.svc.cluster.local:8000/"
|
||||||
|
|
||||||
|
# Сервиса bim-api-service в контуре wb нет: в ns bim есть только
|
||||||
|
# backend-service:8000 (bim v2), на него же BIM_API_URL смотрит в
|
||||||
|
# brusnika-stage и asterus. Клиент bim-api (resty, retry 5 x 1s)
|
||||||
|
# на неразрешимом DNS отваливался ровно за ~5 с.
|
||||||
- name: BIM_API_URL
|
- name: BIM_API_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://bim-api-service.bim.svc.cluster.local:8080/"
|
_default: "http://backend-service.bim.svc.cluster.local:8000/"
|
||||||
|
|
||||||
- name: BIM_API_V2_URL
|
- name: BIM_API_V2_URL
|
||||||
value:
|
value:
|
||||||
@ -307,6 +315,23 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "6379"
|
_default: "6379"
|
||||||
|
|
||||||
|
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "true"
|
||||||
|
|
||||||
|
- name: USE_MARKS_RABBITMQ
|
||||||
|
value:
|
||||||
|
_default: '1'
|
||||||
|
- name: MARKS_RABBITMQ_HOST
|
||||||
|
value:
|
||||||
|
_default: rabbitmq.rabbitmq.svc.cluster.local
|
||||||
|
- name: MARKS_RABBITMQ_PORT
|
||||||
|
value:
|
||||||
|
_default: '5672'
|
||||||
|
- name: MARKS_RABBITMQ_API
|
||||||
|
value:
|
||||||
|
_default: cde
|
||||||
|
|
||||||
secretEnvs:
|
secretEnvs:
|
||||||
- name: PUBLIC_KEY
|
- name: PUBLIC_KEY
|
||||||
secretName:
|
secretName:
|
||||||
@ -338,6 +363,16 @@ spec:
|
|||||||
_default: "django-auth"
|
_default: "django-auth"
|
||||||
secretKey: "key"
|
secretKey: "key"
|
||||||
|
|
||||||
|
- name: MARKS_RABBITMQ_USER
|
||||||
|
secretName:
|
||||||
|
_default: "hasher-rabbitmq-secret"
|
||||||
|
secretKey: "user"
|
||||||
|
|
||||||
|
- name: MARKS_RABBITMQ_PASSWORD
|
||||||
|
secretName:
|
||||||
|
_default: "hasher-rabbitmq-secret"
|
||||||
|
secretKey: "password"
|
||||||
|
|
||||||
commitSha: ""
|
commitSha: ""
|
||||||
gitlabUri: ""
|
gitlabUri: ""
|
||||||
gitlabJobUrl: ""
|
gitlabJobUrl: ""
|
||||||
|
|||||||
@ -36,7 +36,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations-api-files:prod_3f19a21d
|
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations-api-files:prod_fef3add2
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
@ -56,13 +56,16 @@ spec:
|
|||||||
limits:
|
limits:
|
||||||
cpu:
|
cpu:
|
||||||
_default: 639m
|
_default: 639m
|
||||||
|
# Range-отдача BIM-моделей идёт стримом, но поверх неё работает
|
||||||
|
# gorilla CompressHandler (gzip), и все поды регулярно уходили
|
||||||
|
# в OOMKilled (exit 137) на 198Mi.
|
||||||
memory:
|
memory:
|
||||||
_default: 198Mi
|
_default: 512Mi
|
||||||
requests:
|
requests:
|
||||||
cpu:
|
cpu:
|
||||||
_default: 50m
|
_default: 50m
|
||||||
memory:
|
memory:
|
||||||
_default: 85Mi
|
_default: 128Mi
|
||||||
|
|
||||||
probes:
|
probes:
|
||||||
liveness:
|
liveness:
|
||||||
@ -135,6 +138,10 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "0.0.0.0:8080"
|
_default: "0.0.0.0:8080"
|
||||||
|
|
||||||
|
- name: CDE_API_ENABLED
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
|
|
||||||
- name: API_ADDRESS_FILE
|
- name: API_ADDRESS_FILE
|
||||||
value:
|
value:
|
||||||
_default: "0.0.0.0:8080"
|
_default: "0.0.0.0:8080"
|
||||||
@ -191,9 +198,13 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "http://workspaces-service.workspaces.svc.cluster.local:8000/"
|
_default: "http://workspaces-service.workspaces.svc.cluster.local:8000/"
|
||||||
|
|
||||||
|
# Сервиса bim-api-service в контуре wb нет: в ns bim есть только
|
||||||
|
# backend-service:8000 (bim v2), на него же BIM_API_URL смотрит в
|
||||||
|
# brusnika-stage и asterus. Клиент bim-api (resty, retry 5 x 1s)
|
||||||
|
# на неразрешимом DNS отваливался ровно за ~5 с.
|
||||||
- name: BIM_API_URL
|
- name: BIM_API_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://bim-api-service.bim.svc.cluster.local:8080/"
|
_default: "http://backend-service.bim.svc.cluster.local:8000/"
|
||||||
|
|
||||||
- name: BIM_API_V2_URL
|
- name: BIM_API_V2_URL
|
||||||
value:
|
value:
|
||||||
|
|||||||
@ -36,7 +36,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings-amqp:prod_3ab263be
|
_default: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings-amqp:prod_9dea5b64
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
46
apps/drawings/uralkal/backend.yaml
Normal file
46
apps/drawings/uralkal/backend.yaml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: backend
|
||||||
|
namespace: drawings
|
||||||
|
spec:
|
||||||
|
values:
|
||||||
|
services:
|
||||||
|
backend:
|
||||||
|
envs:
|
||||||
|
- name: POSTGRES_POOL_SIZE
|
||||||
|
value:
|
||||||
|
_default: "3"
|
||||||
|
|
||||||
|
- name: API_ADDRESS
|
||||||
|
value:
|
||||||
|
_default: "0.0.0.0:8000"
|
||||||
|
|
||||||
|
- name: ENABLE_SSL
|
||||||
|
value:
|
||||||
|
_default: "0"
|
||||||
|
|
||||||
|
- name: WORKFLOW_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.processing.svc.cluster.local/"
|
||||||
|
|
||||||
|
- name: IMAGE_NAME_EXPORT_TO_DWG
|
||||||
|
value:
|
||||||
|
_default: "cross-sections-to-dwg"
|
||||||
|
|
||||||
|
- name: IMAGE_TAG
|
||||||
|
value:
|
||||||
|
_default: "develop"
|
||||||
|
|
||||||
|
- name: TASK_VERSION
|
||||||
|
value:
|
||||||
|
_default: "1"
|
||||||
|
|
||||||
|
- name: DRAWING_INTERNAL_URL
|
||||||
|
value:
|
||||||
|
_default: "http://backend-service.drawings.svc.cluster.local:8000/"
|
||||||
|
|
||||||
|
- name: ATTACHMENT_URL
|
||||||
|
value:
|
||||||
|
_default: "http://attachments-service.attachments.svc.cluster.local:8000"
|
||||||
@ -2,3 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
|
patches:
|
||||||
|
- path: backend.yaml
|
||||||
|
target:
|
||||||
|
kind: HelmRelease
|
||||||
|
name: backend
|
||||||
|
|||||||
@ -8,6 +8,9 @@ spec:
|
|||||||
values:
|
values:
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
|
image:
|
||||||
|
name:
|
||||||
|
_default: cr.yandex/crp3ccidau046kdj8g9q/eav:prod_0dcebba6@sha256:2630ad45e4704881ac834f48a70ea837fa46620a5339c3e462282fd16399cc9c
|
||||||
deployment:
|
deployment:
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
|
|||||||
@ -18,7 +18,7 @@ data:
|
|||||||
|
|
||||||
# DEBUG SETTINGS START
|
# DEBUG SETTINGS START
|
||||||
# ---------------------------------------------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
DEBUG = True
|
DEBUG = False
|
||||||
ALLOWED_HOSTS = ['*']
|
ALLOWED_HOSTS = ['*']
|
||||||
# ---------------------------------------------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
# DEBUG SETTINGS END
|
# DEBUG SETTINGS END
|
||||||
|
|||||||
@ -55,14 +55,14 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu:
|
cpu:
|
||||||
_default: 23m
|
_default: "1"
|
||||||
memory:
|
memory:
|
||||||
_default: 506Mi
|
_default: 1Gi
|
||||||
requests:
|
requests:
|
||||||
cpu:
|
cpu:
|
||||||
_default: 12m
|
_default: 100m
|
||||||
memory:
|
memory:
|
||||||
_default: 330Mi
|
_default: 512Mi
|
||||||
|
|
||||||
probes:
|
probes:
|
||||||
liveness:
|
liveness:
|
||||||
@ -97,23 +97,23 @@ spec:
|
|||||||
envs:
|
envs:
|
||||||
- name: BASE_HOST
|
- name: BASE_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru"
|
_default: "http://frontend-service.django.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: DJANGO_HOST
|
- name: DJANGO_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru"
|
_default: "http://backend.django.svc.cluster.local:8000"
|
||||||
|
|
||||||
- name: REVIEWS_HOST
|
- name: REVIEWS_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru/flows"
|
_default: "http://backend-service.flows.svc.cluster.local:8000"
|
||||||
|
|
||||||
- name: GATEWAY_HOST
|
- name: GATEWAY_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru/gateway"
|
_default: "http://pdm-api.documentations.svc.cluster.local:8080"
|
||||||
|
|
||||||
- name: DOCUMENTATIONS_HOST
|
- name: DOCUMENTATIONS_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru/documentations"
|
_default: "http://documentations-api.documentations.svc.cluster.local:8080"
|
||||||
|
|
||||||
- name: EAV_HOST
|
- name: EAV_HOST
|
||||||
value:
|
value:
|
||||||
@ -151,6 +151,10 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "180"
|
_default: "180"
|
||||||
|
|
||||||
|
- name: GUNICORN_CMD_ARGS
|
||||||
|
value:
|
||||||
|
_default: "--timeout 3600 --graceful-timeout 30"
|
||||||
|
|
||||||
commitSha: ""
|
commitSha: ""
|
||||||
gitlabUri: ""
|
gitlabUri: ""
|
||||||
gitlabJobUrl: ""
|
gitlabJobUrl: ""
|
||||||
|
|||||||
@ -35,7 +35,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_e8a366a3
|
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_81d0fa17
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
@ -252,6 +252,26 @@ spec:
|
|||||||
_default: "https://test.sarex.brusnika.tech"
|
_default: "https://test.sarex.brusnika.tech"
|
||||||
|
|
||||||
secretEnvs:
|
secretEnvs:
|
||||||
|
- name: FLOWS_DB_DB
|
||||||
|
secretName:
|
||||||
|
_default: "postgres-secret"
|
||||||
|
secretKey: "database"
|
||||||
|
|
||||||
|
- name: FLOWS_DB_USERNAME
|
||||||
|
secretName:
|
||||||
|
_default: "postgres-secret"
|
||||||
|
secretKey: "username"
|
||||||
|
|
||||||
|
- name: FLOWS_DB_PASSWORD
|
||||||
|
secretName:
|
||||||
|
_default: "postgres-secret"
|
||||||
|
secretKey: "password"
|
||||||
|
|
||||||
|
- name: DJANGO_AUTH
|
||||||
|
secretName:
|
||||||
|
_default: "django-secret"
|
||||||
|
secretKey: "token"
|
||||||
|
|
||||||
- name: ADMIN_PANEL_SECRET_KEY
|
- name: ADMIN_PANEL_SECRET_KEY
|
||||||
secretName:
|
secretName:
|
||||||
_default: "admin-secret"
|
_default: "admin-secret"
|
||||||
|
|||||||
@ -35,7 +35,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_ed219085
|
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_4652ff61
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,4 @@
|
|||||||
---
|
---
|
||||||
# Патч backend для контура УГМК — подключение к Kafka.
|
|
||||||
#
|
|
||||||
# ВНИМАНИЕ: envs — список, kustomize заменяет его ЦЕЛИКОМ (JSON merge patch),
|
|
||||||
# поэтому здесь продублирован весь набор из apps/flows/base/backend.yaml.
|
|
||||||
# args — тоже список, продублирован весь скрипт с добавленным sourcing flows-kafka.
|
|
||||||
# podAnnotations — map, мержится по ключам, поэтому переопределён только
|
|
||||||
# один ключ agent-inject-template-flows-kafka; остальные vault-аннотации берутся из base.
|
|
||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
metadata:
|
metadata:
|
||||||
@ -16,6 +9,8 @@ spec:
|
|||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
deployment:
|
deployment:
|
||||||
|
replicaCount:
|
||||||
|
_default: 2
|
||||||
args:
|
args:
|
||||||
_default:
|
_default:
|
||||||
- |
|
- |
|
||||||
@ -29,6 +24,19 @@ spec:
|
|||||||
set +a
|
set +a
|
||||||
exec /opt/entrypoint.sh
|
exec /opt/entrypoint.sh
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
_default:
|
||||||
|
- name: authentication
|
||||||
|
mountPath:
|
||||||
|
_default: /opt/src/flow/admin/authentication.py
|
||||||
|
subPath:
|
||||||
|
_default: authentication.py
|
||||||
|
readOnly:
|
||||||
|
_default: true
|
||||||
|
configMap:
|
||||||
|
name:
|
||||||
|
_default: authentication
|
||||||
|
|
||||||
envs:
|
envs:
|
||||||
- name: LOG_LEVEL
|
- name: LOG_LEVEL
|
||||||
value:
|
value:
|
||||||
@ -98,6 +106,10 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "https://sarex.uralmine.com/flows/api/v1"
|
_default: "https://sarex.uralmine.com/flows/api/v1"
|
||||||
|
|
||||||
|
- name: PROXY_PATH_PREFIX
|
||||||
|
value:
|
||||||
|
_default: /flows
|
||||||
|
|
||||||
- name: SMTP_HOST
|
- name: SMTP_HOST
|
||||||
value:
|
value:
|
||||||
_default: "post.uralmine.com"
|
_default: "post.uralmine.com"
|
||||||
|
|||||||
@ -36,7 +36,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend:production_e8a366a3
|
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend:production_81d0fa17
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -36,7 +36,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_e8a366a3
|
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_81d0fa17
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -36,7 +36,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_ed219085
|
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_4652ff61
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -35,7 +35,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/iams:contour_dada80a8
|
_default: cr.yandex/crp3ccidau046kdj8g9q/iams:contour_29754513
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
15
apps/iam/d8-ugmk-prod/iams-service.yaml
Normal file
15
apps/iam/d8-ugmk-prod/iams-service.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: iams
|
||||||
|
namespace: iam
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: iam-backend
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 8080
|
||||||
|
targetPort: 8080
|
||||||
|
protocol: TCP
|
||||||
@ -4,6 +4,7 @@ kind: Kustomization
|
|||||||
namespace: iam
|
namespace: iam
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
|
- iams-service.yaml
|
||||||
patches:
|
patches:
|
||||||
- path: backend-s3.yaml
|
- path: backend-s3.yaml
|
||||||
target:
|
target:
|
||||||
|
|||||||
@ -8,6 +8,9 @@ spec:
|
|||||||
values:
|
values:
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
|
image:
|
||||||
|
name:
|
||||||
|
_default: cr.yandex/crp3ccidau046kdj8g9q/iams:contour_29754513@sha256:a12cf64b59da50cf99011ee4fc8559e61af637887265f1377a448ee321de2250
|
||||||
envs:
|
envs:
|
||||||
- name: ENVIRONMENT
|
- name: ENVIRONMENT
|
||||||
value:
|
value:
|
||||||
|
|||||||
15
apps/iam/vad/iams-service.yaml
Normal file
15
apps/iam/vad/iams-service.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: iams
|
||||||
|
namespace: iam
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: iam-backend
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 8080
|
||||||
|
targetPort: 8080
|
||||||
|
protocol: TCP
|
||||||
@ -3,6 +3,7 @@ kind: Kustomization
|
|||||||
namespace: iam
|
namespace: iam
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
|
- iams-service.yaml
|
||||||
patches:
|
patches:
|
||||||
- path: backend-s3.yaml
|
- path: backend-s3.yaml
|
||||||
target:
|
target:
|
||||||
|
|||||||
@ -42,7 +42,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/sarex-inspections:production_1a33f6f4
|
_default: cr.yandex/crp3ccidau046kdj8g9q/inspections-backend:contour_32f00e42
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -35,7 +35,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/sarex-inspections:production_1a33f6f4
|
_default: cr.yandex/crp3ccidau046kdj8g9q/sarex-inspections:production_5fcce90d
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -122,7 +122,7 @@ data:
|
|||||||
"PUT",
|
"PUT",
|
||||||
]
|
]
|
||||||
|
|
||||||
SAREX_API = "https://srx.wb.ru"
|
SAREX_API = os.getenv("SAREX_API", "https://srx.wb.ru")
|
||||||
|
|
||||||
AERO_PUBLIC_HOST = os.getenv("AERO_PUBLIC_HOST", default=SAREX_API)
|
AERO_PUBLIC_HOST = os.getenv("AERO_PUBLIC_HOST", default=SAREX_API)
|
||||||
|
|
||||||
|
|||||||
@ -176,9 +176,6 @@ spec:
|
|||||||
- name: API_ADDRESS
|
- name: API_ADDRESS
|
||||||
value:
|
value:
|
||||||
_default: "8000"
|
_default: "8000"
|
||||||
- name: RABBITMQ_HOSTNAME
|
|
||||||
value:
|
|
||||||
_default: "rabbitmq.rabbitmq.svc.cluster.local:5672"
|
|
||||||
|
|
||||||
secretEnvs:
|
secretEnvs:
|
||||||
- name: YC_S3_ACCESS_KEY_ID
|
- name: YC_S3_ACCESS_KEY_ID
|
||||||
|
|||||||
@ -64,27 +64,37 @@ spec:
|
|||||||
|
|
||||||
- name: AERO_PUBLIC_HOST
|
- name: AERO_PUBLIC_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
- name: AERO_HOST
|
- name: AERO_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
|
# server-to-server, не публичный хост: по коду issues-backend это
|
||||||
|
# базовый URL django (src/api/services.py, src/issues/notifications.py).
|
||||||
|
# Фактически значение всё равно берётся из production-configmap,
|
||||||
|
# где BASE_AERO_URL зашит на этот же адрес.
|
||||||
- name: BASE_AERO_URL
|
- name: BASE_AERO_URL
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: BASE_AUTH_URL
|
- name: BASE_AUTH_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.django.svc.cluster.local:80"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
# INFRA-3005: namespace workflow в УГМК не существует, processing
|
||||||
|
# поставляется как backend-svc в namespace processing
|
||||||
|
# (apps/processing/base/api.yaml:74 + d8-ugmk-prod/namespace.yaml).
|
||||||
|
# Формат — базовый URL без пути и без слэша на конце: код сам
|
||||||
|
# добавляет /internal/v1/... (src/issues/mailing.py:122,
|
||||||
|
# src/api/services.py:616).
|
||||||
- name: WORKFLOWS_HOST
|
- name: WORKFLOWS_HOST
|
||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
_default: "http://backend-svc.processing.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: WORKFLOWS_URL
|
- name: WORKFLOWS_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
_default: "http://backend-svc.processing.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: RESOURCES_API_HOST
|
- name: RESOURCES_API_HOST
|
||||||
value:
|
value:
|
||||||
@ -94,13 +104,23 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
||||||
|
|
||||||
|
# Внимание: реально действует значение из production-configmap —
|
||||||
|
# там SAREX_API переприсваивается после `from .base import *`.
|
||||||
|
# См. apps/issues/d8-ugmk-prod/production-configmap.yaml (INFRA-3005).
|
||||||
- name: SAREX_API
|
- name: SAREX_API
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: SAREX_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
|
# Реальное имя сервиса — backend-api-svc (apps/documentations/base/api.yaml:74).
|
||||||
|
# Было documentations-api-svc — такого сервиса нет; не стреляло только
|
||||||
|
# потому, что production-configmap перетирает эту переменную хардкодом.
|
||||||
- name: DOCUMENTATIONS_URL
|
- name: DOCUMENTATIONS_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://documentations-api-svc.documentations.svc.cluster.local:80"
|
_default: "http://backend-api-svc.documentations.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: DJANGO_SETTINGS_MODULE
|
- name: DJANGO_SETTINGS_MODULE
|
||||||
value:
|
value:
|
||||||
|
|||||||
@ -62,29 +62,35 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "production"
|
_default: "production"
|
||||||
|
|
||||||
|
# AERO_PUBLIC_HOST участвует в сборке ссылок в уведомлениях
|
||||||
|
# (src/issues/notifications.py:324) — с чужим хостом в письмах УГМК
|
||||||
|
# уходили ссылки на srx.wb.ru.
|
||||||
- name: AERO_PUBLIC_HOST
|
- name: AERO_PUBLIC_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru"
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
- name: AERO_HOST
|
- name: AERO_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru"
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
|
# server-to-server — внутренний django, см. backend-s3.yaml.
|
||||||
- name: BASE_AERO_URL
|
- name: BASE_AERO_URL
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: BASE_AUTH_URL
|
- name: BASE_AUTH_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.django.svc.cluster.local:80"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
# INFRA-3005: именно этот хост ронял celery-задачу экспорта в Excel
|
||||||
|
# и все уведомления. См. backend-s3.yaml и production-configmap.yaml.
|
||||||
- name: WORKFLOWS_HOST
|
- name: WORKFLOWS_HOST
|
||||||
value:
|
value:
|
||||||
_default: "http://workflows-api-service.workflow.svc.cluster.local:8000"
|
_default: "http://backend-svc.processing.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: WORKFLOWS_URL
|
- name: WORKFLOWS_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://workflows-api-service.workflow.svc.cluster.local:8000"
|
_default: "http://backend-svc.processing.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: RESOURCES_API_HOST
|
- name: RESOURCES_API_HOST
|
||||||
value:
|
value:
|
||||||
@ -94,9 +100,14 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
||||||
|
|
||||||
|
# Реально действует значение из production-configmap, см. там.
|
||||||
- name: SAREX_API
|
- name: SAREX_API
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: SAREX_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
- name: DOCUMENTATIONS_URL
|
- name: DOCUMENTATIONS_URL
|
||||||
value:
|
value:
|
||||||
|
|||||||
@ -138,27 +138,29 @@ spec:
|
|||||||
|
|
||||||
- name: AERO_PUBLIC_HOST
|
- name: AERO_PUBLIC_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
- name: AERO_HOST
|
- name: AERO_HOST
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
|
# server-to-server — внутренний django, см. backend-s3.yaml.
|
||||||
- name: BASE_AERO_URL
|
- name: BASE_AERO_URL
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: BASE_AUTH_URL
|
- name: BASE_AUTH_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.django.svc.cluster.local:80"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
# INFRA-3005: см. backend-s3.yaml и production-configmap.yaml.
|
||||||
- name: WORKFLOWS_HOST
|
- name: WORKFLOWS_HOST
|
||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
_default: "http://backend-svc.processing.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: WORKFLOWS_URL
|
- name: WORKFLOWS_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
_default: "http://backend-svc.processing.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: RESOURCES_API_HOST
|
- name: RESOURCES_API_HOST
|
||||||
value:
|
value:
|
||||||
@ -168,13 +170,15 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
||||||
|
|
||||||
|
# Реально действует значение из production-configmap, см. там.
|
||||||
- name: SAREX_API
|
- name: SAREX_API
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "https://sarex.uralmine.com"
|
||||||
|
|
||||||
|
# Реальное имя сервиса — backend-api-svc, см. backend-s3.yaml.
|
||||||
- name: DOCUMENTATIONS_URL
|
- name: DOCUMENTATIONS_URL
|
||||||
value:
|
value:
|
||||||
_default: "http://documentations-api-svc.documentations.svc.cluster.local:80"
|
_default: "http://backend-api-svc.documentations.svc.cluster.local:80"
|
||||||
|
|
||||||
- name: DJANGO_SETTINGS_MODULE
|
- name: DJANGO_SETTINGS_MODULE
|
||||||
value:
|
value:
|
||||||
|
|||||||
@ -18,3 +18,7 @@ patches:
|
|||||||
target:
|
target:
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
name: celery
|
name: celery
|
||||||
|
- path: production-configmap.yaml
|
||||||
|
target:
|
||||||
|
kind: ConfigMap
|
||||||
|
name: production-configmap
|
||||||
|
|||||||
153
apps/issues/d8-ugmk-prod/production-configmap.yaml
Normal file
153
apps/issues/d8-ugmk-prod/production-configmap.yaml
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: production-configmap
|
||||||
|
namespace: issues
|
||||||
|
data:
|
||||||
|
production.py: |
|
||||||
|
from datetime import timedelta
|
||||||
|
import os
|
||||||
|
from .base import *
|
||||||
|
|
||||||
|
# DEBUG SETTINGS START
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
DEBUG = True
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
TEST_MODE = False
|
||||||
|
|
||||||
|
# SECRETS SETTINGS START
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
SECRET_KEY = "FromToMuchLoveOfLiving" # Delete after Test
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
DJANGO_TOKEN = os.getenv("DJANGO_TOKEN")
|
||||||
|
|
||||||
|
# ALLOWED HOSTS START
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
ALLOWED_HOSTS = ["*"]
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# APPS SETTINGS START
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# INSTALLED_APPS += [
|
||||||
|
# "django_extensions",
|
||||||
|
# ]
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# DEBUG SETTINGS START
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
DEBUG = False
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
REVIEW_HOST='http://backend-svc.flows.svc.cluster.local:80'
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# EXTERNAL SERVICES END
|
||||||
|
|
||||||
|
# INFRA-3005: в base здесь хардкод workflows-api-service.workflow — такого
|
||||||
|
# сервиса в УГМК нет (DNS: "Name or service not known"), из-за чего падал
|
||||||
|
# POST {WORKFLOWS_HOST}/internal/v1/companies/{id}/workflows в
|
||||||
|
# issues/mailing.py:122 (WorkflowsMailer) — а это и рассылка уведомлений,
|
||||||
|
# и финальный шаг celery-задачи экспорта в Excel.
|
||||||
|
# В УГМК workflows (processing) живёт как backend-svc в namespace processing.
|
||||||
|
WORKFLOWS_HOST = os.getenv("WORKFLOWS_HOST", "http://backend-svc.processing.svc.cluster.local:80")
|
||||||
|
WORKFLOWS_URL = os.getenv("WORKFLOWS_URL", "http://backend-svc.processing.svc.cluster.local:80")
|
||||||
|
# backend-api-svc — реальное имя сервиса documentations (base/api.yaml:74).
|
||||||
|
DOCUMENTATIONS_URL = "http://backend-api-svc.documentations.svc.cluster.local:80"
|
||||||
|
RESOURCES_API_HOST = os.getenv("RESOURCES_API_HOST", default="http://resources-service.resources.svc.cluster:8000")
|
||||||
|
KAFKA_HOST = os.getenv("KAFKA_HOST")
|
||||||
|
KAFKA_USERNAME = os.getenv("KAFKA_USERNAME")
|
||||||
|
KAFKA_PASSWORD = os.getenv("KAFKA_PASSWORD")
|
||||||
|
KAFKA_SSL_CAFILE = os.getenv("KAFKA_SSL_CAFILE", "/usr/local/share/ca-certificates/kafka.crt")
|
||||||
|
KAFKA_EAV_ASSETS_TOPIC = os.getenv("KAFKA_EAV_ASSETS_TOPIC", "sarex")
|
||||||
|
KAFKA_ISSUES_TOPIC = os.getenv("KAFKA_ISSUES_TOPIC", "sarex-issues")
|
||||||
|
|
||||||
|
|
||||||
|
USE_ASYNC_FUNCTIONS = True
|
||||||
|
USE_NOTIFICATIONS = True
|
||||||
|
|
||||||
|
# JWT SETTINGS START
|
||||||
|
if not os.environ.get("JWT_PRIVATE_KEY"):
|
||||||
|
os.environ["JWT_PRIVATE_KEY"] = _read_secret_file("/vault/secrets/django-jwt-private")
|
||||||
|
if not os.environ.get("JWT_PUBLIC_KEY"):
|
||||||
|
os.environ["JWT_PUBLIC_KEY"] = _read_secret_file("/vault/secrets/django-jwt-public")
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
SIMPLE_JWT_ISSUER = os.getenv("SIMPLE_JWT_ISSUER", default="default_issuer")
|
||||||
|
|
||||||
|
SIMPLE_JWT = {
|
||||||
|
"ACCESS_TOKEN_LIFETIME": timedelta(minutes=5),
|
||||||
|
"REFRESH_TOKEN_LIFETIME": timedelta(days=1),
|
||||||
|
"ROTATE_REFRESH_TOKENS": False,
|
||||||
|
"UPDATE_LAST_LOGIN": False,
|
||||||
|
|
||||||
|
"ALGORITHM": "RS512",
|
||||||
|
"SIGNING_KEY": os.getenv("JWT_PRIVATE_KEY", default="").replace("\\n", "\n"),
|
||||||
|
"VERIFYING_KEY": os.getenv("JWT_PUBLIC_KEY").replace("\\n", "\n"),
|
||||||
|
"AUDIENCE": None,
|
||||||
|
"ISSUER": SIMPLE_JWT_ISSUER,
|
||||||
|
|
||||||
|
"AUTH_HEADER_TYPES": ("Bearer",),
|
||||||
|
"AUTH_HEADER_NAME": "HTTP_AUTHORIZATION",
|
||||||
|
"USER_ID_FIELD": "id",
|
||||||
|
"USER_ID_CLAIM": "user_id",
|
||||||
|
|
||||||
|
"AUTH_TOKEN_CLASSES": ("rest_framework_simplejwt.tokens.AccessToken",),
|
||||||
|
"TOKEN_TYPE_CLAIM": "token_type",
|
||||||
|
|
||||||
|
"JTI_CLAIM": "jti",
|
||||||
|
|
||||||
|
"SLIDING_TOKEN_REFRESH_EXP_CLAIM": "refresh_exp",
|
||||||
|
"SLIDING_TOKEN_LIFETIME": timedelta(minutes=5),
|
||||||
|
"SLIDING_TOKEN_REFRESH_LIFETIME": timedelta(days=1),
|
||||||
|
}
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CORS_ALLOWED_ORIGINS = [
|
||||||
|
"https://sarex.uralmine.com",
|
||||||
|
]
|
||||||
|
|
||||||
|
CORS_TRUSTED_ORIGINS = [
|
||||||
|
"https://sarex.uralmine.com",
|
||||||
|
]
|
||||||
|
|
||||||
|
CSRF_TRUSTED_ORIGINS = [
|
||||||
|
"https://sarex.uralmine.com",
|
||||||
|
]
|
||||||
|
|
||||||
|
CORS_ALLOW_ALL_ORIGINS = True
|
||||||
|
ENABLE_MAILGUN=False
|
||||||
|
SMTP_PORT=587
|
||||||
|
SMTP_HOST="post.uralmine.com"
|
||||||
|
EMAIL_FROM="sarex@uralmine.com"
|
||||||
|
|
||||||
|
CORS_ALLOW_METHODS = [
|
||||||
|
"DELETE",
|
||||||
|
"GET",
|
||||||
|
"OPTIONS",
|
||||||
|
"PATCH",
|
||||||
|
"POST",
|
||||||
|
"PUT",
|
||||||
|
]
|
||||||
|
|
||||||
|
SAREX_API = os.getenv("SAREX_API", "https://sarex.uralmine.com")
|
||||||
|
|
||||||
|
AERO_PUBLIC_HOST = os.getenv("AERO_PUBLIC_HOST", default=SAREX_API)
|
||||||
|
|
||||||
|
BASE_AERO_URL = "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
ENVIRONMENT = "production"
|
||||||
|
|
||||||
|
SESSION_COOKIE_NAME = "issues-sessionid"
|
||||||
|
CSRF_COOKIE_NAME = "issues-csrftoken"
|
||||||
|
STATIC_URL = "/static/"
|
||||||
|
STORAGES = {
|
||||||
|
'default': {
|
||||||
|
'BACKEND': "storages.backends.s3boto3.S3Boto3Storage",
|
||||||
|
},
|
||||||
|
'staticfiles': {
|
||||||
|
# Leave whatever setting you already have here, e.g.:
|
||||||
|
'BACKEND': "storages.backends.s3boto3.S3Boto3Storage",
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,149 +0,0 @@
|
|||||||
---
|
|
||||||
# ВНИМАНИЕ: envs и args — списки, kustomize заменяет их ЦЕЛИКОМ (JSON merge patch),
|
|
||||||
# поэтому здесь продублирован весь набор из apps/issues/base/backend.yaml.
|
|
||||||
# podAnnotations — map, мержится по ключам.
|
|
||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
||||||
kind: HelmRelease
|
|
||||||
metadata:
|
|
||||||
name: backend
|
|
||||||
namespace: issues
|
|
||||||
spec:
|
|
||||||
values:
|
|
||||||
services:
|
|
||||||
backend:
|
|
||||||
deployment:
|
|
||||||
args:
|
|
||||||
_default:
|
|
||||||
- |
|
|
||||||
set -a
|
|
||||||
[ -f /vault/secrets/issues-db ] && . /vault/secrets/issues-db
|
|
||||||
[ -f /vault/secrets/issues-rabbitmq ] && . /vault/secrets/issues-rabbitmq
|
|
||||||
[ -f /vault/secrets/issues-s3 ] && . /vault/secrets/issues-s3
|
|
||||||
[ -f /vault/secrets/issues-django-auth ] && . /vault/secrets/issues-django-auth
|
|
||||||
[ -f /vault/secrets/issues-jwt-private ] && export JWT_PRIVATE_KEY="$(cat /vault/secrets/issues-jwt-private)"
|
|
||||||
[ -f /vault/secrets/issues-jwt-public ] && export JWT_PUBLIC_KEY="$(cat /vault/secrets/issues-jwt-public)"
|
|
||||||
[ -f /vault/secrets/issues-kafka ] && . /vault/secrets/issues-kafka
|
|
||||||
set +a
|
|
||||||
exec /src/entrypoint.sh
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
_default:
|
|
||||||
- name: production-configmap
|
|
||||||
mountPath:
|
|
||||||
_default: /src/config/settings/production.py
|
|
||||||
subPath:
|
|
||||||
_default: production.py
|
|
||||||
readOnly:
|
|
||||||
_default: true
|
|
||||||
configMap:
|
|
||||||
name:
|
|
||||||
_default: production-configmap
|
|
||||||
items:
|
|
||||||
- key: production.py
|
|
||||||
path:
|
|
||||||
_default: production.py
|
|
||||||
- name: kafka-ca-cert
|
|
||||||
mountPath:
|
|
||||||
_default: /usr/local/share/ca-certificates/kafka.crt
|
|
||||||
subPath:
|
|
||||||
_default: kafka.crt
|
|
||||||
readOnly:
|
|
||||||
_default: true
|
|
||||||
secret:
|
|
||||||
secretName:
|
|
||||||
_default: kafka-kafka-contour-tls
|
|
||||||
items:
|
|
||||||
- key: ca.crt
|
|
||||||
path:
|
|
||||||
_default: kafka.crt
|
|
||||||
|
|
||||||
envs:
|
|
||||||
- name: ENVIRONMENT
|
|
||||||
value:
|
|
||||||
_default: "production"
|
|
||||||
|
|
||||||
- name: AERO_PUBLIC_HOST
|
|
||||||
value:
|
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
|
||||||
|
|
||||||
- name: AERO_HOST
|
|
||||||
value:
|
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
|
||||||
|
|
||||||
- name: BASE_AERO_URL
|
|
||||||
value:
|
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
|
||||||
|
|
||||||
- name: BASE_AUTH_URL
|
|
||||||
value:
|
|
||||||
_default: "http://backend-svc.django.svc.cluster.local:80"
|
|
||||||
|
|
||||||
- name: WORKFLOWS_HOST
|
|
||||||
value:
|
|
||||||
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
|
||||||
|
|
||||||
- name: WORKFLOWS_URL
|
|
||||||
value:
|
|
||||||
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
|
||||||
|
|
||||||
- name: RESOURCES_API_HOST
|
|
||||||
value:
|
|
||||||
_default: "http://iam-backend.iam.svc.cluster.local:8000"
|
|
||||||
|
|
||||||
- name: EAV_HOST
|
|
||||||
value:
|
|
||||||
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
|
||||||
|
|
||||||
- name: SAREX_API
|
|
||||||
value:
|
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
|
||||||
|
|
||||||
- name: DOCUMENTATIONS_URL
|
|
||||||
value:
|
|
||||||
_default: "http://documentations-api-svc.documentations.svc.cluster.local:80"
|
|
||||||
|
|
||||||
- name: DJANGO_SETTINGS_MODULE
|
|
||||||
value:
|
|
||||||
_default: "config.settings.production"
|
|
||||||
|
|
||||||
- name: API_ADDRESS
|
|
||||||
value:
|
|
||||||
_default: "8000"
|
|
||||||
|
|
||||||
# Kafka — код (kafka_app/app.py) ждёт KAFKA_HOST единой строкой "host:port",
|
|
||||||
# KAFKA_SSL_CAFILE — путь к файлу (не PEM-текст, в отличие от flows-backend).
|
|
||||||
# Хост/порт/CA — те же проверенные значения, что у message-hub/pm/flows.
|
|
||||||
- name: KAFKA_HOST
|
|
||||||
value:
|
|
||||||
_default: "kafka-kafka-contour.kafka.svc.cluster.local:9092"
|
|
||||||
|
|
||||||
- name: KAFKA_SSL_CAFILE
|
|
||||||
value:
|
|
||||||
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
|
||||||
|
|
||||||
# Топики совпадают с тем, что уже провижено на брокере (см. topics
|
|
||||||
# в секрете kafka/apps/pm) и с SETTINGS_TOPICS у message-hub.
|
|
||||||
- name: KAFKA_ISSUES_TOPIC
|
|
||||||
value:
|
|
||||||
_default: "issues_broadcast_prod"
|
|
||||||
|
|
||||||
- name: KAFKA_EAV_ASSETS_TOPIC
|
|
||||||
value:
|
|
||||||
_default: "assets_broadcast"
|
|
||||||
|
|
||||||
podAnnotations:
|
|
||||||
_default:
|
|
||||||
vault.hashicorp.com/agent-inject-secret-issues-s3: secrets/data/minio/apps/issues
|
|
||||||
vault.hashicorp.com/agent-inject-template-issues-s3: |-
|
|
||||||
{{- with secret "secrets/data/minio/apps/issues" -}}
|
|
||||||
YC_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
|
|
||||||
YC_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
|
|
||||||
YC_S3_BUCKET_NAME=issues
|
|
||||||
YC_S3_ENDPOINT_URL=http://s3-proxy.s3-proxy.svc.cluster.local
|
|
||||||
{{- end -}}
|
|
||||||
vault.hashicorp.com/agent-inject-secret-issues-kafka: secrets/data/kafka/apps/issues
|
|
||||||
vault.hashicorp.com/agent-inject-template-issues-kafka: |-
|
|
||||||
{{- with secret "secrets/data/kafka/apps/issues" -}}
|
|
||||||
KAFKA_USERNAME={{ index .Data.data "username" }}
|
|
||||||
KAFKA_PASSWORD={{ index .Data.data "password" }}
|
|
||||||
{{- end -}}
|
|
||||||
@ -8,8 +8,145 @@ spec:
|
|||||||
values:
|
values:
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
|
image:
|
||||||
|
name:
|
||||||
|
_default: cr.yandex/crp3ccidau046kdj8g9q/issues:production_eb983275
|
||||||
deployment:
|
deployment:
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: null
|
cpu: null
|
||||||
memory: null
|
memory: null
|
||||||
|
args:
|
||||||
|
_default:
|
||||||
|
- |
|
||||||
|
set -a
|
||||||
|
[ -f /vault/secrets/issues-db ] && . /vault/secrets/issues-db
|
||||||
|
[ -f /vault/secrets/issues-rabbitmq ] && . /vault/secrets/issues-rabbitmq
|
||||||
|
[ -f /vault/secrets/issues-s3 ] && . /vault/secrets/issues-s3
|
||||||
|
[ -f /vault/secrets/issues-django-auth ] && . /vault/secrets/issues-django-auth
|
||||||
|
[ -f /vault/secrets/issues-jwt-private ] && export JWT_PRIVATE_KEY="$(cat /vault/secrets/issues-jwt-private)"
|
||||||
|
[ -f /vault/secrets/issues-jwt-public ] && export JWT_PUBLIC_KEY="$(cat /vault/secrets/issues-jwt-public)"
|
||||||
|
[ -f /vault/secrets/issues-kafka ] && . /vault/secrets/issues-kafka
|
||||||
|
set +a
|
||||||
|
exec /src/entrypoint.sh
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
_default:
|
||||||
|
- name: production-configmap
|
||||||
|
mountPath:
|
||||||
|
_default: /src/config/settings/production.py
|
||||||
|
subPath:
|
||||||
|
_default: production.py
|
||||||
|
readOnly:
|
||||||
|
_default: true
|
||||||
|
configMap:
|
||||||
|
name:
|
||||||
|
_default: production-configmap
|
||||||
|
items:
|
||||||
|
- key: production.py
|
||||||
|
path:
|
||||||
|
_default: production.py
|
||||||
|
- name: kafka-ca-cert
|
||||||
|
mountPath:
|
||||||
|
_default: /usr/local/share/ca-certificates/kafka.crt
|
||||||
|
subPath:
|
||||||
|
_default: kafka.crt
|
||||||
|
readOnly:
|
||||||
|
_default: true
|
||||||
|
secret:
|
||||||
|
secretName:
|
||||||
|
_default: kafka-kafka-contour-tls
|
||||||
|
items:
|
||||||
|
- key: ca.crt
|
||||||
|
path:
|
||||||
|
_default: kafka.crt
|
||||||
|
|
||||||
|
envs:
|
||||||
|
- name: ENVIRONMENT
|
||||||
|
value:
|
||||||
|
_default: "production"
|
||||||
|
|
||||||
|
- name: AERO_PUBLIC_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.contour.infra.sarex.tech"
|
||||||
|
|
||||||
|
- name: AERO_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.contour.infra.sarex.tech"
|
||||||
|
|
||||||
|
- name: BASE_AERO_URL
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.contour.infra.sarex.tech"
|
||||||
|
|
||||||
|
- name: BASE_AUTH_URL
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_URL
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.workflow.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: RESOURCES_API_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://iam-backend.iam.svc.cluster.local:8000"
|
||||||
|
|
||||||
|
- name: EAV_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: SAREX_API
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: SAREX_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.local.uralkali.com"
|
||||||
|
|
||||||
|
- name: DOCUMENTATIONS_URL
|
||||||
|
value:
|
||||||
|
_default: "http://documentations-api-svc.documentations.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: DJANGO_SETTINGS_MODULE
|
||||||
|
value:
|
||||||
|
_default: "config.settings.production"
|
||||||
|
|
||||||
|
- name: API_ADDRESS
|
||||||
|
value:
|
||||||
|
_default: "8000"
|
||||||
|
|
||||||
|
- name: KAFKA_HOST
|
||||||
|
value:
|
||||||
|
_default: "kafka-kafka-contour.kafka.svc.cluster.local:9092"
|
||||||
|
|
||||||
|
- name: KAFKA_SSL_CAFILE
|
||||||
|
value:
|
||||||
|
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
||||||
|
|
||||||
|
- name: KAFKA_ISSUES_TOPIC
|
||||||
|
value:
|
||||||
|
_default: "issues_broadcast_prod"
|
||||||
|
|
||||||
|
- name: KAFKA_EAV_ASSETS_TOPIC
|
||||||
|
value:
|
||||||
|
_default: "assets_broadcast"
|
||||||
|
|
||||||
|
podAnnotations:
|
||||||
|
_default:
|
||||||
|
vault.hashicorp.com/agent-inject-secret-issues-s3: secrets/data/minio/apps/issues
|
||||||
|
vault.hashicorp.com/agent-inject-template-issues-s3: |-
|
||||||
|
{{- with secret "secrets/data/minio/apps/issues" -}}
|
||||||
|
YC_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
|
||||||
|
YC_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
|
||||||
|
YC_S3_BUCKET_NAME=issues
|
||||||
|
YC_S3_ENDPOINT_URL=http://10.133.0.245:9000
|
||||||
|
{{- end -}}
|
||||||
|
vault.hashicorp.com/agent-inject-secret-issues-kafka: secrets/data/kafka/apps/issues
|
||||||
|
vault.hashicorp.com/agent-inject-template-issues-kafka: |-
|
||||||
|
{{- with secret "secrets/data/kafka/apps/issues" -}}
|
||||||
|
KAFKA_USERNAME={{ index .Data.data "username" }}
|
||||||
|
KAFKA_PASSWORD={{ index .Data.data "password" }}
|
||||||
|
{{- end -}}
|
||||||
|
|||||||
@ -1,145 +0,0 @@
|
|||||||
---
|
|
||||||
# ВНИМАНИЕ: envs и args — списки, kustomize заменяет их ЦЕЛИКОМ (JSON merge patch),
|
|
||||||
# поэтому здесь продублирован весь набор из apps/issues/base/celery.yaml.
|
|
||||||
# podAnnotations — map, мержится по ключам.
|
|
||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
||||||
kind: HelmRelease
|
|
||||||
metadata:
|
|
||||||
name: celery
|
|
||||||
namespace: issues
|
|
||||||
spec:
|
|
||||||
values:
|
|
||||||
services:
|
|
||||||
celery:
|
|
||||||
deployment:
|
|
||||||
args:
|
|
||||||
_default:
|
|
||||||
- |
|
|
||||||
set -a
|
|
||||||
[ -f /vault/secrets/issues-db ] && . /vault/secrets/issues-db
|
|
||||||
[ -f /vault/secrets/issues-rabbitmq ] && . /vault/secrets/issues-rabbitmq
|
|
||||||
[ -f /vault/secrets/issues-s3 ] && . /vault/secrets/issues-s3
|
|
||||||
[ -f /vault/secrets/issues-django-auth ] && . /vault/secrets/issues-django-auth
|
|
||||||
[ -f /vault/secrets/issues-jwt-private ] && export JWT_PRIVATE_KEY="$(cat /vault/secrets/issues-jwt-private)"
|
|
||||||
[ -f /vault/secrets/issues-jwt-public ] && export JWT_PUBLIC_KEY="$(cat /vault/secrets/issues-jwt-public)"
|
|
||||||
[ -f /vault/secrets/issues-kafka ] && . /vault/secrets/issues-kafka
|
|
||||||
set +a
|
|
||||||
exec celery -A config worker -l info -E
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
_default:
|
|
||||||
- name: production-configmap
|
|
||||||
mountPath:
|
|
||||||
_default: /src/config/settings/production.py
|
|
||||||
subPath:
|
|
||||||
_default: production.py
|
|
||||||
readOnly:
|
|
||||||
_default: true
|
|
||||||
configMap:
|
|
||||||
name:
|
|
||||||
_default: production-configmap
|
|
||||||
items:
|
|
||||||
- key: production.py
|
|
||||||
path:
|
|
||||||
_default: production.py
|
|
||||||
- name: kafka-ca-cert
|
|
||||||
mountPath:
|
|
||||||
_default: /usr/local/share/ca-certificates/kafka.crt
|
|
||||||
subPath:
|
|
||||||
_default: kafka.crt
|
|
||||||
readOnly:
|
|
||||||
_default: true
|
|
||||||
secret:
|
|
||||||
secretName:
|
|
||||||
_default: kafka-kafka-contour-tls
|
|
||||||
items:
|
|
||||||
- key: ca.crt
|
|
||||||
path:
|
|
||||||
_default: kafka.crt
|
|
||||||
|
|
||||||
envs:
|
|
||||||
- name: ENVIRONMENT
|
|
||||||
value:
|
|
||||||
_default: "production"
|
|
||||||
|
|
||||||
- name: AERO_PUBLIC_HOST
|
|
||||||
value:
|
|
||||||
_default: "https://srx.wb.ru"
|
|
||||||
|
|
||||||
- name: AERO_HOST
|
|
||||||
value:
|
|
||||||
_default: "https://srx.wb.ru"
|
|
||||||
|
|
||||||
- name: BASE_AERO_URL
|
|
||||||
value:
|
|
||||||
_default: "https://srx.wb.ru"
|
|
||||||
|
|
||||||
- name: BASE_AUTH_URL
|
|
||||||
value:
|
|
||||||
_default: "http://backend-svc.django.svc.cluster.local:80"
|
|
||||||
|
|
||||||
- name: WORKFLOWS_HOST
|
|
||||||
value:
|
|
||||||
_default: "http://workflows-api-service.workflow.svc.cluster.local:8000"
|
|
||||||
|
|
||||||
- name: WORKFLOWS_URL
|
|
||||||
value:
|
|
||||||
_default: "http://workflows-api-service.workflow.svc.cluster.local:8000"
|
|
||||||
|
|
||||||
- name: RESOURCES_API_HOST
|
|
||||||
value:
|
|
||||||
_default: "http://iam-backend.iam.svc.cluster.local:8000"
|
|
||||||
|
|
||||||
- name: EAV_HOST
|
|
||||||
value:
|
|
||||||
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
|
||||||
|
|
||||||
- name: SAREX_API
|
|
||||||
value:
|
|
||||||
_default: "https://srx.wb.ru"
|
|
||||||
|
|
||||||
- name: DOCUMENTATIONS_URL
|
|
||||||
value:
|
|
||||||
_default: "http://backend-api-svc.documentations.svc.cluster.local:80"
|
|
||||||
|
|
||||||
- name: DJANGO_SETTINGS_MODULE
|
|
||||||
value:
|
|
||||||
_default: "config.settings.production"
|
|
||||||
|
|
||||||
- name: API_ADDRESS
|
|
||||||
value:
|
|
||||||
_default: "8000"
|
|
||||||
|
|
||||||
# См. подробные комментарии в apps/issues/d8-ugmk-prod/backend-s3.yaml.
|
|
||||||
- name: KAFKA_HOST
|
|
||||||
value:
|
|
||||||
_default: "kafka-kafka-contour.kafka.svc.cluster.local:9092"
|
|
||||||
|
|
||||||
- name: KAFKA_SSL_CAFILE
|
|
||||||
value:
|
|
||||||
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
|
||||||
|
|
||||||
- name: KAFKA_ISSUES_TOPIC
|
|
||||||
value:
|
|
||||||
_default: "issues_broadcast_prod"
|
|
||||||
|
|
||||||
- name: KAFKA_EAV_ASSETS_TOPIC
|
|
||||||
value:
|
|
||||||
_default: "assets_broadcast"
|
|
||||||
|
|
||||||
podAnnotations:
|
|
||||||
_default:
|
|
||||||
vault.hashicorp.com/agent-inject-secret-issues-s3: secrets/data/minio/apps/issues
|
|
||||||
vault.hashicorp.com/agent-inject-template-issues-s3: |-
|
|
||||||
{{- with secret "secrets/data/minio/apps/issues" -}}
|
|
||||||
YC_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
|
|
||||||
YC_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
|
|
||||||
YC_S3_BUCKET_NAME=issues
|
|
||||||
YC_S3_ENDPOINT_URL=http://s3-proxy.s3-proxy.svc.cluster.local
|
|
||||||
{{- end -}}
|
|
||||||
vault.hashicorp.com/agent-inject-secret-issues-kafka: secrets/data/kafka/apps/issues
|
|
||||||
vault.hashicorp.com/agent-inject-template-issues-kafka: |-
|
|
||||||
{{- with secret "secrets/data/kafka/apps/issues" -}}
|
|
||||||
KAFKA_USERNAME={{ index .Data.data "username" }}
|
|
||||||
KAFKA_PASSWORD={{ index .Data.data "password" }}
|
|
||||||
{{- end -}}
|
|
||||||
@ -13,3 +13,137 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
cpu: null
|
cpu: null
|
||||||
memory: null
|
memory: null
|
||||||
|
args:
|
||||||
|
_default:
|
||||||
|
- |
|
||||||
|
set -a
|
||||||
|
[ -f /vault/secrets/issues-db ] && . /vault/secrets/issues-db
|
||||||
|
[ -f /vault/secrets/issues-rabbitmq ] && . /vault/secrets/issues-rabbitmq
|
||||||
|
[ -f /vault/secrets/issues-s3 ] && . /vault/secrets/issues-s3
|
||||||
|
[ -f /vault/secrets/issues-django-auth ] && . /vault/secrets/issues-django-auth
|
||||||
|
[ -f /vault/secrets/issues-jwt-private ] && export JWT_PRIVATE_KEY="$(cat /vault/secrets/issues-jwt-private)"
|
||||||
|
[ -f /vault/secrets/issues-jwt-public ] && export JWT_PUBLIC_KEY="$(cat /vault/secrets/issues-jwt-public)"
|
||||||
|
[ -f /vault/secrets/issues-kafka ] && . /vault/secrets/issues-kafka
|
||||||
|
set +a
|
||||||
|
exec celery -A config worker -l info -E
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
_default:
|
||||||
|
- name: production-configmap
|
||||||
|
mountPath:
|
||||||
|
_default: /src/config/settings/production.py
|
||||||
|
subPath:
|
||||||
|
_default: production.py
|
||||||
|
readOnly:
|
||||||
|
_default: true
|
||||||
|
configMap:
|
||||||
|
name:
|
||||||
|
_default: production-configmap
|
||||||
|
items:
|
||||||
|
- key: production.py
|
||||||
|
path:
|
||||||
|
_default: production.py
|
||||||
|
- name: kafka-ca-cert
|
||||||
|
mountPath:
|
||||||
|
_default: /usr/local/share/ca-certificates/kafka.crt
|
||||||
|
subPath:
|
||||||
|
_default: kafka.crt
|
||||||
|
readOnly:
|
||||||
|
_default: true
|
||||||
|
secret:
|
||||||
|
secretName:
|
||||||
|
_default: kafka-kafka-contour-tls
|
||||||
|
items:
|
||||||
|
- key: ca.crt
|
||||||
|
path:
|
||||||
|
_default: kafka.crt
|
||||||
|
|
||||||
|
envs:
|
||||||
|
- name: ENVIRONMENT
|
||||||
|
value:
|
||||||
|
_default: "production"
|
||||||
|
|
||||||
|
- name: AERO_PUBLIC_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.contour.infra.sarex.tech"
|
||||||
|
|
||||||
|
- name: AERO_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.contour.infra.sarex.tech"
|
||||||
|
|
||||||
|
- name: BASE_AERO_URL
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.contour.infra.sarex.tech"
|
||||||
|
|
||||||
|
- name: BASE_AUTH_URL
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://workflows-api-service.workflow.svc.cluster.local:8000"
|
||||||
|
|
||||||
|
- name: WORKFLOWS_URL
|
||||||
|
value:
|
||||||
|
_default: "http://workflows-api-service.workflow.svc.cluster.local:8000"
|
||||||
|
|
||||||
|
- name: RESOURCES_API_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://iam-backend.iam.svc.cluster.local:8000"
|
||||||
|
|
||||||
|
- name: EAV_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: SAREX_API
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: SAREX_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.local.uralkali.com"
|
||||||
|
|
||||||
|
- name: DOCUMENTATIONS_URL
|
||||||
|
value:
|
||||||
|
_default: "http://backend-api-svc.documentations.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: DJANGO_SETTINGS_MODULE
|
||||||
|
value:
|
||||||
|
_default: "config.settings.production"
|
||||||
|
|
||||||
|
- name: API_ADDRESS
|
||||||
|
value:
|
||||||
|
_default: "8000"
|
||||||
|
|
||||||
|
- name: KAFKA_HOST
|
||||||
|
value:
|
||||||
|
_default: "kafka-kafka-contour.kafka.svc.cluster.local:9092"
|
||||||
|
|
||||||
|
- name: KAFKA_SSL_CAFILE
|
||||||
|
value:
|
||||||
|
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
||||||
|
|
||||||
|
- name: KAFKA_ISSUES_TOPIC
|
||||||
|
value:
|
||||||
|
_default: "issues_broadcast_prod"
|
||||||
|
|
||||||
|
- name: KAFKA_EAV_ASSETS_TOPIC
|
||||||
|
value:
|
||||||
|
_default: "assets_broadcast"
|
||||||
|
|
||||||
|
podAnnotations:
|
||||||
|
_default:
|
||||||
|
vault.hashicorp.com/agent-inject-secret-issues-s3: secrets/data/minio/apps/issues
|
||||||
|
vault.hashicorp.com/agent-inject-template-issues-s3: |-
|
||||||
|
{{- with secret "secrets/data/minio/apps/issues" -}}
|
||||||
|
YC_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
|
||||||
|
YC_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
|
||||||
|
YC_S3_BUCKET_NAME=issues
|
||||||
|
YC_S3_ENDPOINT_URL=http://10.133.0.245:9000
|
||||||
|
{{- end -}}
|
||||||
|
vault.hashicorp.com/agent-inject-secret-issues-kafka: secrets/data/kafka/apps/issues
|
||||||
|
vault.hashicorp.com/agent-inject-template-issues-kafka: |-
|
||||||
|
{{- with secret "secrets/data/kafka/apps/issues" -}}
|
||||||
|
KAFKA_USERNAME={{ index .Data.data "username" }}
|
||||||
|
KAFKA_PASSWORD={{ index .Data.data "password" }}
|
||||||
|
{{- end -}}
|
||||||
|
|||||||
@ -3,14 +3,6 @@ kind: Kustomization
|
|||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
patches:
|
patches:
|
||||||
- path: backend-s3.yaml
|
|
||||||
target:
|
|
||||||
kind: HelmRelease
|
|
||||||
name: backend
|
|
||||||
- path: celery-s3.yaml
|
|
||||||
target:
|
|
||||||
kind: HelmRelease
|
|
||||||
name: celery
|
|
||||||
- path: backend.yaml
|
- path: backend.yaml
|
||||||
target:
|
target:
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
|
|||||||
@ -96,7 +96,11 @@ spec:
|
|||||||
|
|
||||||
- name: SAREX_API
|
- name: SAREX_API
|
||||||
value:
|
value:
|
||||||
_default: "https://sarex.contour.infra.sarex.tech"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: SAREX_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.vadroad.ru"
|
||||||
|
|
||||||
- name: DOCUMENTATIONS_URL
|
- name: DOCUMENTATIONS_URL
|
||||||
value:
|
value:
|
||||||
|
|||||||
@ -96,7 +96,11 @@ spec:
|
|||||||
|
|
||||||
- name: SAREX_API
|
- name: SAREX_API
|
||||||
value:
|
value:
|
||||||
_default: "https://srx.wb.ru"
|
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||||
|
|
||||||
|
- name: SAREX_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.vadroad.ru"
|
||||||
|
|
||||||
- name: DOCUMENTATIONS_URL
|
- name: DOCUMENTATIONS_URL
|
||||||
value:
|
value:
|
||||||
|
|||||||
@ -12,7 +12,6 @@ data:
|
|||||||
|
|
||||||
# DEBUG SETTINGS START
|
# DEBUG SETTINGS START
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
DEBUG = True
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
TEST_MODE = False
|
TEST_MODE = False
|
||||||
@ -40,7 +39,7 @@ data:
|
|||||||
|
|
||||||
# DEBUG SETTINGS START
|
# DEBUG SETTINGS START
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
DEBUG = True
|
DEBUG = False
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
REVIEW_HOST='http://backend-service.flows.svc.cluster.local:8000'
|
REVIEW_HOST='http://backend-service.flows.svc.cluster.local:8000'
|
||||||
|
|||||||
@ -13,3 +13,28 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
cpu: null
|
cpu: null
|
||||||
memory: null
|
memory: null
|
||||||
|
|
||||||
|
envs:
|
||||||
|
- name: DOCUMENTATION_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-api-svc.documentations.svc.cluster.local/api/v1"
|
||||||
|
|
||||||
|
- name: FLOW_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.flows.svc.cluster.local/api/v1"
|
||||||
|
|
||||||
|
- name: DJANGO_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.django.svc.cluster.local/api"
|
||||||
|
|
||||||
|
- name: NOTE_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-service.notes.svc.cluster.local:8000/api/v1"
|
||||||
|
|
||||||
|
- name: REDIS_USE
|
||||||
|
value:
|
||||||
|
_default: "0"
|
||||||
|
|
||||||
|
- name: TIMEOUT
|
||||||
|
value:
|
||||||
|
_default: "120"
|
||||||
|
|||||||
@ -66,7 +66,7 @@ spec:
|
|||||||
enabled: false
|
enabled: false
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/notes-backend:production_81366854
|
_default: cr.yandex/crp3ccidau046kdj8g9q/notes-backend:preprod_c00faf6e
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
service:
|
service:
|
||||||
|
|||||||
@ -48,7 +48,7 @@ spec:
|
|||||||
enabled: false
|
enabled: false
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/notes-frontend:production_0cb0909f
|
_default: cr.yandex/crp3ccidau046kdj8g9q/notes-frontend:contour_5ff34172
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
service:
|
service:
|
||||||
|
|||||||
@ -35,7 +35,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/notes-backend:0.3.7
|
_default: cr.yandex/crp3ccidau046kdj8g9q/notes-backend:production_81366854
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
@ -87,6 +87,14 @@ spec:
|
|||||||
monitoring: prometheus
|
monitoring: prometheus
|
||||||
|
|
||||||
envs:
|
envs:
|
||||||
|
- name: SYNC_RESOURCE_ID
|
||||||
|
value:
|
||||||
|
_default: "0"
|
||||||
|
|
||||||
|
- name: ENABLE_ND
|
||||||
|
value:
|
||||||
|
_default: "0"
|
||||||
|
|
||||||
- name: DJANGO_HOST
|
- name: DJANGO_HOST
|
||||||
value:
|
value:
|
||||||
_default: "http://backend.django.svc.cluster.local:8000"
|
_default: "http://backend.django.svc.cluster.local:8000"
|
||||||
|
|||||||
@ -35,7 +35,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/notes-frontend:prod_55791cf6_relative
|
_default: cr.yandex/crp3ccidau046kdj8g9q/notes-frontend:production_0cb0909f
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -13,3 +13,52 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
cpu: null
|
cpu: null
|
||||||
memory: null
|
memory: null
|
||||||
|
|
||||||
|
envs:
|
||||||
|
- name: PG_SSL_MODE
|
||||||
|
value:
|
||||||
|
_default: "disable"
|
||||||
|
|
||||||
|
- name: DJANGO_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.django.svc.cluster.local"
|
||||||
|
|
||||||
|
- name: BASE_HOST
|
||||||
|
value:
|
||||||
|
_default: "https://sarex.local.uralkali.com/notes"
|
||||||
|
|
||||||
|
- name: TIMEOUT
|
||||||
|
value:
|
||||||
|
_default: "120"
|
||||||
|
|
||||||
|
- name: FAAS_SERVICE
|
||||||
|
value:
|
||||||
|
_default: "https://api.sarex.io/lambdas"
|
||||||
|
|
||||||
|
- name: WORKSPACE_URL
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.workspaces.svc.cluster.local/api/v1"
|
||||||
|
|
||||||
|
- name: WORKFLOW_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://backend-svc.processing.svc.cluster.local/api/v1"
|
||||||
|
|
||||||
|
- name: WORKFLOW_TAG
|
||||||
|
value:
|
||||||
|
_default: "stable"
|
||||||
|
|
||||||
|
- name: RESOURCE_URL
|
||||||
|
value:
|
||||||
|
_default: "https://api.sarex.io/resources/api/v1"
|
||||||
|
|
||||||
|
- name: SYNC_RESOURCE_ID
|
||||||
|
value:
|
||||||
|
_default: "0"
|
||||||
|
|
||||||
|
- name: ENABLE_ND
|
||||||
|
value:
|
||||||
|
_default: "0"
|
||||||
|
|
||||||
|
- name: ATTACHMENT_HOST
|
||||||
|
value:
|
||||||
|
_default: "http://attachments-service.attachments.svc.cluster.local:8000/api/v1"
|
||||||
|
|||||||
@ -37,7 +37,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
name:
|
name:
|
||||||
_default: cr.yandex/crp3ccidau046kdj8g9q/pm-frontend:contour_7f125269
|
_default: cr.yandex/crp3ccidau046kdj8g9q/pm-frontend:contour_abfaba7c
|
||||||
pullPolicy:
|
pullPolicy:
|
||||||
_default: IfNotPresent
|
_default: IfNotPresent
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,5 @@
|
|||||||
---
|
---
|
||||||
# Патч backend для vad.
|
|
||||||
#
|
|
||||||
# ВНИМАНИЕ: args — список, kustomize заменяет его ЦЕЛИКОМ (JSON merge patch),
|
|
||||||
# поэтому здесь продублирован весь скрипт из apps/pm/base/backend.yaml.
|
|
||||||
# При правке args в base их нужно продублировать и сюда.
|
|
||||||
# podAnnotations — map, мержится по ключам, поэтому переопределён только
|
|
||||||
# один ключ agent-inject-template-pm-s3; остальные vault-аннотации берутся из base.
|
|
||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
metadata:
|
metadata:
|
||||||
@ -62,6 +56,10 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "/api/v1"
|
_default: "/api/v1"
|
||||||
|
|
||||||
|
- name: SETTINGS_VERIFY_SSL
|
||||||
|
value:
|
||||||
|
_default: "false"
|
||||||
|
|
||||||
- name: TRACING_INSECURE
|
- name: TRACING_INSECURE
|
||||||
value:
|
value:
|
||||||
_default: "False"
|
_default: "False"
|
||||||
|
|||||||
@ -147,6 +147,28 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "/api/v1"
|
_default: "/api/v1"
|
||||||
|
|
||||||
|
- name: KAFKA_ENABLE
|
||||||
|
value:
|
||||||
|
_default: "True"
|
||||||
|
|
||||||
|
- name: KAFKA_BOOTSTRAP_SERVERS
|
||||||
|
value:
|
||||||
|
_default: '["wb-prod-kafka-bootstrap.kafka.svc.cluster.local:9093"]'
|
||||||
|
|
||||||
|
- name: KAFKA_SECURITY_PROTOCOL
|
||||||
|
value:
|
||||||
|
_default: "SSL"
|
||||||
|
|
||||||
|
- name: KAFKA_SSL_CAFILE
|
||||||
|
value:
|
||||||
|
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
||||||
|
|
||||||
|
# Обязан совпадать с SETTINGS_TOPICS["planning"] в
|
||||||
|
# apps/message-hub/wb/message-hub.yaml
|
||||||
|
- name: KAFKA_TOPICS
|
||||||
|
value:
|
||||||
|
_default: '{"planning": "message-hub-prod"}'
|
||||||
|
|
||||||
commitSha: ""
|
commitSha: ""
|
||||||
gitlabUri: ""
|
gitlabUri: ""
|
||||||
gitlabJobUrl: ""
|
gitlabJobUrl: ""
|
||||||
|
|||||||
@ -141,6 +141,26 @@ spec:
|
|||||||
value:
|
value:
|
||||||
_default: "/api/v1"
|
_default: "/api/v1"
|
||||||
|
|
||||||
|
- name: KAFKA_ENABLE
|
||||||
|
value:
|
||||||
|
_default: "True"
|
||||||
|
|
||||||
|
- name: KAFKA_BOOTSTRAP_SERVERS
|
||||||
|
value:
|
||||||
|
_default: '["wb-prod-kafka-bootstrap.kafka.svc.cluster.local:9093"]'
|
||||||
|
|
||||||
|
- name: KAFKA_SECURITY_PROTOCOL
|
||||||
|
value:
|
||||||
|
_default: "SSL"
|
||||||
|
|
||||||
|
- name: KAFKA_SSL_CAFILE
|
||||||
|
value:
|
||||||
|
_default: "/usr/local/share/ca-certificates/kafka.crt"
|
||||||
|
|
||||||
|
- name: KAFKA_TOPICS
|
||||||
|
value:
|
||||||
|
_default: '{"planning": "message-hub-prod"}'
|
||||||
|
|
||||||
commitSha: ""
|
commitSha: ""
|
||||||
gitlabUri: ""
|
gitlabUri: ""
|
||||||
gitlabJobUrl: ""
|
gitlabJobUrl: ""
|
||||||
|
|||||||
6
apps/postgres-tls-test/uralkal/kustomization.yaml
Normal file
6
apps/postgres-tls-test/uralkal/kustomization.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- postgresql.yaml
|
||||||
|
- notes-tls.yaml
|
||||||
5
apps/postgres-tls-test/uralkal/namespace.yaml
Normal file
5
apps/postgres-tls-test/uralkal/namespace.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: postgres-tls-test
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user