Compare commits

...

45 Commits

Author SHA1 Message Date
ivan
64fe3c00fb control-interface/admin-frontend: drop explicit podAnnotations
universal-chart already injects proxy.istio.io/config and
traffic.sidecar.istio.io/excludeOutboundPorts by default for every
service — explicitly setting them too produced a duplicate-key YAML
error in Flux's post-render step:

  error while running post render on files: ... yaml: unmarshal errors:
    line 42: mapping key "traffic.sidecar.istio.io/excludeOutboundPorts" already defined at line 25
    line 41: mapping key "proxy.istio.io/config" already defined at line 26

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-02 15:40:19 +05:00
ivan
5564778337 control-interface: add admin-frontend (universal-chart) to base, route it in vad istio-config
New HelmRelease services.admin-frontend in apps/control-interface/base,
matching the live Deployment's image/port/resources (cpu 100m, memory
100Mi) and istio tracing podAnnotations. Downward-API envs (K8S_POD_UID/
K8S_POD_NAME/K8S_NAMESPACE/OTEL_RESOURCE_ATTRIBUTES) were left out — no
existing app in this repo uses valueFrom/fieldRef in the universal-chart
envs schema and the chart source isn't reachable to confirm support.
imagePullSecrets uses regcred (vad's actual convention) instead of the
source's dockerhub.

Since control-interface/vad and /uralkal both just inherit ../base
unmodified, this also shows up in uralkal as a side effect.

infrastructure/istio-config/vad: adds a plain admin-frontend route
(/admin-frontend/static/ -> admin-frontend-svc.control-interface, rewrite
/), matching the minimal style of the other sarex.vadroad.ru routes —
no cors block, per request.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-02 15:34:54 +05:00
ivan
0bd15c6ae5 ++ 2026-10-02 14:57:19 +05:00
ivan
e00a7905fb ++ 2026-10-02 14:51:30 +05:00
ivan
7531341438 ++ 2026-10-02 12:33:16 +05:00
ivan
d44378a432 brusnika-stage: route checklists/inspections/workflows/workspaces/comparisons/etc. through Istio instead of the global-ingress nginx proxy
Adds 13 new VirtualServices on the existing test.sarex.brusnika.tech host
and ingress-nginx/main-gateway, matching the active (non-commented)
location blocks in global-ingress's nginx-configmap (fetched live from the
cluster and cross-checked service/port/namespace names against what's
actually running). The root path (/) stays routed to
nginx-service.global-ingress as a fallback for anything not covered here.

Two deliberate deviations from literally replaying the nginx config:
- /comparisons/api/: nginx proxies to port 8080, but the real
  backend-service.comparisons Service listens on 80 (targetPort 8080) —
  used 80.
- /orchestrator/: nginx declares 4 location blocks, but the first
  (bare ~^/orchestrator/) shadows the other three for any non-empty
  path (nginx picks the first matching regex location, not the most
  specific), so only one route (no rewrite) was ported, matching what
  nginx actually does today.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-01 18:50:27 +05:00
ivan
6251cfed5c brusnika-stage: bring images and env vars up to wb level
Missing env vars copied from wb for ams-sync, attachments, bi/frontend,
checklists, django (celery, export-project, sarex-backend), documentations
(api, filestream, pdm), eav, flows (backend, celery, frontend), iam,
inspections, issues (backend, celery), rfi, transmittal/worker.

Image tags updated to match wb for flows (backend/celery/frontend), iam.

Known issue, not yet fixed in this commit: several of the copied env
values are wb-specific hosts (*.wb.ru, one uralmine.com) that don't apply
to brusnika-stage — ZITADEL_HOST/ZITADEL_DOMAIN (django, documentations,
iam), DATABASE_HOST/FLOWS_DB_HOST/ISSUES_DB_HOST (checklists, flows),
SUPERSET_HOST (bi), DJANGO_BASE_HOST/SAREX_BACKEND_URL (flows,
inspections), RESOURCES_INTERNAL_HOST/RESOURCE_URL (ams-sync, django,
flows, notes-related). To be corrected in a follow-up commit.

bi/backend.yaml, bim/backend.yaml and notes/backend.yaml were reverted
before this commit (image-tag updates for bi-backend/bim/notes and bi's
SUPERSET_* env additions are not included).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-01 18:04:55 +05:00
ivan
e4c3294bb8 ++ 2026-10-01 17:43:58 +05:00
0c54886814 Merge branch 'pdm/update_for_brusnika_copy' into 'master'
fix: update brusnika for copy

See merge request infra/iac!4
2026-09-30 15:25:45 +00:00
diamondrigido
7cac4ff295 fix: update brusnika for copy 2026-09-30 17:17:53 +02:00
emelinda
a438f5bd6b Uncomment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 17:55:40 +03:00
emelinda
8244e56f02 Comment out vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 17:52:55 +03:00
emelinda
70e4b24eee Uncomment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 17:42:18 +03:00
emelinda
474298459a comment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 17:35:11 +03:00
emelinda
c471cf39e0 Uncomment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 15:20:40 +03:00
ivan
979e5c2a51 uralkal: clear CPU/memory requests for all 36 business apps
Every services.<svc>.deployment.resources.requests.{cpu,memory} across the
36 uralkal apps (69 HelmRelease/service entries total) is now nulled via a
kustomize patch, so Helm never renders a requests block for these pods on
uralkal — Kubernetes won't reserve CPU/memory for them there.

Where a uralkal patch already existed for that service (13 cases:
documentations api/filestream/pdf-markings-amqp, django backend, flows
backend/celery, pm backend/celery, transmittal backend/worker, bi,
document-link, stamp-verification, message-hub), the null block was added
into that same file. Where no uralkal patch existed yet (55 cases,
including all 13 cde workers and every plain frontend), a new minimal
patch file was added and wired into that app's kustomization.yaml.

