feat(bi): standalone-оверлеи bi для ugok, brusnika-stage, brusnika-prod

Не наследуют base (vault-native) — отдельные HelmRelease на universal-chart
с обычными secretEnvs, как остальные сервисы этих контуров. Свои хосты,
имена сервисов и kafka-bootstrap на контур; KAFKA_ENABLE=0, поэтому kafka
без секретов. Подключены к соответствующим clusters/*/kustomization.yaml.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
ivan 2026-08-31 19:51:23 +05:00
parent 0cfb386c90
commit 37063d38e1
12 changed files with 893 additions and 2 deletions

View File

@ -0,0 +1,191 @@
---
# standalone HelmRelease по образцу apps/bi/ugok — контур brusnika-prod, без Vault.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bi-backend
namespace: bi
spec:
interval: 10m
chart:
spec:
chart: universal-chart
version: "0.1.9"
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:
main:
enabled: true
image:
name:
_default: cr.yandex/crp3ccidau046kdj8g9q/bi-backend:production_37902c73
pullPolicy:
_default: IfNotPresent
deployment:
enabled: true
name:
_default: bi-backend
replicaCount:
_default: 1
port:
_default: 8000
resources:
requests:
cpu:
_default: 100m
memory:
_default: 512Mi
probes:
liveness:
enabled:
_default: true
type:
_default: tcpSocket
tcpSocket:
port:
_default: 8000
initialDelaySeconds:
_default: 20
periodSeconds:
_default: 30
timeoutSeconds:
_default: 3
failureThreshold:
_default: 5
readiness:
enabled:
_default: true
type:
_default: tcpSocket
tcpSocket:
port:
_default: 8000
initialDelaySeconds:
_default: 10
periodSeconds:
_default: 10
timeoutSeconds:
_default: 3
failureThreshold:
_default: 6
service:
enabled: true
name:
_default: bi-backend-service
type:
_default: ClusterIP
port:
_default: 8000
targetPort:
_default: 8000
portName:
_default: http
imagePullSecrets:
enabled:
_default: true
name:
_default: regcred
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://cde.brusnika.ru"
- name: WORKER_TIMEOUT
value:
_default: "120"
- name: PYTHONPATH
value:
_default: "src"
- name: ISSUES_SERVICE_HOST
value:
_default: "http://issues-service.issues.svc.cluster.local"
- name: EAV_SERVICE_HOST
value:
_default: "http://eav-service.eav.svc.cluster.local:8000"
- 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://cde.brusnika.ru/documentations/"
- name: KAFKA_BOOTSTRAP_SERVERS
value:
_default: '["brusnika-stage-kafka-bootstrap.kafka.svc.cluster.local:9093"]'
- name: KAFKA_TOPICS
value:
_default: '{"planning": "message-hub-prod"}'
- name: KAFKA_ENABLE
value:
_default: "0"
- name: DB_HOST
value:
_default: "postgres-service"
- name: DB_PORT
value:
_default: "5432"
- name: DB_DATABASE
value:
_default: "bi_db"
secretEnvs:
- name: DB_USERNAME
secretName:
_default: bi-postgresql-secret
secretKey: username
- name: DB_PASSWORD
secretName:
_default: bi-postgresql-secret
secretKey: password
- name: SUPERSET_JWT_SECRET
secretName:
_default: bi-superset-secret
secretKey: jwt_secret
commitSha: ""
gitlabUri: ""
gitlabJobUrl: ""
owner: ""

View File

@ -0,0 +1,96 @@
---
# standalone HelmRelease по образцу apps/bi/ugok.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bi-frontend
namespace: bi
spec:
interval: 10m
chart:
spec:
chart: universal-chart
version: "0.1.9"
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:
frontend:
enabled: true
image:
name:
_default: cr.yandex/crp3ccidau046kdj8g9q/bi-frontend:production_afb137d4
pullPolicy:
_default: IfNotPresent
deployment:
enabled: true
name:
_default: bi-frontend
replicaCount:
_default: 1
port:
_default: 80
resources:
requests:
cpu:
_default: 50m
memory:
_default: 64Mi
probes:
liveness:
enabled: false
readiness:
enabled: false
service:
enabled: true
name:
_default: bi-frontend-frontend-svc
type:
_default: ClusterIP
port:
_default: 80
targetPort:
_default: 80
portName:
_default: http
imagePullSecrets:
enabled:
_default: true
name:
_default: regcred
commitSha: ""
gitlabUri: ""
gitlabJobUrl: ""
owner: ""

View File

@ -0,0 +1,8 @@
---
# Не наследуем base (vault-native) — standalone HelmRelease, как apps/bi/ugok.
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: bi
resources:
- backend.yaml
- frontend.yaml

View File

@ -0,0 +1,191 @@
---
# standalone HelmRelease по образцу apps/bi/ugok — контур brusnika-stage, без Vault.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bi-backend
namespace: bi
spec:
interval: 10m
chart:
spec:
chart: universal-chart
version: "0.1.9"
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:
main:
enabled: true
image:
name:
_default: cr.yandex/crp3ccidau046kdj8g9q/bi-backend:production_37902c73
pullPolicy:
_default: IfNotPresent
deployment:
enabled: true
name:
_default: bi-backend
replicaCount:
_default: 1
port:
_default: 8000
resources:
requests:
cpu:
_default: 100m
memory:
_default: 512Mi
probes:
liveness:
enabled:
_default: true
type:
_default: tcpSocket
tcpSocket:
port:
_default: 8000
initialDelaySeconds:
_default: 20
periodSeconds:
_default: 30
timeoutSeconds:
_default: 3
failureThreshold:
_default: 5
readiness:
enabled:
_default: true
type:
_default: tcpSocket
tcpSocket:
port:
_default: 8000
initialDelaySeconds:
_default: 10
periodSeconds:
_default: 10
timeoutSeconds:
_default: 3
failureThreshold:
_default: 6
service:
enabled: true
name:
_default: bi-backend-service
type:
_default: ClusterIP
port:
_default: 8000
targetPort:
_default: 8000
portName:
_default: http
imagePullSecrets:
enabled:
_default: true
name:
_default: regcred
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://test.sarex.brusnika.tech"
- name: WORKER_TIMEOUT
value:
_default: "120"
- name: PYTHONPATH
value:
_default: "src"
- name: ISSUES_SERVICE_HOST
value:
_default: "http://issues-service.issues.svc.cluster.local"
- name: EAV_SERVICE_HOST
value:
_default: "http://eav-service.eav.svc.cluster.local:8000"
- 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://test.sarex.brusnika.tech/documentations/"
- name: KAFKA_BOOTSTRAP_SERVERS
value:
_default: '["brusnika-stage-kafka-bootstrap.kafka.svc.cluster.local:9093"]'
- name: KAFKA_TOPICS
value:
_default: '{"planning": "message-hub-prod"}'
- name: KAFKA_ENABLE
value:
_default: "0"
- name: DB_HOST
value:
_default: "postgres-service"
- name: DB_PORT
value:
_default: "5432"
- name: DB_DATABASE
value:
_default: "bi_db"
secretEnvs:
- name: DB_USERNAME
secretName:
_default: bi-postgresql-secret
secretKey: username
- name: DB_PASSWORD
secretName:
_default: bi-postgresql-secret
secretKey: password
- name: SUPERSET_JWT_SECRET
secretName:
_default: bi-superset-secret
secretKey: jwt_secret
commitSha: ""
gitlabUri: ""
gitlabJobUrl: ""
owner: ""

View File

@ -0,0 +1,96 @@
---
# standalone HelmRelease по образцу apps/bi/ugok.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bi-frontend
namespace: bi
spec:
interval: 10m
chart:
spec:
chart: universal-chart
version: "0.1.9"
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:
frontend:
enabled: true
image:
name:
_default: cr.yandex/crp3ccidau046kdj8g9q/bi-frontend:production_afb137d4
pullPolicy:
_default: IfNotPresent
deployment:
enabled: true
name:
_default: bi-frontend
replicaCount:
_default: 1
port:
_default: 80
resources:
requests:
cpu:
_default: 50m
memory:
_default: 64Mi
probes:
liveness:
enabled: false
readiness:
enabled: false
service:
enabled: true
name:
_default: bi-frontend-frontend-svc
type:
_default: ClusterIP
port:
_default: 80
targetPort:
_default: 80
portName:
_default: http
imagePullSecrets:
enabled:
_default: true
name:
_default: regcred
commitSha: ""
gitlabUri: ""
gitlabJobUrl: ""
owner: ""

View File

@ -0,0 +1,8 @@
---
# Не наследуем base (vault-native) — standalone HelmRelease, как apps/bi/ugok.
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: bi
resources:
- backend.yaml
- frontend.yaml

194
apps/bi/ugok/backend.yaml Normal file
View File

@ -0,0 +1,194 @@
---
# standalone HelmRelease по образцу apps/bi/base + apps/eav/ugok — в ugok
# Vault не используется, поэтому не наследуем base (vault-native), а собираем
# отдельный HelmRelease с обычными secretEnvs, без serviceAccount /
# podAnnotations / vault-обёртки в command/args.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bi-backend
namespace: bi
spec:
interval: 10m
chart:
spec:
chart: universal-chart
version: "0.1.9"
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:
main:
enabled: true
image:
name:
_default: 10.4.10.187:80/library/bi-backend:production_37902c73
pullPolicy:
_default: IfNotPresent
deployment:
enabled: true
name:
_default: bi-backend
replicaCount:
_default: 1
port:
_default: 8000
resources:
requests:
cpu:
_default: 100m
memory:
_default: 512Mi
probes:
liveness:
enabled:
_default: true
type:
_default: tcpSocket
tcpSocket:
port:
_default: 8000
initialDelaySeconds:
_default: 20
periodSeconds:
_default: 30
timeoutSeconds:
_default: 3
failureThreshold:
_default: 5
readiness:
enabled:
_default: true
type:
_default: tcpSocket
tcpSocket:
port:
_default: 8000
initialDelaySeconds:
_default: 10
periodSeconds:
_default: 10
timeoutSeconds:
_default: 3
failureThreshold:
_default: 6
service:
enabled: true
name:
_default: bi-backend-service
type:
_default: ClusterIP
port:
_default: 8000
targetPort:
_default: 8000
portName:
_default: http
imagePullSecrets:
enabled:
_default: true
name:
_default: regcred
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.ugok.lan"
- name: WORKER_TIMEOUT
value:
_default: "120"
- name: PYTHONPATH
value:
_default: "src"
- name: ISSUES_SERVICE_HOST
value:
_default: "http://issues-service.issues.svc.cluster.local"
- name: EAV_SERVICE_HOST
value:
_default: "http://eav-service.eav.svc.cluster.local:8000"
- name: PM_SERVICE_HOST
value:
_default: "http://backend-service.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.ugok.lan/documentations/"
- name: KAFKA_BOOTSTRAP_SERVERS
value:
_default: '["ugok-prod-kafka-bootstrap.kafka.svc.cluster.local:9093"]'
- name: KAFKA_TOPICS
value:
_default: '{"planning": "message-hub-prod"}'
- name: KAFKA_ENABLE
value:
_default: "0"
- name: DB_HOST
value:
_default: "postgres-service"
- name: DB_PORT
value:
_default: "5432"
- name: DB_DATABASE
value:
_default: "bi_db"
secretEnvs:
- name: DB_USERNAME
secretName:
_default: bi-postgresql-secret
secretKey: username
- name: DB_PASSWORD
secretName:
_default: bi-postgresql-secret
secretKey: password
- name: SUPERSET_JWT_SECRET
secretName:
_default: bi-superset-secret
secretKey: jwt_secret
commitSha: ""
gitlabUri: ""
gitlabJobUrl: ""
owner: ""

View File

@ -0,0 +1,95 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bi-frontend
namespace: bi
spec:
interval: 10m
chart:
spec:
chart: universal-chart
version: "0.1.9"
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:
frontend:
enabled: true
image:
name:
_default: 10.4.10.187:80/library/bi-frontend:production_afb137d4
pullPolicy:
_default: IfNotPresent
deployment:
enabled: true
name:
_default: bi-frontend
replicaCount:
_default: 1
port:
_default: 80
resources:
requests:
cpu:
_default: 50m
memory:
_default: 64Mi
probes:
liveness:
enabled: false
readiness:
enabled: false
service:
enabled: true
name:
_default: bi-frontend-frontend-svc
type:
_default: ClusterIP
port:
_default: 80
targetPort:
_default: 80
portName:
_default: http
imagePullSecrets:
enabled:
_default: true
name:
_default: regcred
commitSha: ""
gitlabUri: ""
gitlabJobUrl: ""
owner: ""

View File

@ -0,0 +1,9 @@
---
# Не наследуем base (vault-native) — в ugok Vault не используется.
# Отдельные standalone HelmRelease с обычными secretEnvs.
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: bi
resources:
- backend.yaml
- frontend.yaml

View File

@ -32,3 +32,4 @@ resources:
- ../../apps/checklists/brusnika-prod
- ../../apps/measurements/brusnika-prod
- ../../apps/contracts/brusnika-prod
- ../../apps/bi/brusnika-prod

View File

@ -35,3 +35,4 @@ resources:
- ../../apps/ams-sync/brusnika-stage
- ../../apps/iam/brusnika-stage
- ../../apps/auth-flow/brusnika-stage
- ../../apps/bi/brusnika-stage

View File

@ -39,3 +39,4 @@ resources:
- ../../apps/documentations/ugok
- ../../apps/django/ugok
- ../../apps/processing/ugok
- ../../apps/bi/ugok