From 36b63ef18936eda537cdd9dd5d3d3c8c3178b9a6 Mon Sep 17 00:00:00 2001 From: Kochetkov S Date: Mon, 26 Oct 2026 10:55:05 +0300 Subject: [PATCH 1/9] ++ vk lb new fip --- infrastructure/istio-gateway/vk-prod/lb-service.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/istio-gateway/vk-prod/lb-service.yaml b/infrastructure/istio-gateway/vk-prod/lb-service.yaml index 5e6d819..a1887d8 100644 --- a/infrastructure/istio-gateway/vk-prod/lb-service.yaml +++ b/infrastructure/istio-gateway/vk-prod/lb-service.yaml @@ -10,7 +10,7 @@ metadata: istio: ingressgateway spec: type: LoadBalancer - loadBalancerIP: 161.104.106.190 + loadBalancerIP: 168.113.132.114 externalTrafficPolicy: Local selector: app: istio-ingressgateway From 5cbcdd4ff7570b98bf4fe289f0be893f5f62875b Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 26 Oct 2026 13:07:00 +0500 Subject: [PATCH 2/9] ++ --- apps/issues/uralkal/backend-s3.yaml | 153 ------------------------- apps/issues/uralkal/backend.yaml | 137 ++++++++++++++++++++++ apps/issues/uralkal/celery-s3.yaml | 149 ------------------------ apps/issues/uralkal/celery.yaml | 134 ++++++++++++++++++++++ apps/issues/uralkal/kustomization.yaml | 8 -- 5 files changed, 271 insertions(+), 310 deletions(-) delete mode 100644 apps/issues/uralkal/backend-s3.yaml delete mode 100644 apps/issues/uralkal/celery-s3.yaml diff --git a/apps/issues/uralkal/backend-s3.yaml b/apps/issues/uralkal/backend-s3.yaml deleted file mode 100644 index 0d583fb..0000000 --- a/apps/issues/uralkal/backend-s3.yaml +++ /dev/null @@ -1,153 +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: "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" - - # 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 -}} diff --git a/apps/issues/uralkal/backend.yaml b/apps/issues/uralkal/backend.yaml index ade068e..6a84092 100644 --- a/apps/issues/uralkal/backend.yaml +++ b/apps/issues/uralkal/backend.yaml @@ -8,8 +8,145 @@ spec: values: services: backend: + image: + name: + _default: cr.yandex/crp3ccidau046kdj8g9q/issues:production_eb983275 deployment: resources: requests: cpu: 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 -}} diff --git a/apps/issues/uralkal/celery-s3.yaml b/apps/issues/uralkal/celery-s3.yaml deleted file mode 100644 index 62359c8..0000000 --- a/apps/issues/uralkal/celery-s3.yaml +++ /dev/null @@ -1,149 +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: "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" - - # См. подробные комментарии в 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 -}} diff --git a/apps/issues/uralkal/celery.yaml b/apps/issues/uralkal/celery.yaml index b122579..50541e0 100644 --- a/apps/issues/uralkal/celery.yaml +++ b/apps/issues/uralkal/celery.yaml @@ -13,3 +13,137 @@ spec: requests: cpu: 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 -}} diff --git a/apps/issues/uralkal/kustomization.yaml b/apps/issues/uralkal/kustomization.yaml index 0e24432..0a9dfd7 100644 --- a/apps/issues/uralkal/kustomization.yaml +++ b/apps/issues/uralkal/kustomization.yaml @@ -3,14 +3,6 @@ kind: Kustomization resources: - ../base patches: - - path: backend-s3.yaml - target: - kind: HelmRelease - name: backend - - path: celery-s3.yaml - target: - kind: HelmRelease - name: celery - path: backend.yaml target: kind: HelmRelease From 6b5e2b7a1f4fd8a2699c8490f4855dc26217382c Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 26 Oct 2026 13:26:00 +0500 Subject: [PATCH 3/9] ++ --- apps/processing/base/engine-low.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/processing/base/engine-low.yaml b/apps/processing/base/engine-low.yaml index d6465ae..724b2ce 100644 --- a/apps/processing/base/engine-low.yaml +++ b/apps/processing/base/engine-low.yaml @@ -42,7 +42,7 @@ spec: image: name: - _default: cr.yandex/crp3ccidau046kdj8g9q/workflows-engine:contour_89322f69 + _default: cr.yandex/crp3ccidau046kdj8g9q/workflows-engine:contour_92b7c257 pullPolicy: _default: IfNotPresent @@ -131,6 +131,16 @@ spec: - name: API_ADDRESS value: _default: "0.0.0.0:8000" + + - name: ENABLE_CROSS_SECTION_API_DB + value: + _default: "1" + - name: CROSS_SECTION_API_DB + value: + _default: "/etc/cross_section/cross-section-api-db-prod.json" + - name: CROSS_SECTION_API_DEBUG + value: + _default: "0" - name: DJANGO_HOST value: From a2f6a234cb6edf9d471e803cd2997c29ad398b66 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 26 Oct 2026 13:35:49 +0500 Subject: [PATCH 4/9] ++ --- apps/processing/base/engine-low.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/processing/base/engine-low.yaml b/apps/processing/base/engine-low.yaml index 724b2ce..712073e 100644 --- a/apps/processing/base/engine-low.yaml +++ b/apps/processing/base/engine-low.yaml @@ -137,7 +137,7 @@ spec: _default: "1" - name: CROSS_SECTION_API_DB value: - _default: "/etc/cross_section/cross-section-api-db-prod.json" + _default: "/etc/cross_section/cross_sections_api_db_prod.json" - name: CROSS_SECTION_API_DEBUG value: _default: "0" From a71b15ae184452e13137223df90f34a804913461 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 26 Oct 2026 13:39:04 +0500 Subject: [PATCH 5/9] ++ --- apps/processing/base/engine-low.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/processing/base/engine-low.yaml b/apps/processing/base/engine-low.yaml index 712073e..724b2ce 100644 --- a/apps/processing/base/engine-low.yaml +++ b/apps/processing/base/engine-low.yaml @@ -137,7 +137,7 @@ spec: _default: "1" - name: CROSS_SECTION_API_DB value: - _default: "/etc/cross_section/cross_sections_api_db_prod.json" + _default: "/etc/cross_section/cross-section-api-db-prod.json" - name: CROSS_SECTION_API_DEBUG value: _default: "0" From a8716d51b3f8b4a114e06be0cd928a468b5d6370 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 26 Oct 2026 13:55:03 +0500 Subject: [PATCH 6/9] ++ --- apps/processing/base/engine-low.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/processing/base/engine-low.yaml b/apps/processing/base/engine-low.yaml index 724b2ce..3632082 100644 --- a/apps/processing/base/engine-low.yaml +++ b/apps/processing/base/engine-low.yaml @@ -42,7 +42,7 @@ spec: image: name: - _default: cr.yandex/crp3ccidau046kdj8g9q/workflows-engine:contour_92b7c257 + _default: cr.yandex/crp3ccidau046kdj8g9q/workflows-engine:contour_835b57c1 pullPolicy: _default: IfNotPresent From 03eb83b362e7ed27871593ba3f20056ae06ee923 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 26 Oct 2026 14:09:35 +0500 Subject: [PATCH 7/9] ++ --- apps/django/ugok/django-configmap.yaml | 280 ++++++++++++++++++++++++- 1 file changed, 279 insertions(+), 1 deletion(-) diff --git a/apps/django/ugok/django-configmap.yaml b/apps/django/ugok/django-configmap.yaml index 0606838..b5f7c9b 100644 --- a/apps/django/ugok/django-configmap.yaml +++ b/apps/django/ugok/django-configmap.yaml @@ -7,4 +7,282 @@ metadata: name: django-configmap namespace: django data: - production.py: "\nimport os\nfrom .base import *\nfrom logging.handlers import SysLogHandler\nfrom datetime import timedelta\n\nALLOWED_HOSTS = [\"*\"]\nFILE_UPLOAD_PERMISSIONS = 0o644\nDEBUG = False\nCSRF_COOKIE_SECURE = False\nCSRF_TRUSTED_ORIGINS = [\"https://sarex.ugok.lan\",\"http://sarex.ugok.la\", \"*\"]\nSESSION_COOKIE_SECURE = False\nSECURE_SSL_REDIRECT = False\n\nSECRET_KEY = 't2=9+($2f%7ptsdy4!rby$)mcfl1l%o2e@vs^d(g&(wwi&%k1v'\n\nCORS_ORIGIN_ALLOW_ALL = True\nSERVERSETTINGS.cache_enabled = True\nINSTALLED_APPS = list(INSTALLED_APPS) + ['corsheaders']\n\nCORS_ALLOW_METHODS = (\n 'DELETE',\n 'GET',\n 'OPTIONS',\n 'PATCH',\n 'POST',\n 'PUT',\n)\nBASIC_USER_ID = 2\n\nCORS_ALLOW_HEADERS = (\n 'accept',\n 'accept-encoding',\n 'authorization',\n 'content-type',\n 'user-agent',\n 'x-csrftoken',\n 'x-requested-with',\n 'x-token',\n 'Bearer',\n)\n\nHOST = \"https://sarex.ugok.lan\"\n\nPOSTGRES_DATABASE = os.environ.get('DJANGO_POSTGRES_DATABASE')\nPOSTGRES_USER = os.environ.get('DJANGO_POSTGRES_USER')\nPOSTGRES_PASSWORD = os.environ.get('DJANGO_POSTGRES_PASSWORD')\nPOSTGRES_HOST = os.environ.get('DJANGO_POSTGRES_HOST')\nPOSTGRES_PORTS = os.environ.get('DJANGO_POSTGRES_PORTS', \"5432\")\n\nDATABASES = {\n 'default': {\n 'ENGINE': 'django_prometheus.db.backends.postgresql',\n 'NAME': POSTGRES_DATABASE,\n 'USER': POSTGRES_USER,\n 'PASSWORD': POSTGRES_PASSWORD,\n 'HOST': POSTGRES_HOST,\n 'PORT': POSTGRES_PORTS,\n }\n}\n\nLOGGING = {\n 'version': 1,\n 'disable_existing_loggers': False,\n 'filters': {\n 'require_debug_false': {\n '()': 'django.utils.log.RequireDebugFalse',\n }\n },\n 'formatters': {\n 'verbose': {\n 'format': '[contactor] %(levelname)s %(asctime)s %(message)s',\n },\n },\n 'handlers': {\n 'console': {\n 'level': 'DEBUG',\n 'class': 'logging.StreamHandler',\n },\n 'sentry': {\n 'level': 'ERROR',\n 'filters': ['require_debug_false'],\n 'class': 'logging.StreamHandler',\n },\n },\n 'loggers': {\n '': {\n 'handlers': ['console', 'sentry'],\n 'level': 'INFO',\n 'propagate': False,\n },\n }\n}\n\nCOMPARATOR_JWT = os.environ.get(\"COMPARATOR_JWT\", \"default_jwt\")\nCOMPARATOR_URL = os.environ.get(\"COMPARATOR_URL\", \"https://wb.sarex.io/comparator\")\nCOMPARATOR_SECTION = os.environ.get(\"COMPARATOR_SECTION\", \"sarex-production-storage\")\n\nSIMPLE_JWT = {\n 'ACCESS_TOKEN_LIFETIME': timedelta(hours=1),\n 'REFRESH_TOKEN_LIFETIME': timedelta(days=1),\n 'ROTATE_REFRESH_TOKENS': False,\n 'BLACKLIST_AFTER_ROTATION': True,\n 'UPDATE_LAST_LOGIN': False,\n 'ALGORITHM': 'RS512',\n 'SIGNING_KEY': os.environ.get(\"JWT_PRIVATE_KEY\").replace(\"\\\\n\", \"\\n\"),\n 'VERIFYING_KEY': os.environ.get(\"JWT_PUBLIC_KEY\").replace(\"\\\\n\", \"\\n\"),\n 'AUDIENCE': None,\n 'ISSUER': os.environ.get('SIMPLE_JWT_ISSUER', 'default_issuer'),\n 'AUTH_HEADER_TYPES': ('Bearer',),\n 'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION',\n 'USER_ID_FIELD': 'id',\n 'USER_ID_CLAIM': 'user_id',\n 'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),\n 'TOKEN_TYPE_CLAIM': 'token_type',\n 'JTI_CLAIM': 'jti',\n 'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',\n 'SLIDING_TOKEN_LIFETIME': timedelta(minutes=5),\n 'SLIDING_TOKEN_REFRESH_LIFETIME': timedelta(days=1),\n}\n\nos.environ[\"DJANGO_ALLOW_ASYNC_UNSAFE\"] = \"true\"\nDEFAULT_FILE_STORAGE = 'sarex.core.storages.CustomS3Boto3Storage'\nDATA_UPLOAD_MAX_MEMORY_SIZE = 268435456\n\nif not os.environ.get('ISOLATED', False):\n import sentry_sdk\n from sentry_sdk.integrations.django import DjangoIntegration\n\n sentry_sdk.init(\n dsn=\"https://3df2f4b8d3d14595a06c92e9d7c562cb@sentry.io/1501541\",\n integrations=[DjangoIntegration()],\n environment=os.environ.get('SENTRY_ENVIRONMENT', 'production'),\n send_default_pii=True,\n )\n\nCOMPARISON_API_URL = f\"{os.environ.get('WORKFLOWSSETTINGS_HOST')}/comparisons\"\nDOCUMENTATION_API_URL = f\"{os.environ.get('WORKFLOWSSETTINGS_HOST')}/documentations\"\nPDM_FILES_API_URL = f\"{os.environ.get('WORKFLOWSSETTINGS_HOST')}/files\"\n\nWORKFLOWS_TASKS = {\n \"update_orthomosaic_data\": {\n \"image\": f\"{os.environ.get('WORKFLOWSSETTINGS_REGISTRY')}/update-orthomosaic-data:dev\",\n \"service_requests\": [\"django-auth\"],\n \"backoff_limit\": 3,\n },\n}\n\nREST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': (\n 'rest_framework.pagination.LimitOffsetPagination' ),\n 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',\n 'PAGE_SIZE': 1000, 'DEFAULT_FILTER_BACKENDS': [\n 'django_filters.rest_framework.DjangoFilterBackend' ],\n 'DEFAULT_AUTHENTICATION_CLASSES': [\n 'sarex.authentication.backends.ZitadelJWTAuthentication',\n 'rest_framework.authentication.RemoteUserAuthentication',\n 'rest_framework_simplejwt.authentication.JWTAuthentication',\n 'rest_framework.authentication.BasicAuthentication',\n 'rest_framework.authentication.SessionAuthentication',\n 'sarex.authentication.backends.JWTAuthentication' ],\n 'DEFAULT_PERMISSION_CLASSES': [\n 'rest_framework.permissions.IsAuthenticated', ] }\n\nAUTHENTICATION_BACKENDS = [\n 'sarex.authentication.backends.CustomRemoteUserBackend',\n 'django.contrib.auth.backends.ModelBackend',\n 'guardian.backends.ObjectPermissionBackend',\n]\n\nMIDDLEWARE = [\n 'django_prometheus.middleware.PrometheusBeforeMiddleware',\n 'django.middleware.security.SecurityMiddleware',\n 'django.contrib.sessions.middleware.SessionMiddleware',\n 'django.middleware.common.CommonMiddleware',\n #'django.middleware.csrf.CsrfViewMiddleware',\n #'django_keycloak.middlewares.AuthorizationHeaderMiddleware',\n #'django_keycloak.middlewares.KeycloakSessionMiddleware',\n 'django.contrib.auth.middleware.AuthenticationMiddleware',\n #'django.contrib.auth.middleware.RemoteUserMiddleware',\n 'django.contrib.messages.middleware.MessageMiddleware',\n 'django.middleware.clickjacking.XFrameOptionsMiddleware',\n 'django_user_agents.middleware.UserAgentMiddleware',\n 'simple_history.middleware.HistoryRequestMiddleware',\n 'django_prometheus.middleware.PrometheusAfterMiddleware', ]\n\n\nclass KeyCloakSettings(BaseSettings):\n client_id: str = \"client_id\"\n client_secret: str = \"client_secret\"\n discovery_url: str = \"https://login.wb.sarex.io/realms/sarex/.well-known/openid-configuration\"\n staff: Optional[str] = \"Sarex staff\"\n superuser: Optional[str] = \"Sarex superusers\"\n sync_with_django: bool = True\n sync_admin: bool = False\n group_prefix: str = 'Sarex-Role'\n company_prefix: str = 'Sarex-Company'\n department_prefix: str = 'Sarex-Department'\n position_prefix: str = 'Sarex-Position'\n separator: str = '__'\n sync_user_groups: bool = False\n sync_user_positions: bool = False\n sync_user_departments: bool = False\n sync_user_companies: bool = False\n use_redirect_logout: bool = False\n logout_redirect_uri: str = \"/\"\n default_group_name: Optional[str] = 'Тест'\n default_company_name: Optional[str] = 'Брусника'\n trusted_uri: List[str] = ['/api/core/orthophotos/', '/api/token', '/api/token/me']\n trusted_uri: List[str] = []\n\n class Config:\n env_prefix = \"KC_\"\n\n\nKEYCLOAKSETTINGS = KeyCloakSettings()\n\nREMOTE_USER_DEFAULT_COMPANY_ID = 1\nSAREX_MODULES = [\n {\n \"name\": \"Замечания\",\n \"uri\": \"/remarks\"\n },\n {\n \"name\": \"Управление проектами\",\n \"uri\": \"/management/projects\",\n },\n {\n \"name\": \"Замечания V2\",\n \"uri\": \"/issues\"\n },\n {\n \"name\": \"Документация\",\n \"uri\": \"/documentations\",\n },\n {\n \"name\": \"Согласование документов\",\n \"uri\": \"/reviews\"\n },\n {\n \"name\": \"Рабочие процессы\",\n \"uri\": \"/processes\"\n },\n {\n \"name\": \"Запросы\",\n \"uri\": \"/rfi\"\n },\n {\n \"name\": \"Обзор\",\n \"uri\": \"/projects\"\n },\n {\n \"name\": \"Передача документации\", \n \"uri\": \"/transmittal\"\n },\n]\nAUTH_SETTINGS = {\n \"refresh_token\": False,\n \"refresh_token_uri\": \"/api/token/me\",\n \"refresh_oauth_token\": True,\n \"refresh_oauth_token_uri\": \"/oauth/token\",\n \"refresh_time\": 240,\n}\n\n\nDEBUG=False\nWEB_APP_AUTH_MODE='jwt-session-based'\n\n\nSAREX_MODULES_SETTINGS = {\n \"aero\": {\n \"enable_new_media\": True\n },\n \"sso_logout_redirect\": True\n}\n" + production.py: |2 + + import os + from .base import * + from logging.handlers import SysLogHandler + from datetime import timedelta + + ALLOWED_HOSTS = ["*"] + FILE_UPLOAD_PERMISSIONS = 0o644 + DEBUG = False + CSRF_COOKIE_SECURE = False + CSRF_TRUSTED_ORIGINS = ["https://sarex.ugok.lan","http://sarex.ugok.la", "*"] + SESSION_COOKIE_SECURE = False + SECURE_SSL_REDIRECT = False + + SECRET_KEY = 't2=9+($2f%7ptsdy4!rby$)mcfl1l%o2e@vs^d(g&(wwi&%k1v' + + CORS_ORIGIN_ALLOW_ALL = True + SERVERSETTINGS.cache_enabled = True + INSTALLED_APPS = list(INSTALLED_APPS) + ['corsheaders'] + + CORS_ALLOW_METHODS = ( + 'DELETE', + 'GET', + 'OPTIONS', + 'PATCH', + 'POST', + 'PUT', + ) + BASIC_USER_ID = 2 + + CORS_ALLOW_HEADERS = ( + 'accept', + 'accept-encoding', + 'authorization', + 'content-type', + 'user-agent', + 'x-csrftoken', + 'x-requested-with', + 'x-token', + 'Bearer', + ) + + HOST = "https://sarex.ugok.lan" + + POSTGRES_DATABASE = os.environ.get('DJANGO_POSTGRES_DATABASE') + POSTGRES_USER = os.environ.get('DJANGO_POSTGRES_USER') + POSTGRES_PASSWORD = os.environ.get('DJANGO_POSTGRES_PASSWORD') + POSTGRES_HOST = os.environ.get('DJANGO_POSTGRES_HOST') + POSTGRES_PORTS = os.environ.get('DJANGO_POSTGRES_PORTS', "5432") + + DATABASES = { + 'default': { + 'ENGINE': 'django_prometheus.db.backends.postgresql', + 'NAME': POSTGRES_DATABASE, + 'USER': POSTGRES_USER, + 'PASSWORD': POSTGRES_PASSWORD, + 'HOST': POSTGRES_HOST, + 'PORT': POSTGRES_PORTS, + } + } + + LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse', + } + }, + 'formatters': { + 'verbose': { + 'format': '[contactor] %(levelname)s %(asctime)s %(message)s', + }, + }, + 'handlers': { + 'console': { + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + }, + 'sentry': { + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'logging.StreamHandler', + }, + }, + 'loggers': { + '': { + 'handlers': ['console', 'sentry'], + 'level': 'INFO', + 'propagate': False, + }, + } + } + + COMPARATOR_JWT = os.environ.get("COMPARATOR_JWT", "default_jwt") + COMPARATOR_URL = os.environ.get("COMPARATOR_URL", "https://wb.sarex.io/comparator") + COMPARATOR_SECTION = os.environ.get("COMPARATOR_SECTION", "sarex-production-storage") + + SIMPLE_JWT = { + 'ACCESS_TOKEN_LIFETIME': timedelta(hours=1), + 'REFRESH_TOKEN_LIFETIME': timedelta(days=1), + 'ROTATE_REFRESH_TOKENS': False, + 'BLACKLIST_AFTER_ROTATION': True, + 'UPDATE_LAST_LOGIN': False, + 'ALGORITHM': 'RS512', + 'SIGNING_KEY': os.environ.get("JWT_PRIVATE_KEY").replace("\\n", "\n"), + 'VERIFYING_KEY': os.environ.get("JWT_PUBLIC_KEY").replace("\\n", "\n"), + 'AUDIENCE': None, + 'ISSUER': os.environ.get('SIMPLE_JWT_ISSUER', 'default_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), + } + + os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true" + DEFAULT_FILE_STORAGE = 'sarex.core.storages.CustomS3Boto3Storage' + DATA_UPLOAD_MAX_MEMORY_SIZE = 268435456 + + if not os.environ.get('ISOLATED', False): + import sentry_sdk + from sentry_sdk.integrations.django import DjangoIntegration + + sentry_sdk.init( + dsn="https://3df2f4b8d3d14595a06c92e9d7c562cb@sentry.io/1501541", + integrations=[DjangoIntegration()], + environment=os.environ.get('SENTRY_ENVIRONMENT', 'production'), + send_default_pii=True, + ) + + COMPARISON_API_URL = f"{os.environ.get('WORKFLOWSSETTINGS_HOST')}/comparisons" + DOCUMENTATION_API_URL = f"{os.environ.get('WORKFLOWSSETTINGS_HOST')}/documentations" + PDM_FILES_API_URL = f"{os.environ.get('WORKFLOWSSETTINGS_HOST')}/files" + + WORKFLOWS_TASKS = { + "update_orthomosaic_data": { + "image": f"{os.environ.get('WORKFLOWSSETTINGS_REGISTRY')}/update-orthomosaic-data:dev", + "service_requests": ["django-auth"], + "backoff_limit": 3, + }, + } + + REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': ( + 'rest_framework.pagination.LimitOffsetPagination' ), + 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema', + 'PAGE_SIZE': 1000, 'DEFAULT_FILTER_BACKENDS': [ + 'django_filters.rest_framework.DjangoFilterBackend' ], + 'DEFAULT_AUTHENTICATION_CLASSES': [ + 'sarex.authentication.backends.ZitadelJWTAuthentication', + 'rest_framework.authentication.RemoteUserAuthentication', + 'rest_framework_simplejwt.authentication.JWTAuthentication', + 'rest_framework.authentication.BasicAuthentication', + 'rest_framework.authentication.SessionAuthentication', + 'sarex.authentication.backends.JWTAuthentication' ], + 'DEFAULT_PERMISSION_CLASSES': [ + 'rest_framework.permissions.IsAuthenticated', ] } + + AUTHENTICATION_BACKENDS = [ + 'sarex.authentication.backends.CustomRemoteUserBackend', + 'django.contrib.auth.backends.ModelBackend', + 'guardian.backends.ObjectPermissionBackend', + ] + + MIDDLEWARE = [ + 'django_prometheus.middleware.PrometheusBeforeMiddleware', + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + #'django.middleware.csrf.CsrfViewMiddleware', + #'django_keycloak.middlewares.AuthorizationHeaderMiddleware', + #'django_keycloak.middlewares.KeycloakSessionMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + #'django.contrib.auth.middleware.RemoteUserMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'django_user_agents.middleware.UserAgentMiddleware', + 'simple_history.middleware.HistoryRequestMiddleware', + 'django_prometheus.middleware.PrometheusAfterMiddleware', ] + + + class KeyCloakSettings(BaseSettings): + client_id: str = "client_id" + client_secret: str = "client_secret" + discovery_url: str = "https://login.wb.sarex.io/realms/sarex/.well-known/openid-configuration" + staff: Optional[str] = "Sarex staff" + superuser: Optional[str] = "Sarex superusers" + sync_with_django: bool = True + sync_admin: bool = False + group_prefix: str = 'Sarex-Role' + company_prefix: str = 'Sarex-Company' + department_prefix: str = 'Sarex-Department' + position_prefix: str = 'Sarex-Position' + separator: str = '__' + sync_user_groups: bool = False + sync_user_positions: bool = False + sync_user_departments: bool = False + sync_user_companies: bool = False + use_redirect_logout: bool = False + logout_redirect_uri: str = "/" + default_group_name: Optional[str] = 'Тест' + default_company_name: Optional[str] = 'Брусника' + trusted_uri: List[str] = ['/api/core/orthophotos/', '/api/token', '/api/token/me'] + trusted_uri: List[str] = [] + + class Config: + env_prefix = "KC_" + + + KEYCLOAKSETTINGS = KeyCloakSettings() + + REMOTE_USER_DEFAULT_COMPANY_ID = 1 + SAREX_MODULES = [ + { + "name": "Замечания", + "uri": "/remarks" + }, + { + "name": "Управление проектами", + "uri": "/management/projects", + }, + { + "name": "Замечания V2", + "uri": "/issues" + }, + { + "name": "Документация", + "uri": "/documentations", + }, + { + "name": "Согласование документов", + "uri": "/reviews" + }, + { + "name": "Рабочие процессы", + "uri": "/processes" + }, + { + "name": "Запросы", + "uri": "/rfi" + }, + { + "name": "Справочники", + "uri": "/assets" + }, + { + "name": "Обзор", + "uri": "/projects" + }, + { + "name": "Передача документации", + "uri": "/transmittal" + }, + ] + AUTH_SETTINGS = { + "refresh_token": False, + "refresh_token_uri": "/api/token/me", + "refresh_oauth_token": True, + "refresh_oauth_token_uri": "/oauth/token", + "refresh_time": 240, + } + + + DEBUG=False + WEB_APP_AUTH_MODE='jwt-session-based' + + + SAREX_MODULES_SETTINGS = { + "aero": { + "enable_new_media": True + }, + "sso_logout_redirect": True + } From af112cfffe434a0e82ffcfd2de55d510570b981a Mon Sep 17 00:00:00 2001 From: Kochetkov S Date: Mon, 26 Oct 2026 14:15:50 +0300 Subject: [PATCH 8/9] ++ srx ui kit pages --- .../istio-config/vk-infra/istio-config.yaml | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/infrastructure/istio-config/vk-infra/istio-config.yaml b/infrastructure/istio-config/vk-infra/istio-config.yaml index c069082..488b328 100644 --- a/infrastructure/istio-config/vk-infra/istio-config.yaml +++ b/infrastructure/istio-config/vk-infra/istio-config.yaml @@ -58,6 +58,18 @@ spec: renewBefore: 360h0m0s privateKey: rotationPolicy: Always + srx-ui-kit-tls: + dnsNames: + - srx-ui-kit.infra.sarex.tech + - srx-ui-kit-stage.infra.sarex.tech + issuerRef: + name: letsencrypt-issuer-istio + kind: ClusterIssuer + spec: + duration: 2160h0m0s + renewBefore: 360h0m0s + privateKey: + rotationPolicy: Always nexus-tls: dnsNames: - nexus.infra.sarex.tech @@ -104,6 +116,18 @@ spec: tls: credentialName: kb-tls mode: SIMPLE + srx-ui-kit: + name: srx-ui-kit-gateway + namespace: istio-system + selector: + istio: ingressgateway + servers: + - hosts: + - srx-ui-kit.infra.sarex.tech + - srx-ui-kit-stage.infra.sarex.tech + tls: + credentialName: srx-ui-kit-tls + mode: SIMPLE nexus: name: nexus-gateway namespace: istio-system @@ -149,6 +173,28 @@ spec: prefix: / service: kb-service.kb.svc.cluster.local port: 80 + srx-ui-kit-virt-service: + namespace: istio-system + hosts: + - srx-ui-kit.infra.sarex.tech + gateways: + - istio-system/srx-ui-kit-gateway + routes: + - path: + prefix: / + service: universal-static-site-srx-ui-kit-pages.gitlab-pages-srx-ui-kit.svc.cluster.local + port: 80 + srx-ui-kit-stage-virt-service: + namespace: istio-system + hosts: + - srx-ui-kit-stage.infra.sarex.tech + gateways: + - istio-system/srx-ui-kit-gateway + routes: + - path: + prefix: / + service: universal-static-site-srx-ui-kit-stage-pages.gitlab-pages-srx-ui-kit-stage.svc.cluster.local + port: 80 nexus-virt-service: namespace: istio-system hosts: From af56004006932d6f17cf844b4e85a57b26e24932 Mon Sep 17 00:00:00 2001 From: diamondrigido Date: Mon, 26 Oct 2026 13:49:08 +0200 Subject: [PATCH 9/9] =?UTF-8?q?fix:=20=D0=BD=D0=B5=D0=B7=D0=BD=D0=B0=D1=87?= =?UTF-8?q?=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=B8=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Изменения базового образа для документации, чтоб копирование работало 2. output_navis env для wb engine --- apps/documentations/base/api.yaml | 2 +- apps/processing/wb/engine.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/documentations/base/api.yaml b/apps/documentations/base/api.yaml index 87bee4d..014a46f 100644 --- a/apps/documentations/base/api.yaml +++ b/apps/documentations/base/api.yaml @@ -65,7 +65,7 @@ spec: enabled: false image: name: - _default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_179e518c + _default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_4ffd8437 pullPolicy: _default: IfNotPresent service: diff --git a/apps/processing/wb/engine.yaml b/apps/processing/wb/engine.yaml index 651feb3..188159f 100644 --- a/apps/processing/wb/engine.yaml +++ b/apps/processing/wb/engine.yaml @@ -171,7 +171,7 @@ spec: - name: RABBITMQ_COMPLETENESS_EXCHANGE value: "autodesk.outputMessage" - name: RABBITMQ_COMPLETENESS_TOPIC - value: "output" + value: "output_navis" - name: CONTROL_PLANE_PERIOD value: "10s" - name: WORKFLOW_PRIORITY