vad and the other clusters are untouched — only apps/*/uralkal/* changed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-30 15:06:51 +03:00
ivan
b32e4667c1 ++ 2026-09-30 14:11:08 +03:00
emelinda
01b8a7b553 Merge remote-tracking branch 'origin/master' 2026-09-30 14:06:19 +03:00
emelinda
809febe4dc Comment out vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 14:06:07 +03:00
1fe6cb2eba ++ first contour pipeline 2026-09-30 11:22:55 +03:00
ivan
f48a81f5c2 ++ 2026-09-30 11:10:45 +03:00
ivan
33664b0afb ++ 2026-09-30 11:10:45 +03:00
emelinda
c602ca904a Uncomment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 09:38:28 +03:00
emelinda
9ea8ab675e Comment out vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 09:23:04 +03:00
emelinda
e04fc5b850 Update Istio route prefix for resource-management in brusnika-stage configuration. 2026-09-29 17:47:23 +03:00
emelinda
4947d8b675 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	apps/documentations/ugok/filestream.yaml
2026-09-29 10:44:18 +03:00
emelinda
f7ee2ab1af Update image versions for ugok services in api.yaml and filestream.yaml. 2026-09-29 10:43:48 +03:00
a204213979 ++ uralkal camunda domains 2026-09-28 18:23:45 +03:00
ivan
92efab2ecd ++ 2026-09-28 15:57:47 +03:00
ivan
9ec172c0f4 uralkal: replicate the vad business-app footprint (36 apps) with uralkal domains
apps/<app>/uralkal mirrors apps/<app>/vad for all 36 apps from
clusters/vad/kustomization.yaml, with domains remapped (not a suffix swap —
vad's sarex-login.vadroad.ru etc. use a different host scheme than uralkal's
login.sarex.local.uralkali.com). Two things are left as explicit
placeholders pending real infra: the Zitadel client_id/org_id
(TBD_URALKAL_ZITADEL_CLIENT_ID, since uralkal's Zitadel has no application
registered yet) and the Kafka CA cert in pm/issues/message-hub/flows
(copied from vad, will need swapping once uralkal's Kafka actually
generates its own CA, same as vad's history).

infrastructure/s3-proxy/uralkal: new component, nginx upstream points at
the single uralkal minio endpoint (10.133.0.245:9000) from terraform,
unlike vad's 4-node list.

clusters/uralkal/kustomization.yaml: wires in s3-proxy + all 36 apps.

infrastructure/istio-config/uralkal/istio-config.yaml: adds the 28
path-routed virtualServices under sarex.local.uralkali.com (mirroring
vad's sarex.vadroad.ru routing, incl. the documentations-api CORS policy)
plus stamp-verification/document-link/s3 on their already-declared hosts.
Pre-existing zitadel/superset/camunda-operate blocks are untouched.

apps/django/vad/backend.yaml: drop a stale explanatory comment (also
removed from the uralkal copy before this commit).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 14:56:17 +03:00
e23783997e ++ uralkal istio-config domains 2026-09-28 11:02:53 +03:00
dcab7c00ed ++ uralkal superset image with deps 2026-09-28 11:02:53 +03:00
ivan
2595d174aa vad: allow cross-origin credentialed requests to documentations-api (document-link, stamp-verification)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 22:41:17 +03:00
ivan
6e8151fed6 ++ 2026-09-27 22:34:07 +03:00
ivan
3dcf6ef89f vad: istio path routing for pm (/pm/api/, /pm/)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 21:44:39 +03:00
ivan
954e0a7231 ++ 2026-09-27 21:44:39 +03:00
emelinda
15d1f11d8a Remove HelmRelease configurations (failed-pod-cleanup.yaml, goalert.yaml, and istio-config.yaml) from brusnika-stage cluster. 2026-09-25 18:04:55 +03:00
4703b77906 ++ uralkal bundled postgres 2026-09-25 17:27:14 +03:00
692647f4ec ++ uralkal trino node 2026-09-25 16:47:46 +03:00
69c45fc7f1 ++ uralkal apps 2026-09-25 16:46:07 +03:00
e8ebed3689 ++ uralkal flux ca 2026-09-25 13:06:50 +03:00
da2472438d Merge branch 'master' of https://gitlab.sarex.io/infra/iac 2026-09-25 12:55:16 +03:00
emelinda
cdaf20f7cc Add "Справочники" section to django-configmap navigation menu. 2026-09-24 21:26:42 +03:00
emelinda
380986659e Update backend worker image version in celery.yaml. 2026-09-24 21:17:39 +03:00
emelinda
21dcac2d1d Update frontend and backend image versions in deployment configurations. 2026-09-24 21:07:59 +03:00
215 changed files with 6762 additions and 164 deletions

View File

@ -138,6 +138,10 @@ spec:
- name: KAFKA_SASL_MECHANISM - name: KAFKA_SASL_MECHANISM
value: value:
_default: "SCRAM-SHA-512" _default: "SCRAM-SHA-512"
- name: RESOURCES_INTERNAL_HOST
value:
_default: "http://iams.iam.svc.cluster.local:8080"
secretEnvs: secretEnvs:
- name: TELEGRAM_TOKEN - name: TELEGRAM_TOKEN
secretName: secretName:

View File

@ -110,6 +110,10 @@ spec:
- name: YANDEX_S3_VERIFY - name: YANDEX_S3_VERIFY
value: value:
_default: "false" _default: "false"
- name: YANDEX_S3_USE_SSL
value:
_default: "false"
secretEnvs: secretEnvs:
- name: DATABASE_HOST - name: DATABASE_HOST
secretName: secretName:

View File

@ -0,0 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: attachments
resources:
- ../base
patches:
- path: patch.yaml
target:
kind: HelmRelease
name: attachments

View File

@ -0,0 +1,34 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: attachments
namespace: attachments
spec:
values:
services:
attachments:
podAnnotations:
_default:
vault.hashicorp.com/auth-path: auth/kubernetes
vault.hashicorp.com/role: attachments
vault.hashicorp.com/agent-inject-secret-attachments-db: secrets/data/apps/attachments/postgres
vault.hashicorp.com/agent-inject-template-attachments-db: |-
{{- with secret "secrets/data/apps/attachments/postgres" -}}
DATABASE_HOST={{ index .Data.data "host" }}
DATABASE_PORT={{ index .Data.data "port" }}
DATABASE_NAME={{ index .Data.data "database" }}
DATABASE_USER={{ index .Data.data "username" }}
DATABASE_PASSWORD={{ index .Data.data "password" }}
DATABASE_SSL_MODE=disable
{{- end -}}
vault.hashicorp.com/agent-inject-secret-attachments-s3: secrets/data/minio/apps/attachments
vault.hashicorp.com/agent-inject-template-attachments-s3: |-
{{- with secret "secrets/data/minio/apps/attachments" -}}
YANDEX_S3_ENDPOINT_URL=s3-proxy.s3-proxy.svc.cluster.local
YANDEX_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
YANDEX_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
YANDEX_S3_USE_SSL=false
YANDEX_S3_REGION=ru-central
YANDEX_S3_VERIFY=false
BUCKET_NAME=attachments
{{- end -}}

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: frontend
namespace: auth-flow
spec:
values:
services:
frontend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: helmrelease.yaml
target:
kind: HelmRelease
name: frontend

View File

@ -37,7 +37,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/bi-frontend:production_afb137d4 _default: cr.yandex/crp3ccidau046kdj8g9q/bi-frontend:contour_9cfd1a0b
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent

View File

@ -0,0 +1,79 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bi-backend
namespace: bi
spec:
values:
services:
main:
deployment:
resources:
requests:
cpu: null
memory: null
envs:
- name: SETTINGS_DEBUG
value:
_default: "0"
- name: SETTINGS_VERIFY_SSL
value:
_default: "1"
- name: SETTINGS_API_V1_PREFIX
value:
_default: "/api/v1"
- name: AUTH_HOST
value:
_default: "https://sarex.local.uralkali.com"
- name: WORKER_TIMEOUT
value:
_default: "120"
- name: SUPERSET_HOST
value:
_default: "https://sarex-bi.sarex.local.uralkali.com/"
- name: PYTHONPATH
value:
_default: "src"
- name: ISSUES_SERVICE_HOST
value:
_default: "http://backend-svc.issues.svc.cluster.local"
- name: EAV_SERVICE_HOST
value:
_default: "http://backend-svc.eav.svc.cluster.local"
- name: PM_SERVICE_HOST
value:
_default: "http://backend-svc.pm.svc.cluster.local:8000"
- name: SUPERSET_SYSTEM_WIDGETS
value:
_default: '{"MDR": {"id": "e7343f21-1ee0-4a87-b712-e8cfd413cc49","name": "MDR"},"SC": {"id": "d63d25e4-eab6-452f-8b31-065094bc2cb6","name": "Стройконтроль"}}'
- name: SUPERSET_DOCUMENTATION_URL
value:
_default: "https://sarex.local.uralkali.com/documentations/"
- name: SUPERSET_JWT_SECRET
value:
_default: "6TosZjqxxZ3kAPiht4miaGICRV5AbfvuenWnYfOUnxfbYJJXUNWedOS0QeJQaryr"
- name: KAFKA_BOOTSTRAP_SERVERS
value:
_default: '["kafka-kafka-contour.kafka.svc.cluster.local:9092"]'
- name: KAFKA_TOPICS
value:
_default: '{"planning": "message-hub-prod"}'
- name: KAFKA_ENABLE
value:
_default: "0"

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bi-frontend
namespace: bi
spec:
values:
services:
frontend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: backend.yaml
target:
kind: HelmRelease
name: bi-backend
- path: frontend.yaml
target:
kind: HelmRelease
name: bi-frontend

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: backend
namespace: bim
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: backend.yaml
target:
kind: HelmRelease
name: backend

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-flowscallback
namespace: cde
spec:
values:
services:
cde-flowscallback:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-splitpdf
namespace: cde
spec:
values:
services:
cde-splitpdf:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-alert
namespace: cde
spec:
values:
services:
cde-worker-alert:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-copy
namespace: cde
spec:
values:
services:
cde-worker-copy:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-copyv2
namespace: cde
spec:
values:
services:
cde-worker-copyv2:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-create-versions
namespace: cde
spec:
values:
services:
cde-worker-create-versions:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-create-versionsv2
namespace: cde
spec:
values:
services:
cde-worker-create-versionsv2:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-markings
namespace: cde
spec:
values:
services:
cde-worker-markings:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-markingsv2
namespace: cde
spec:
values:
services:
cde-worker-markingsv2:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-sign
namespace: cde
spec:
values:
services:
cde-worker-sign:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-signv2
namespace: cde
spec:
values:
services:
cde-worker-signv2:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde-worker-update-bundles
namespace: cde
spec:
values:
services:
cde-worker-update-bundles:
deployment:
resources:
requests:
cpu: null
memory: null

15
apps/cde/uralkal/cde.yaml Normal file
View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cde
namespace: cde
spec:
values:
services:
cde:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,57 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: cde-flowscallback.yaml
target:
kind: HelmRelease
name: cde-flowscallback
- path: cde-splitpdf.yaml
target:
kind: HelmRelease
name: cde-splitpdf
- path: cde-worker-alert.yaml
target:
kind: HelmRelease
name: cde-worker-alert
- path: cde-worker-copy.yaml
target:
kind: HelmRelease
name: cde-worker-copy
- path: cde-worker-copyv2.yaml
target:
kind: HelmRelease
name: cde-worker-copyv2
- path: cde-worker-create-versions.yaml
target:
kind: HelmRelease
name: cde-worker-create-versions
- path: cde-worker-create-versionsv2.yaml
target:
kind: HelmRelease
name: cde-worker-create-versionsv2
- path: cde-worker-markings.yaml
target:
kind: HelmRelease
name: cde-worker-markings
- path: cde-worker-markingsv2.yaml
target:
kind: HelmRelease
name: cde-worker-markingsv2
- path: cde-worker-sign.yaml
target:
kind: HelmRelease
name: cde-worker-sign
- path: cde-worker-signv2.yaml
target:
kind: HelmRelease
name: cde-worker-signv2
- path: cde-worker-update-bundles.yaml
target:
kind: HelmRelease
name: cde-worker-update-bundles
- path: cde.yaml
target:
kind: HelmRelease
name: cde

View File

@ -114,6 +114,18 @@ spec:
- name: DEBUG - name: DEBUG
value: value:
_default: "false" _default: "false"
- name: DATABASE_HOST
value:
_default: "192.168.2.45"
- name: DATABASE_PORT
value:
_default: "5432"
- name: DATABASE_NAME
value:
_default: "checklists_db"
secretEnvs: secretEnvs:
- name: DATABASE_HOST - name: DATABASE_HOST
secretName: secretName:

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: checklists
namespace: checklists
spec:
values:
services:
checklists:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: helmrelease.yaml
target:
kind: HelmRelease
name: checklists

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: backend
namespace: comparisons
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: frontend
namespace: comparisons
spec:
values:
services:
frontend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: backend.yaml
target:
kind: HelmRelease
name: backend
- path: frontend.yaml
target:
kind: HelmRelease
name: frontend

View File

@ -0,0 +1,16 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: contracts
namespace: contracts
spec:
values:
services:
contracts:
podAnnotations:
_default:
vault.hashicorp.com/agent-inject-template-contracts-db: |-
{{- with secret "secrets/data/apps/contracts/postgres" -}}
DB_URL=postgresql://{{ index .Data.data "username" }}:{{ index .Data.data "password" }}@{{ index .Data.data "host" }}:{{ index .Data.data "port" }}/{{ index .Data.data "database" }}?sslmode=disable
{{- end -}}

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: backend.yaml
target:
kind: HelmRelease
name: contracts

View File

@ -0,0 +1,94 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: admin-frontend
namespace: control-interface
spec:
interval: 10m
chart:
spec:
chart: universal-chart
version: "0.1.7"
sourceRef:
kind: HelmRepository
name: yc-oci-charts
namespace: flux-system
interval: 10m
install:
remediation:
retries: 3
upgrade:
remediation:
retries: 3
values:
global:
env: _default
services:
admin-frontend:
enabled: true
image:
name:
_default: cr.yandex/crp3ccidau046kdj8g9q/admin-frontend:contour_9dc27b40
pullPolicy:
_default: IfNotPresent
deployment:
enabled: true
name:
_default: admin-frontend
replicaCount:
_default: 1
port:
_default: 80
resources:
requests:
cpu:
_default: 100m
memory:
_default: 100Mi
probes:
liveness:
enabled: false
readiness:
enabled: false
service:
enabled: true
name:
_default: admin-frontend-svc
type:
_default: ClusterIP
port:
_default: 8080
targetPort:
_default: 80
portName:
_default: http
imagePullSecrets:
enabled:
_default: true
name:
_default: regcred
commitSha: ""
gitlabUri: ""
gitlabJobUrl: ""
owner: ""

View File

@ -4,4 +4,5 @@ kind: Kustomization
namespace: control-interface namespace: control-interface
resources: resources:
- helmrelease.yaml - helmrelease.yaml
- admin-frontend.yaml

View File

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
- namespace.yaml

View File

@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: control-interface
labels:
istio-injection: enabled

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cross-section-static
namespace: cross-section
spec:
values:
services:
frontend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: helmrelease.yaml
target:
kind: HelmRelease
name: cross-section-static

View File

@ -330,6 +330,14 @@ spec:
- name: KC_USE_REDIRECT_LOGOUT - name: KC_USE_REDIRECT_LOGOUT
value: value:
_default: "True" _default: "True"
- name: CACHE_HOST
value:
_default: "redis.pm.svc.cluster.local"
- name: RESOURCES_INTERNAL_HOST
value:
_default: "http://iams.iam.svc.cluster.local:8080"
secretEnvs: secretEnvs:
- name: SERVER_SUPERSET_JWT_SECRET - name: SERVER_SUPERSET_JWT_SECRET
secretName: secretName:

View File

@ -88,6 +88,11 @@ spec:
labels: labels:
monitoring: prometheus monitoring: prometheus
envs:
- name: TIMEOUT
value:
_default: "180"
commitSha: "" commitSha: ""
gitlabUri: "" gitlabUri: ""
gitlabJobUrl: "" gitlabJobUrl: ""

View File

@ -313,6 +313,18 @@ spec:
- name: KC_USE_REDIRECT_LOGOUT - name: KC_USE_REDIRECT_LOGOUT
value: value:
_default: "True" _default: "True"
- name: RESOURCES_INTERNAL_HOST
value:
_default: "http://iams.iam.svc.cluster.local:8080"
- name: SERVER_EXTERNAL_FIND_BY_USERNAME_ENABLED
value:
_default: "True"
- name: SERVER_EXTERNAL_FIND_BY_EMAIL_ENABLED
value:
_default: "True"
secretEnvs: secretEnvs:
- name: SERVER_SUPERSET_JWT_SECRET - name: SERVER_SUPERSET_JWT_SECRET
secretName: secretName:

View File

@ -0,0 +1,159 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: backend
namespace: django
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null
envs:
- name: ALLOWED_HOSTS
value:
_default: "*"
- name: SERVER_USE_CHANGELOG
value:
_default: "0"
- name: SERVER_ZITADEL_ENABLED
value:
_default: "True"
- name: DJANGO_SETTINGS_MODULE
value:
_default: config.settings.production
- name: CELERY_REDIS_HOST
value:
_default: redis
- name: CELERY_REDIS_PORT
value:
_default: "6379"
- name: DJANGO_REDIS_HOST
value:
_default: redis
- name: SERVER_EXTERNAL_FIND_BY_USERNAME_ENABLED
value:
_default: "True"
- name: SERVER_EXTERNAL_FIND_BY_EMAIL_ENABLED
value:
_default: "True"
- name: DJANGO_REDIS_PORT
value:
_default: "6379"
- name: BIMV2_INTERNAL_HOST
value:
_default: http://bim-backend-v2-service.bim-api
- name: BIMV2_TIMEOUT
value:
_default: "60"
- name: JWT_KID
value:
_default: "1"
- name: PDM_SYNC
value:
_default: "1"
- name: KC_SYNC_ENABLE
value:
_default: "0"
- name: MEASUREMENTS_HOST
value:
_default: http://measurements-service.measurements.svc.cluster.local:8000/api
- name: MEASUREMENTS_USE_MEASUREMENTS
value:
_default: "1"
- name: SERVER_API_HOST
value:
_default: https://sarex.local.uralkali.com
- name: SERVER_HOST
value:
_default: https://sarex.local.uralkali.com
- name: WORKFLOWS_HOST
value:
_default: http://backend-svc.processing.svc.cluster.local:80
- name: WORKFLOWS_BASE_HOST
value:
_default: http://backend-svc.django.svc.cluster.local:80
- name: WORKFLOWS_PREFIX
value:
_default: /internal/v1
- name: WORKFLOWS_USE
value:
_default: "1"
- name: SERVER_S3_STREAM_IMPORT
value:
_default: "1"
- name: SERVER_SAVE_DIFF_DEM
value:
_default: "1"
- name: SERVER_USE_CLICKHOUSE
value:
_default: "0"
- name: SERVER_USE_CREATE_COMPARED_GEOTIFF_TASK
value:
_default: "0"
- name: SERVER_USE_DJANGO_STORAGE
value:
_default: "1"
- name: SERVER_USE_METASHAPE
value:
_default: "0"
- name: SERVER_CHANGELOG_MODE_SYSTEM_LOG
value:
_default: "1"
- name: SERVER_CHANGELOG_MODE
value:
_default: "0"
- name: SERVER_DJANGO_URLS
value:
_default: "1"
- name: CHECK_IMPORT_HASH
value:
_default: "1"
- name: EAV_ENABLE
value:
_default: "1"
- name: SERVER_CHECK_IMPORT_HASH
value:
_default: "1"
- name: SERVER_CHUNKED_PATH
value:
_default: /tmp/chunked_uploads/%Y/%m/%d
- name: SERVER_HIDE_USER_SCROLL_PERMISSIONS
value:
_default: "0"
- name: SERVER_USE_WRORKFLOW_STATUS
value:
_default: "1"
- name: ZITADEL_HOST
value:
_default: https://login.sarex.local.uralkali.com
- name: SERVER_KAFKA_ENABLED
value:
_default: "False"
- name: KAFKA_TOPICS
value:
_default: '{"planning": "message-hub-stage", "ams-sync": "ams-sync"}'
- name: KAFKA_SSL_CAFILE
value:
_default: /usr/local/share/ca-certificates/kafka.crt
- name: KC_USE_REDIRECT_LOGOUT
value:
_default: "False"
podAnnotations:
_default:
vault.hashicorp.com/agent-inject-template-django-s3: |-
{{- with secret "secrets/data/minio/apps/django" }}
AWS_S3_ENDPOINT_URL=http://s3-proxy.s3-proxy.svc.cluster.local
S3_HOST=http://s3-proxy.s3-proxy.svc.cluster.local
{{- $buckets := index .Data.data "buckets" }}
S3_BUCKET={{ if gt (len $buckets) 0 }}{{ index (index $buckets 0) "name" }}{{ else }}django{{ end }}
S3_LOGIN={{ index .Data.data "access_key" }}
S3_PASSWORD={{ index .Data.data "secret_key" }}
AWS_S3_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
AWS_S3_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
AWS_STORAGE_BUCKET_NAME={{ if gt (len $buckets) 0 }}{{ index (index $buckets 0) "name" }}{{ else }}django{{ end }}
{{- end }}

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: celery
namespace: django
spec:
values:
services:
celery:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: frontend
namespace: django
spec:
values:
services:
frontend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,33 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: nginx-configmap.yaml
target:
kind: ConfigMap
name: nginx-configmap
- path: backend.yaml
target:
kind: HelmRelease
name: backend
- path: zitadel-configmap.yaml
target:
kind: ConfigMap
name: zitadel-configmap
- path: s3-proxy.yaml
target:
kind: HelmRelease
name: s3-proxy
- path: celery.yaml
target:
kind: HelmRelease
name: celery
- path: frontend.yaml
target:
kind: HelmRelease
name: frontend
- path: srx-admin.yaml
target:
kind: HelmRelease
name: srx-admin-frontend

View File

@ -0,0 +1,160 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-configmap
namespace: django
data:
nginx.conf: |
worker_processes auto;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
# Basic Settings
large_client_header_buffers 8 128k;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 300;
types_hash_max_size 2048;
client_max_body_size 5000M;
client_header_buffer_size 5M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Logging Settings
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# GZIP Settings
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server {
listen 80;
listen [::]:80;
root /opt/react_client/;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' '*' always;
add_header 'Access-Control-Allow-Headers' '*' always;
location = /static/index.bundle.js {
add_header Cache-Control 'no-store no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
}
# location ~^/api/pm/ {
# proxy_http_version 1.1;
# proxy_set_header Connection "";
# proxy_set_header Host $host;
# proxy_pass http://backend-svc.pm.svc.cluster.local:8000;
# }
location ~^/api/v1/documents/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_pass http://backend-filestream-svc.documentations.svc.cluster.local:80;
}
location ~^/(api|admin)/ {
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_pass http://backend-svc.django.svc.cluster.local:80;
}
location = /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;
add_header Cache-Control "public, max-age=31536000, immutable" always;
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
add_header Access-Control-Allow-Headers "DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization" always;
}
location = /workspaces-v2/worker/static/viewer-pdf/mupdf-wasm.js {
alias /opt/react_client/static/viewer-pdf/mupdf-wasm.js;
add_header Content-Type application/javascript always;
add_header Cache-Control "public, max-age=31536000, immutable" always;
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
add_header Access-Control-Allow-Headers "DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization" always;
}
location = /workspaces-v2/worker/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;
add_header Cache-Control "public, max-age=31536000, immutable" always;
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
add_header Access-Control-Allow-Headers "DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization" always;
}
location = /workspaces-v2/worker/static/viewer-pdf/mupdf.js {
alias /opt/react_client/static/viewer-pdf/mupdf.js;
add_header Content-Type application/javascript always;
add_header Cache-Control "public, max-age=31536000, immutable" always;
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
add_header Access-Control-Allow-Headers "DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization" always;
}
location = /workspaces-v2/worker/static/viewer-pdf/mupdf-wasm.wasm {
add_header Content-Type application/wasm always;
alias /opt/react_client/static/viewer-pdf/mupdf-wasm.wasm;
}
location ~^/workspaces-v2/(.+).js {
proxy_http_version 1.1;
proxy_set_header Connection "";
rewrite /workspaces-v2/(.+) /$1 break;
proxy_pass http://frontend-svc.workspaces.svc.cluster.local:80;
}
location ~^/workspaces-v2/(.+)\.wasm$ {
proxy_http_version 1.1;
proxy_set_header Connection "";
rewrite ^/workspaces-v2/(.+) /$1 break;
proxy_pass http://frontend-svc.workspaces.svc.cluster.local:80;
}
location @index {
add_header Cache-Control 'no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
try_files /static/index.html =404;
}
location ~^/workflows/(.+).js {
proxy_http_version 1.1;
proxy_set_header Connection "";
rewrite /workflows/(.+) /$1 break;
proxy_pass http://frontend-svc.processing.svc.cluster.local:80;
}
location /service-worker.js {
try_files /static/$uri @index;
}
location / {
try_files $uri @index;
}
}
}

View File

@ -0,0 +1,31 @@
---
# Патч s3-proxy для vad.
#
# В base зашит AWS_API_ENDPOINT=https://minio.contour.infra.sarex.tech —
# в закрытом контуре этот хост недоступен, прокси не достучится до MinIO
# и маршрут /media/ (s3-proxy-virt-service в istio-config) вернёт ошибку.
#
# podAnnotations — map, мержится по ключам, поэтому переопределён только
# agent-inject-template-s3; остальные vault-аннотации берутся из base.
# Эндпоинт задан литералом, а не через .Data.data.client.endpoint: так же
# сделано в apps/django/vad/backend.yaml для того же секрета
# secrets/data/minio/apps/django — держим один способ на весь ns.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: s3-proxy
namespace: django
spec:
values:
services:
s3-proxy:
podAnnotations:
_default:
vault.hashicorp.com/agent-inject-template-s3: |
{{- with secret "secrets/data/minio/apps/django" }}
AWS_API_ENDPOINT=http://s3-proxy.s3-proxy.svc.cluster.local
{{- $buckets := index .Data.data "buckets" }}
AWS_S3_BUCKET={{ if gt (len $buckets) 0 }}{{ index (index $buckets 0) "name" }}{{ else }}django{{ end }}
AWS_ACCESS_KEY_ID={{ index .Data.data "access_key" }}
AWS_SECRET_ACCESS_KEY={{ index .Data.data "secret_key" }}
{{- end }}

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: srx-admin-frontend
namespace: django
spec:
values:
services:
srx-admin:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: zitadel-configmap
namespace: django
data:
config.json: |
{
"auth_type": "zitadel",
"zitadel": {
"client_id": "392748840802936023",
"host": "https://login.sarex.local.uralkali.com"
}
}

View File

@ -126,10 +126,6 @@ spec:
- name: ZITADEL_HOST - name: ZITADEL_HOST
value: value:
_default: https://sarex-login.vadroad.ru _default: https://sarex-login.vadroad.ru
# Включено вместе с 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"

View File

@ -60,12 +60,12 @@ data:
expires off; expires off;
} }
# location ~^/api/pm/ { location ~^/api/pm/ {
# proxy_http_version 1.1; proxy_http_version 1.1;
# proxy_set_header Connection ""; proxy_set_header Connection "";
# proxy_set_header Host $host; proxy_set_header Host $host;
# proxy_pass http://backend-svc.pm.svc.cluster.local:8000; proxy_pass http://backend-svc.pm.svc.cluster.local:8000;
# } }
location ~^/api/v1/documents/ { location ~^/api/v1/documents/ {
proxy_http_version 1.1; proxy_http_version 1.1;
@ -142,12 +142,12 @@ data:
try_files /static/index.html =404; try_files /static/index.html =404;
} }
# location ~^/workflows/(.+).js { location ~^/workflows/(.+).js {
# proxy_http_version 1.1; proxy_http_version 1.1;
# proxy_set_header Connection ""; proxy_set_header Connection "";
# rewrite /workflows/(.+) /$1 break; rewrite /workflows/(.+) /$1 break;
# proxy_pass http://frontend-svc.processing.svc.cluster.local:80; proxy_pass http://frontend-svc.processing.svc.cluster.local:80;
# } }
location /service-worker.js { location /service-worker.js {
try_files /static/$uri @index; try_files /static/$uri @index;

View File

@ -248,7 +248,10 @@ data:
"name": "Рабочие процессы", "name": "Рабочие процессы",
"uri": "/processes" "uri": "/processes"
}, },
{
"name": "Справочники",
"uri": "/assets"
},
{ {
"name": "Аналитика", "name": "Аналитика",
"uri": "/analytics" "uri": "/analytics"

View File

@ -0,0 +1,18 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: frontend
namespace: document-link
spec:
values:
services:
frontend:
deployment:
resources:
requests:
cpu: null
memory: null
image:
name:
_default: cr.yandex/crp3ccidau046kdj8g9q/document-link-frontend:vad_60487abb

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: frontend.yaml
target:
kind: HelmRelease
name: frontend

View File

@ -65,7 +65,7 @@ spec:
enabled: false enabled: false
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_3f19a21d _default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_179e518c
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent
service: service:
@ -116,6 +116,9 @@ spec:
- name: DOCUMENT_PUBLIC_LINK_JWT_EXPIRATION_MINUTES - name: DOCUMENT_PUBLIC_LINK_JWT_EXPIRATION_MINUTES
value: value:
_default: "5" _default: "5"
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
value:
_default: "true"
- name: ENABLE_SQL_QUERY - name: ENABLE_SQL_QUERY
value: value:
_default: "0" _default: "0"

View File

@ -64,7 +64,7 @@ spec:
enabled: false enabled: false
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations-api-files:prod_a9990430 _default: cr.yandex/crp3ccidau046kdj8g9q/documentations-api-files:prod_179e518c
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent
service: service:
@ -94,6 +94,9 @@ spec:
- name: ZITADEL_DOMAIN - name: ZITADEL_DOMAIN
value: value:
_default: zitadel-srx.wb.ru _default: zitadel-srx.wb.ru
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
value:
_default: "true"
- name: USE_ZITADEL - name: USE_ZITADEL
value: value:
_default: "1" _default: "1"

View File

@ -37,7 +37,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_b34286a7 _default: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_98a23ef5
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent
@ -267,6 +267,15 @@ spec:
- name: USE_CACHE_IN_FILE_STREAMER - name: USE_CACHE_IN_FILE_STREAMER
value: value:
_default: "1" _default: "1"
- name: USE_LEGACY_BIM_FLOW
value:
_default: "true"
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
value:
_default: "true"
secretEnvs: secretEnvs:
- name: PUBLIC_KEY - name: PUBLIC_KEY
secretName: secretName:

View File

@ -255,6 +255,34 @@ spec:
- name: USE_CACHE_IN_FILE_STREAMER - name: USE_CACHE_IN_FILE_STREAMER
value: value:
_default: "1" _default: "1"
- name: USE_LEGACY_BIM_FLOW
value:
_default: "true"
- name: USE_ZITADEL
value:
_default: "0"
- name: LAST_SLAVE_1_BIM
value:
_default: "1000000"
- name: ENABLE_SMTP
value:
_default: "True"
- name: ENABLE_MAILGUN
value:
_default: "False"
- name: ENABLE_AUTH_JWT_IN_URL
value:
_default: "false"
- name: ENABLE_SIGNATURE_IN_URL
value:
_default: "true"
secretEnvs: secretEnvs:
- name: PUBLIC_KEY - name: PUBLIC_KEY
secretName: secretName:

View File

@ -255,6 +255,19 @@ spec:
- name: USE_CACHE_IN_FILE_STREAMER - name: USE_CACHE_IN_FILE_STREAMER
value: value:
_default: "1" _default: "1"
- name: USE_ZITADEL
value:
_default: "0"
- name: ENABLE_AUTH_JWT_IN_URL
value:
_default: "false"
- name: ENABLE_SIGNATURE_IN_URL
value:
_default: "true"
secretEnvs: secretEnvs:
- name: PUBLIC_KEY - name: PUBLIC_KEY
secretName: secretName:

View File

@ -308,6 +308,14 @@ spec:
- name: WORKSPACE_URL - name: WORKSPACE_URL
value: value:
_default: "http://workspaces-service.workspaces.svc.cluster.local:8000/" _default: "http://workspaces-service.workspaces.svc.cluster.local:8000/"
- name: BUCKET_NAME
value:
_default: "attachments-storage"
- name: PERMISSIONS_FILTER_COMPANIES
value:
_default: "[1]"
secretEnvs: secretEnvs:
- name: RELEASES_TOKEN - name: RELEASES_TOKEN
secretName: secretName:

View File

@ -1,7 +1,4 @@
--- ---
# standalone HelmRelease — base vault-native, в ugok Vault не используется.
# Кастомный тег UGOK_4bf15a64 оставлен как есть (не как в wb — см.
# предыдущее решение по этому приложению).
apiVersion: helm.toolkit.fluxcd.io/v2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
@ -39,7 +36,7 @@ spec:
image: image:
name: name:
_default: 10.4.10.187:80/library/documentations:ugok_0b17a10e _default: 10.4.10.187:80/library/documentations:ugok_179e518c
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent
@ -153,6 +150,9 @@ spec:
- name: CONTAINER_REGISTRY - name: CONTAINER_REGISTRY
value: value:
_default: cr.yandex/crp3ccidau046kdj8g9q _default: cr.yandex/crp3ccidau046kdj8g9q
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
value:
_default: "true"
- name: ENVIRONMENT - name: ENVIRONMENT
value: value:
_default: production _default: production

View File

@ -1,6 +1,4 @@
--- ---
# standalone HelmRelease — base vault-native, в ugok Vault не используется.
# Кастомный тег prod_dfaa58f7_ugok оставлен как есть (не как в wb).
apiVersion: helm.toolkit.fluxcd.io/v2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
@ -38,7 +36,7 @@ spec:
image: image:
name: name:
_default: 10.4.10.187:80/library/documentations-api-files:ugok_a62fce61 _default: 10.4.10.187:80/library/documentations-api-files:ugok_179e518c
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent
@ -129,6 +127,9 @@ spec:
- name: ENABLE_SSL - name: ENABLE_SSL
value: value:
_default: "0" _default: "0"
- name: PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED
value:
_default: "true"
- name: ENABLE_S3 - name: ENABLE_S3
value: value:
_default: "1" _default: "1"

View File

@ -0,0 +1,163 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: documentations-api
namespace: documentations
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null
envs:
- name: POSTGRES_POOL_SIZE
value:
_default: "20"
- name: ZITADEL_ACCOUNT
value:
_default: /vault/secrets/documentations-zitadel-account-json
- name: ZITADEL_DOMAIN
value:
_default: login.sarex.local.uralkali.com
- name: USE_ZITADEL
value:
_default: "0"
- name: FLOWS_URL
value:
_default: http://backend-svc.flows.svc.cluster.local:80
- name: LAST_MASTER_BIM
value:
_default: "36311"
- name: API_ADDRESS
value:
_default: 0.0.0.0:8080
- name: USE_LEGACY_BIM_FLOW
value:
_default: "true"
- name: API_ADDRESS_FILE
value:
_default: 0.0.0.0:8080
- name: DOCUMENT_PUBLIC_LINK_JWT_EXPIRATION_MINUTES
value:
_default: "5"
- name: ENABLE_SQL_QUERY
value:
_default: "0"
- name: ENABLE_SSL
value:
_default: "0"
- name: WORKSPACE_V2_EXTERNAL_URL
value:
_default: https://sarex.local.uralkali.com/workspaces-v2/
- name: ENABLE_S3
value:
_default: "1"
- name: CONTAINER_REGISTRY
value:
_default: cr.yandex/crp3ccidau046kdj8g9q
- name: ENVIRONMENT
value:
_default: production
- name: LAST_SLAVE_1_BIM
value:
_default: "1000000"
- name: HOST
value:
_default: http://backend-api-svc.documentations.svc.cluster.local:80
- name: FILE_STREAM_HOST
value:
_default: sarex.local.uralkali.com
- name: DOCUMENTATION_URL
value:
_default: http://backend-api-svc.documentations.svc.cluster.local:80/
- name: WORKFLOW_URL
value:
_default: http://backend-svc.processing.svc.cluster.local:80/
- name: WORKSPACE_URL
value:
_default: http://backend-svc.workspaces.svc.cluster.local:80/
- name: BIM_API_URL
value:
_default: http://backend-svc.bim.svc.cluster.local:80/
- name: BIM_API_V2_URL
value:
_default: http://backend-svc.bim.svc.cluster.local:80/
- name: WORKSPACE_BUNDLE_VERSION
value:
_default: v1
- name: SYSTEM_LOG_URL
value:
_default: http://backend-svc.system-log.svc.cluster.local:80
- name: DJANGO_HOST
value:
_default: http://backend-svc.django.svc.cluster.local:80
- name: MARKS_PROCESSING_URL
value:
_default: http://marks-service:8000
- name: USE_MARKS_RABBITMQ
value:
_default: "true"
- name: MARKS_RABBITMQ_HOST
value:
_default: rabbitmq.rabbitmq.svc.cluster.local
- name: MARKS_RABBITMQ_PORT
value:
_default: "5672"
- name: PUBLIC_LINK_HOST
value:
_default: https://document-link.sarex.local.uralkali.com
- name: NAMESPACE
value:
_default: documentations
- name: DJANGO_ORIGINATOR
value:
_default: docs_prod
- name: WORKFLOW_IMAGES_VERSION
value:
_default: master
- name: WORKFLOWS_IMAGES_VERSION
value:
_default: master
- name: S3_SERVICE_ACCOUNT
value:
_default: /vault/secrets/documentations-s3-account-json
- name: READ_WRITE_TIMEOUT_FILE_STREAM
value:
_default: 6h
- name: CACHE_DEFAULT_EXPIRATION
value:
_default: 60s
- name: ENABLE_SMTP
value:
_default: "True"
- name: ENABLE_MAILGUN
value:
_default: "False"
- name: CACHE_CLEANUP_INTERVAL
value:
_default: 60s
- name: DOCUMENT_PUBLIC_LINK_JWT_SECRET
value:
_default: "mock"
- name: ENABLE_AUTH_JWT_IN_URL
value:
_default: "true"
- name: ENABLE_SIGNATURE_IN_URL
value:
_default: "false"
- name: USE_CACHE_IN_FILE_STREAMER
value:
_default: "0"
- name: VALKEY_ADDR
value:
_default: redis:6379
- name: VALKEY_HOST
value:
_default: redis
- name: VALKEY_PORT
value:
_default: "6379"

View File

@ -0,0 +1,151 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: documentations-filestream
namespace: documentations
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null
envs:
- name: POSTGRES_POOL_SIZE
value:
_default: "20"
- name: ZITADEL_ACCOUNT
value:
_default: /vault/secrets/documentations-zitadel-account-json
- name: ZITADEL_DOMAIN
value:
_default: login.sarex.local.uralkali.com
- name: USE_ZITADEL
value:
_default: "0"
- name: FLOWS_URL
value:
_default: http://backend-svc.flows.svc.cluster.local:80
- name: LAST_MASTER_BIM
value:
_default: "36311"
- name: API_ADDRESS
value:
_default: 0.0.0.0:8080
- name: API_ADDRESS_FILE
value:
_default: 0.0.0.0:8080
- name: DOCUMENT_PUBLIC_LINK_JWT_EXPIRATION_MINUTES
value:
_default: "5"
- name: ENABLE_SQL_QUERY
value:
_default: "0"
- name: ENABLE_SSL
value:
_default: "0"
- name: WORKSPACE_V2_EXTERNAL_URL
value:
_default: https://sarex.local.uralkali.com/workspaces-v2/
- name: ENABLE_S3
value:
_default: "1"
- name: CONTAINER_REGISTRY
value:
_default: cr.yandex/crp3ccidau046kdj8g9q
- name: ENVIRONMENT
value:
_default: production
- name: LAST_SLAVE_1_BIM
value:
_default: "1000000"
- name: HOST
value:
_default: http://backend-api-svc.documentations.svc.cluster.local:80
- name: FILE_STREAM_HOST
value:
_default: sarex.local.uralkali.com
- name: DOCUMENTATION_URL
value:
_default: http://backend-api-svc.documentations.svc.cluster.local:80/
- name: WORKFLOW_URL
value:
_default: http://workflows-api-service.workflow.svc.cluster.local:8000/
- name: WORKSPACE_URL
value:
_default: http://backend-svc.workspaces.svc.cluster.local:80/
- name: BIM_API_URL
value:
_default: http://backend-svc.bim.svc.cluster.local:80/
- name: BIM_API_V2_URL
value:
_default: http://backend-svc.bim.svc.cluster.local:80/
- name: WORKSPACE_BUNDLE_VERSION
value:
_default: v1
- name: SYSTEM_LOG_URL
value:
_default: http://api-service.system-log.svc.cluster.local:80
- name: DJANGO_HOST
value:
_default: http://backend-svc.django.svc.cluster.local:80
- name: MARKS_PROCESSING_URL
value:
_default: http://marks-service:8000
- name: PUBLIC_LINK_HOST
value:
_default: https://document-link.sarex.local.uralkali.com
- name: NAMESPACE
value:
_default: documentations
- name: DJANGO_ORIGINATOR
value:
_default: docs_prod
- name: WORKFLOW_IMAGES_VERSION
value:
_default: master
- name: WORKFLOWS_IMAGES_VERSION
value:
_default: master
- name: S3_SERVICE_ACCOUNT
value:
_default: /vault/secrets/documentations-s3-account-json
- name: READ_WRITE_TIMEOUT_FILE_STREAM
value:
_default: 6h
- name: CACHE_DEFAULT_EXPIRATION
value:
_default: 60s
- name: ENABLE_SMTP
value:
_default: "True"
- name: ENABLE_MAILGUN
value:
_default: "False"
- name: CACHE_CLEANUP_INTERVAL
value:
_default: 60s
- name: ENABLE_AUTH_JWT_IN_URL
value:
_default: "false"
- name: ENABLE_SIGNATURE_IN_URL
value:
_default: "true"
- name: DOCUMENT_PUBLIC_LINK_JWT_SECRET
value:
_default: "mock"
- name: USE_CACHE_IN_FILE_STREAMER
value:
_default: "0"
- name: VALKEY_ADDR
value:
_default: redis:6379
- name: VALKEY_HOST
value:
_default: redis
- name: VALKEY_PORT
value:
_default: "6379"

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: frontend
namespace: documentations
spec:
values:
services:
frontend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: documentations-hasher
namespace: documentations
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,29 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: api.yaml
target:
kind: HelmRelease
name: documentations-api
- path: filestream.yaml
target:
kind: HelmRelease
name: documentations-filestream
- path: pdf-markings-amqp.yaml
target:
kind: HelmRelease
name: documentations-pdf-markings-amqp
- path: frontend.yaml
target:
kind: HelmRelease
name: frontend
- path: hasher.yaml
target:
kind: HelmRelease
name: documentations-hasher
- path: pdm.yaml
target:
kind: HelmRelease
name: pdm-api

View File

@ -0,0 +1,63 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: documentations-pdf-markings-amqp
namespace: documentations
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null
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.sarex.local.uralkali.com/"
- name: MARKS_QR__BASE_DOCUMENT_URL
value:
_default: "https://sarex.local.uralkali.com"
- name: MARKS_S3__REGION
value:
_default: ru-central1
- name: MARKS_S3__USE_SSL
value:
_default: "false"
- name: MARKS_S3__SSL_VERIFY
value:
_default: "false"
- name: MARKS_S3__DEFAULT_BUCKET
value:
_default: documentations
- 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"

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: pdm-api
namespace: documentations
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base

View File

@ -166,6 +166,10 @@ spec:
- name: YC_S3_BUCKET_NAME - name: YC_S3_BUCKET_NAME
value: value:
_default: "eav" _default: "eav"
- name: KAFKA_ENABLED
value:
_default: "False"
secretEnvs: secretEnvs:
- name: KAFKA_PASSWORD - name: KAFKA_PASSWORD
secretName: secretName:

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: backend
namespace: eav
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: helmrelease.yaml
target:
kind: HelmRelease
name: backend

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: export-reviews
namespace: faas
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: backend.yaml
target:
kind: HelmRelease
name: export-reviews

View File

@ -35,7 +35,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend:production_a7dc8216 _default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend:production_e8a366a3
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent
@ -225,6 +225,22 @@ spec:
- name: DOCUMENTATION_TIMEOUT - name: DOCUMENTATION_TIMEOUT
value: value:
_default: "60" _default: "60"
- name: PLANNING_HOST
value:
_default: "http://backend-service.pm.svc.cluster.local:8000/api/pm/msp"
- name: PLANNING_USE
value:
_default: "True"
- name: PROXY_PATH_PREFIX
value:
_default: "/flows"
- name: CHECKLIST_HOST
value:
_default: "http://checklists-backend-service.checklists.svc.cluster.local:80"
secretEnvs: secretEnvs:
- name: ADMIN_PANEL_SECRET_KEY - name: ADMIN_PANEL_SECRET_KEY
secretName: secretName:

View File

@ -35,7 +35,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_a7dc8216 _default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_e8a366a3
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent
@ -223,6 +223,34 @@ spec:
- name: DOCUMENTATION_TIMEOUT - name: DOCUMENTATION_TIMEOUT
value: value:
_default: "60" _default: "60"
- name: FLOWS_HOST
value:
_default: "http://backend-service.flows.svc.cluster.local:8000"
- name: RESOURCES_HOST
value:
_default: "http://iams.iam.svc.cluster.local:8080"
- name: FLOWS_DB_HOST
value:
_default: "192.168.2.45"
- name: FLOWS_DB_PORT
value:
_default: "5432"
- name: ISSUES_DB_PORT
value:
_default: "5432"
- name: ISSUES_DB_HOST
value:
_default: "192.168.2.45"
- name: DJANGO_BASE_HOST
value:
_default: "https://test.sarex.brusnika.tech"
secretEnvs: secretEnvs:
- name: ADMIN_PANEL_SECRET_KEY - name: ADMIN_PANEL_SECRET_KEY
secretName: secretName:

View File

@ -35,7 +35,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_dcc5b5e6 _default: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_ed219085
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent

View File

@ -0,0 +1,172 @@
---
# Патч 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
kind: HelmRelease
metadata:
name: backend
namespace: flows
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null
deployment:
args:
_default:
- |
set -a
[ -f /vault/secrets/flows-postgresql ] && . /vault/secrets/flows-postgresql
[ -f /vault/secrets/flows-documentations-db ] && . /vault/secrets/flows-documentations-db
[ -f /vault/secrets/flows-rabbitmq ] && . /vault/secrets/flows-rabbitmq
[ -f /vault/secrets/flows-django-auth ] && . /vault/secrets/flows-django-auth
[ -f /vault/secrets/flows-jwt-public ] && export JWT_PUBLIC_KEY="$(cat /vault/secrets/flows-jwt-public)"
[ -f /vault/secrets/flows-kafka ] && . /vault/secrets/flows-kafka
set +a
exec /opt/entrypoint.sh
envs:
- name: LOG_LEVEL
value:
_default: "DEBUG"
- name: BASE_HOST
value:
_default: "https://sarex.local.uralkali.com"
- name: CELERY_QUEUE
value:
_default: "flow"
- name: EAV_HOST
value:
_default: "http://backend-svc.eav.svc.cluster.local:80"
- name: DJANGO_HOST
value:
_default: "http://backend-svc.django.svc.cluster.local:80/api"
- name: PLANNING_HOST
value:
_default: "http://backend-svc.pm.svc.cluster.local:8000/api/pm/msp"
- name: PLANNING_USE
value:
_default: "True"
- name: DOCUMENTATION_HOST
value:
_default: "http://backend-api-svc.documentations.svc.cluster.local:80/internal/v1"
- name: DOCUMENTATION_EXTERNAL_HOST
value:
_default: "http://backend-api-svc.documentations.svc.cluster.local:80/api/v1"
- name: ENABLE_ANALYTICS
value:
_default: "1"
- name: ENABLE_CELERY
value:
_default: "1"
- name: ENABLE_MAILGUN
value:
_default: "0"
- name: ENABLE_METRICS
value:
_default: "0"
- name: FROM_EMAIL
value:
_default: "sarex@sarex.local.uralkali.com"
- name: GATEWAY_URL
value:
_default: "http://pdm-svc.documentations.svc.cluster.local:80"
- name: RESOURCE_URL
value:
_default: "http://iam-backend.iam.svc.cluster.local:8000"
- name: SERVICE_HOST
value:
_default: "https://sarex.local.uralkali.com/flows/api/v1"
- name: SMTP_HOST
value:
_default: "post.sarex.local.uralkali.com"
- name: CHECKLIST_HOST
value:
_default: "http://checklists-backend-service.checklists.svc.cluster.local:80"
- name: SMTP_PORT
value:
_default: "587"
- name: SYNC_RESOURCE_ID
value:
_default: "1"
- name: TIMEOUT
value:
_default: "120"
- name: WORKFLOWS_HOST
value:
_default: "http://backend-svc.processing.svc.cluster.local:80/api/v1"
- name: WORKFLOWS_TIMEOUT
value:
_default: "60"
- name: DOCUMENTATION_TIMEOUT
value:
_default: "60"
- name: KAFKA_HOST
value:
_default: "kafka-kafka-contour.kafka.svc.cluster.local:9092"
- name: KAFKA_SSL_CERT
value:
_default: |
-----BEGIN CERTIFICATE-----
MIIDETCCAfmgAwIBAgIQNhHkZWgkcMSiuRD9FD3SKjANBgkqhkiG9w0BAQsFADAT
MREwDwYDVQQDEwhrYWZrYS1jYTAeFw0yNjA4MjYwOTM4MzFaFw0yNzA4MjYwOTM4
MzFaMBMxETAPBgNVBAMTCGthZmthLWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA7Vvs1386xYZrKJ4qr/LwiibuhyoIHZm6AnjubChLKUSulP0+TIYC
tDgfSiEQsmASCkJKrvrpg2o0TGxj+LUTVnBCDWwBL3wXWSrbHTmpo9y2n0MH/SiN
h0n43/ReuXXGzuP+s4WF4Z6EkQyCqqGXZkqYx3PsiqQv2DYmnU/s6jdEqXBhDyU9
k6KGjMGxCmDN07E8iElfZp58KvZSISFNi2X5QWa3CIiPo7EKOyW20Hw8xVyQ8/SX
GE/Rt2I4G/LC+EhUBKrRB4UgHY1UcifO0EMvKeh8lLRBT5+yqQvkA2/cXYKmeEKc
zICZw5ve1DiImjQKvHoM257t6lf5yj9h+wIDAQABo2EwXzAOBgNVHQ8BAf8EBAMC
AqQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEwEB/wQFMAMB
Af8wHQYDVR0OBBYEFAANdtqbrWPSSQqiCh1Wii2jxHO5MA0GCSqGSIb3DQEBCwUA
A4IBAQBJOea+5wxUNQuWX+E1m3GA5WJz+mAyt8J37w1ZpFVSpOX9r/ptSjyGoNY2
vgP0G8bJH30s25D4kRHuvvPeeCGnOR3PKPceeNIa4CQYvHnYT2bf7WBP8rLd0TyS
OV/ApxvxipKjl0OQc+95xAxm2z0qWIeOh1dkurvyhdLasIhqyhuUguW8APB2U3dU
fIvJ/R992Hy/MYvW7cw1CMWoaoBX90TEl6JNCHQvfBxaQzvPRvSEWwnRgbGwSZwz
ZS6GaNGN7C70WCxP4gmmkWfUC9lphnFb0IMGxXr/nTu5Ez5PKqRG56THkW5vd45i
0FC16VuidLG0HUCCawFjRiAg9rIA
-----END CERTIFICATE-----
podAnnotations:
_default:
vault.hashicorp.com/agent-inject-secret-flows-kafka: secrets/data/kafka/apps/flows
vault.hashicorp.com/agent-inject-template-flows-kafka: |-
{{- with secret "secrets/data/kafka/apps/flows" -}}
KAFKA_USERNAME={{ index .Data.data "username" }}
KAFKA_PASSWORD={{ index .Data.data "password" }}
{{- end -}}

View File

@ -0,0 +1,173 @@
---
# Патч celery для контура УГМК — подключение к Kafka.
#
# ВНИМАНИЕ: envs — список, kustomize заменяет его ЦЕЛИКОМ (JSON merge patch),
# поэтому здесь продублирован весь набор из apps/flows/base/celery.yaml.
# args — тоже список, продублирован весь скрипт с добавленным sourcing flows-kafka.
# podAnnotations — map, мержится по ключам, поэтому переопределён только
# один ключ agent-inject-template-flows-kafka; остальные vault-аннотации берутся из base.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: celery
namespace: flows
spec:
values:
services:
celery:
deployment:
resources:
requests:
cpu: null
memory: null
deployment:
args:
_default:
- |
set -a
[ -f /vault/secrets/flows-postgresql ] && . /vault/secrets/flows-postgresql
[ -f /vault/secrets/flows-documentations-db ] && . /vault/secrets/flows-documentations-db
[ -f /vault/secrets/flows-rabbitmq ] && . /vault/secrets/flows-rabbitmq
[ -f /vault/secrets/flows-django-auth ] && . /vault/secrets/flows-django-auth
[ -f /vault/secrets/flows-jwt-public ] && export JWT_PUBLIC_KEY="$(cat /vault/secrets/flows-jwt-public)"
[ -f /vault/secrets/flows-kafka ] && . /vault/secrets/flows-kafka
set +a
exec celery -A src.worker worker -l INFO -E --concurrency=1 -Q flow
envs:
- name: LOG_LEVEL
value:
_default: "DEBUG"
- name: BASE_HOST
value:
_default: "https://sarex.local.uralkali.com"
- name: CELERY_QUEUE
value:
_default: "flow"
- name: EAV_HOST
value:
_default: "http://backend-svc.eav.svc.cluster.local:80"
- name: DJANGO_HOST
value:
_default: "http://backend-svc.django.svc.cluster.local:80/api"
- name: PLANNING_HOST
value:
_default: "http://backend-service.pm.svc.cluster.local:80/api/pm/msp"
- name: PLANNING_USE
value:
_default: "True"
- name: DOCUMENTATION_HOST
value:
_default: "http://backend-api-svc.documentations.svc.cluster.local:80/internal/v1"
- name: DOCUMENTATION_EXTERNAL_HOST
value:
_default: "http://backend-api-svc.documentations.svc.cluster.local:80/api/v1"
- name: ENABLE_ANALYTICS
value:
_default: "1"
- name: ENABLE_CELERY
value:
_default: "1"
- name: ENABLE_MAILGUN
value:
_default: "0"
- name: ENABLE_METRICS
value:
_default: "0"
- name: FROM_EMAIL
value:
_default: "sarex@sarex.local.uralkali.com"
- name: GATEWAY_URL
value:
_default: "http://pdm-api.documentations.svc.cluster.local:8080"
- name: RESOURCE_URL
value:
_default: "http://resources-service.resources.svc.cluster.local:8000"
- name: SERVICE_HOST
value:
_default: "https://sarex.local.uralkali.com/flows/api/v1"
- name: SMTP_HOST
value:
_default: "post.sarex.local.uralkali.com"
- name: CHECKLIST_HOST
value:
_default: "http://checklists-backend-service.checklists.svc.cluster.local:80"
- name: SMTP_PORT
value:
_default: "587"
- name: SYNC_RESOURCE_ID
value:
_default: "1"
- name: TIMEOUT
value:
_default: "120"
- name: WORKFLOWS_HOST
value:
_default: "http://workflows-api-service.workflow.svc.cluster.local:8000/api/v1"
- name: WORKFLOWS_TIMEOUT
value:
_default: "60"
- name: DOCUMENTATION_TIMEOUT
value:
_default: "60"
# См. подробные комментарии в apps/flows/d8-ugmk-prod/backend.yaml.
- name: KAFKA_HOST
value:
_default: "kafka-kafka-contour.kafka.svc.cluster.local:9092"
- name: KAFKA_SSL_CERT
value:
_default: |
-----BEGIN CERTIFICATE-----
MIIDETCCAfmgAwIBAgIQNhHkZWgkcMSiuRD9FD3SKjANBgkqhkiG9w0BAQsFADAT
MREwDwYDVQQDEwhrYWZrYS1jYTAeFw0yNjA4MjYwOTM4MzFaFw0yNzA4MjYwOTM4
MzFaMBMxETAPBgNVBAMTCGthZmthLWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA7Vvs1386xYZrKJ4qr/LwiibuhyoIHZm6AnjubChLKUSulP0+TIYC
tDgfSiEQsmASCkJKrvrpg2o0TGxj+LUTVnBCDWwBL3wXWSrbHTmpo9y2n0MH/SiN
h0n43/ReuXXGzuP+s4WF4Z6EkQyCqqGXZkqYx3PsiqQv2DYmnU/s6jdEqXBhDyU9
k6KGjMGxCmDN07E8iElfZp58KvZSISFNi2X5QWa3CIiPo7EKOyW20Hw8xVyQ8/SX
GE/Rt2I4G/LC+EhUBKrRB4UgHY1UcifO0EMvKeh8lLRBT5+yqQvkA2/cXYKmeEKc
zICZw5ve1DiImjQKvHoM257t6lf5yj9h+wIDAQABo2EwXzAOBgNVHQ8BAf8EBAMC
AqQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEwEB/wQFMAMB
Af8wHQYDVR0OBBYEFAANdtqbrWPSSQqiCh1Wii2jxHO5MA0GCSqGSIb3DQEBCwUA
A4IBAQBJOea+5wxUNQuWX+E1m3GA5WJz+mAyt8J37w1ZpFVSpOX9r/ptSjyGoNY2
vgP0G8bJH30s25D4kRHuvvPeeCGnOR3PKPceeNIa4CQYvHnYT2bf7WBP8rLd0TyS
OV/ApxvxipKjl0OQc+95xAxm2z0qWIeOh1dkurvyhdLasIhqyhuUguW8APB2U3dU
fIvJ/R992Hy/MYvW7cw1CMWoaoBX90TEl6JNCHQvfBxaQzvPRvSEWwnRgbGwSZwz
ZS6GaNGN7C70WCxP4gmmkWfUC9lphnFb0IMGxXr/nTu5Ez5PKqRG56THkW5vd45i
0FC16VuidLG0HUCCawFjRiAg9rIA
-----END CERTIFICATE-----
podAnnotations:
_default:
vault.hashicorp.com/agent-inject-secret-flows-kafka: secrets/data/kafka/apps/flows
vault.hashicorp.com/agent-inject-template-flows-kafka: |-
{{- with secret "secrets/data/kafka/apps/flows" -}}
KAFKA_USERNAME={{ index .Data.data "username" }}
KAFKA_PASSWORD={{ index .Data.data "password" }}
{{- end -}}

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: frontend
namespace: flows
spec:
values:
services:
frontend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,17 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: backend.yaml
target:
kind: HelmRelease
name: backend
- path: celery.yaml
target:
kind: HelmRelease
name: celery
- path: frontend.yaml
target:
kind: HelmRelease
name: frontend

View File

@ -36,7 +36,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend:production_a7dc8216 _default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend:production_e8a366a3
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent

View File

@ -36,7 +36,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_a7dc8216 _default: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_e8a366a3
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent

View File

@ -36,7 +36,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_dcc5b5e6 _default: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_ed219085
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent

View File

@ -42,7 +42,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/iams:contour_dada80a8 _default: cr.yandex/crp3ccidau046kdj8g9q/iams:contour_b52d632c
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent

View File

@ -35,7 +35,7 @@ spec:
image: image:
name: name:
_default: cr.yandex/crp3ccidau046kdj8g9q/iams:production_786e19c3 _default: cr.yandex/crp3ccidau046kdj8g9q/iams:contour_dada80a8
pullPolicy: pullPolicy:
_default: IfNotPresent _default: IfNotPresent
@ -158,6 +158,22 @@ spec:
- name: KAFKA_TOPIC_COMPANY_RESOURCE_PERMISSIONS - name: KAFKA_TOPIC_COMPANY_RESOURCE_PERMISSIONS
value: value:
_default: "company_resource_permissions" _default: "company_resource_permissions"
- name: AUTH_ENABLED
value:
_default: "true"
- name: ZITADEL_ENABLED
value:
_default: "false"
- name: ZITADEL_ORG_RULES_FILE
value:
_default: "config/zitadel/org-rules-prod.json"
- name: KAFKA_TOPIC_LEGACY_AMS_SYNC
value:
_default: "ams-sync"
secretEnvs: secretEnvs:
- name: DB_DSN - name: DB_DSN
secretName: secretName:

View File

@ -0,0 +1,78 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: iam-backend
namespace: iam
spec:
values:
services:
backend:
envs:
- name: ENVIRONMENT
value:
_default: "prod"
- name: LOG_LEVEL
value:
_default: "debug"
- name: AUTH_ENABLED
value:
_default: "true"
- name: HTTP_PORT
value:
_default: "8080"
- name: HTTP_READ_BUFFER_SIZE
value:
_default: "131072"
- name: DB_MIGRATIONS_PATH
value:
_default: "migrations"
- name: ZITADEL_ENABLED
value:
_default: "true"
- name: ZITADEL_HOST
value:
_default: "https://login.sarex.local.uralkali.com"
- name: ZITADEL_ORG_RULES_FILE
value:
_default: "config/zitadel/org-rules-prod.json"
- name: S3_ENABLED
value:
_default: "true"
- name: S3_ENDPOINT_URL
value:
_default: "http://s3-proxy.s3-proxy.svc.cluster.local"
- name: S3_BUCKET_NAME
value:
_default: "iam"
- name: S3_REGION
value:
_default: "ru-central1"
- name: S3_PRESIGN_EXPIRES
value:
_default: "1h"
- name: KAFKA_ENABLED
value:
_default: "false"
- name: KAFKA_SSL_CAFILE
value:
_default: "/etc/ca-certificates/Yandex/ca-cert"
- name: KAFKA_TOPIC_LEGACY_AMS_SYNC
value:
_default: "ams-sync"

View File

@ -0,0 +1,14 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: iam
resources:
- ../base
patches:
- path: backend-s3.yaml
target:
kind: HelmRelease
name: iam-backend
- path: zitadel-org-rules-configmap.yaml
target:
kind: ConfigMap
name: iam-zitadel-org-rules

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: iam-zitadel-org-rules
namespace: iam
data:
org-rules-prod.json: |
{
"default_org_id": "392748423989716183",
"rules": []
}

View File

@ -130,6 +130,94 @@ spec:
- name: API_ADDRESS - name: API_ADDRESS
value: value:
_default: "8000" _default: "8000"
- name: DEBUG
value:
_default: "false"
- name: HTTP_APP_HOST
value:
_default: "0.0.0.0"
- name: HTTP_APP_PORT
value:
_default: "8000"
- name: HTTP_APP_ROOT_PATH
value:
_default: "/inspections"
- name: HTTP_APP_WORKERS
value:
_default: "3"
- name: HTTP_APP_ADMIN_ENABLE
value:
_default: "true"
- name: KAFKA_SSL_CAFILE
value:
_default: "/usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt"
- name: KAFKA_EAV_ASSETS_TOPIC
value:
_default: "assets_broadcast"
- name: JWT_AUTH_ENABLE
value:
_default: "true"
- name: NOTIFICATIONS_ENABLE
value:
_default: "true"
- name: NOTIFICATIONS_EMAIL_FROM
value:
_default: "hello@sarex.io"
- name: SAREX_BACKEND_URL
value:
_default: "https://test.sarex.brusnika.tech"
- name: SAREX_BACKEND_TIMEOUT
value:
_default: "30"
- name: EAV_URL
value:
_default: "http://eav-service.eav"
- name: EAV_TIMEOUT
value:
_default: "30"
- name: WORKFLOWS_TIMEOUT
value:
_default: "30"
- name: WORKFLOWS_EMAIL_DOCKER_IMAGE
value:
_default: "cr.yandex/crp3ccidau046kdj8g9q/notification:email"
- name: MOBILE_APP_CURRENT_VERSION
value:
_default: "1.0.0"
- name: MOBILE_APP_RECOMMENDED_VERSION
value:
_default: "1.0.0"
- name: MOBILE_APP_REQUIRED_VERSION
value:
_default: "1.0.0"
- name: MAILER_URL
value:
_default: "http://mailer-service.mailer:8000"
- name: MAILER_TIMEOUT
value:
_default: "30"
secretEnvs: secretEnvs:
- name: DATABASE_USER - name: DATABASE_USER
secretName: secretName:

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: backend
namespace: inspections
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: backend.yaml
target:
kind: HelmRelease
name: backend

View File

@ -176,6 +176,10 @@ 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
secretName: secretName:

View File

@ -187,6 +187,18 @@ spec:
- name: API_ADDRESS - name: API_ADDRESS
value: value:
_default: "8000" _default: "8000"
- name: USE_NOTIFICATIONS
value:
_default: "True"
- name: ENABLE_MAILGUN
value:
_default: "False"
- 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
secretName: secretName:

View File

@ -0,0 +1,149 @@
---
# ВНИМАНИЕ: 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
configMap:
name:
_default: kafka-ca-cert
items:
- key: kafka.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 -}}

View File

@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: backend
namespace: issues
spec:
values:
services:
backend:
deployment:
resources:
requests:
cpu: null
memory: null

View File

@ -0,0 +1,145 @@
---
# ВНИМАНИЕ: 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
configMap:
name:
_default: kafka-ca-cert
items:
- key: kafka.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 -}}

Some files were not shown because too many files have changed in this diff Show More