Add Django frontend app to yc-ecp: define namespace, configure HelmRelease with chart and deployment details, update Istio configuration, and include in cluster Kustomization

This commit is contained in:
emelinda 2026-08-05 01:58:35 +03:00
parent f88cf04434
commit 218d233eb7
5 changed files with 170 additions and 22 deletions

View File

@ -0,0 +1,133 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: frontend
namespace: django
spec:
interval: 5m
timeout: 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/sarex-frontend-dev:cps_82ba823b
pullPolicy:
_default: IfNotPresent
deployment:
enabled: true
name:
_default: frontend
replicaCount:
_default: 1
port:
_default: 80
resources:
requests:
cpu:
_default: 25m
memory:
_default: 100Mi
probes:
liveness:
enabled: false
readiness:
enabled: false
service:
enabled: true
name:
_default: frontend-service
type:
_default: ClusterIP
port:
_default: 80
targetPort:
_default: 80
portName:
_default: http
imagePullSecrets:
enabled:
_default: true
name:
_default: dockerhub
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- frontend
topologyKey: kubernetes.io/hostname
# ConfigMap'ы nginx-configmap и robots-txt-config создаются вне этого
# релиза — чарт только монтирует их
volumes:
_default:
- name: nginx-configmap
mountPath:
_default: /etc/nginx/nginx.conf
subPath:
_default: nginx.conf
configMap:
name:
_default: nginx-configmap
items:
- key: nginx.conf
path:
_default: nginx.conf
- name: robots-volume
mountPath:
_default: /opt/react_client/robots.txt
subPath:
_default: robots.txt
configMap:
name:
_default: robots-txt-config
items:
- key: robots.txt
path:
_default: robots.txt

View File

@ -0,0 +1,7 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: django
resources:
- frontend.yaml
# - namespace.yaml

View File

@ -0,0 +1,7 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: django
labels:
istio-injection: enabled

View File

@ -12,3 +12,4 @@ resources:
# apps # apps
- ../../apps/measurements/yc-ecp - ../../apps/measurements/yc-ecp
- ../../apps/django/yc-ecp

View File

@ -120,7 +120,7 @@ spec:
# noCors: чарт иначе навешивает corsPolicy с дефолтными origins sarex.io # noCors: чарт иначе навешивает corsPolicy с дефолтными origins sarex.io
virtualServices: virtualServices:
gitea-virt-service: gitea-virt-service:
namespace: gitea namespace: gateway
noCors: true noCors: true
hosts: hosts:
- gitea.invest.cps.sarex.lonsdaleites.ru - gitea.invest.cps.sarex.lonsdaleites.ru
@ -132,7 +132,7 @@ spec:
service: gitea.gitea.svc.cluster.local service: gitea.gitea.svc.cluster.local
port: 3000 port: 3000
vault-virt-service: vault-virt-service:
namespace: vault namespace: gateway
noCors: true noCors: true
hosts: hosts:
- vault.invest.cps.sarex.lonsdaleites.ru - vault.invest.cps.sarex.lonsdaleites.ru
@ -144,7 +144,7 @@ spec:
service: vault-vault-contour.vault.svc.cluster.local service: vault-vault-contour.vault.svc.cluster.local
port: 8200 port: 8200
dashboard-virt-service: dashboard-virt-service:
namespace: kubernetes-dashboard namespace: gateway
noCors: true noCors: true
hosts: hosts:
- dashboard.invest.cps.sarex.lonsdaleites.ru - dashboard.invest.cps.sarex.lonsdaleites.ru
@ -158,7 +158,7 @@ spec:
# # --- aero.invest.sarex.io / main-gateway --- # # --- aero.invest.sarex.io / main-gateway ---
# backend-service-virt-service: # backend-service-virt-service:
# namespace: django # namespace: gateway
# hosts: # hosts:
# - aero.invest.sarex.io # - aero.invest.sarex.io
# gateways: # gateways:
@ -177,15 +177,15 @@ spec:
# routes: # routes:
# - path: # - path:
# prefix: /admin/ # prefix: /admin/
# service: backend-service # service: backend-service.django.svc.cluster.local
# port: 8000 # port: 8000
# - path: # - path:
# prefix: /api # prefix: /api
# service: backend-service # service: backend-service.django.svc.cluster.local
# port: 8000 # port: 8000
# #
# s3-proxy-virt-service: # s3-proxy-virt-service:
# namespace: django # namespace: gateway
# hosts: # hosts:
# - aero.invest.sarex.io # - aero.invest.sarex.io
# gateways: # gateways:
@ -205,16 +205,16 @@ spec:
# - path: # - path:
# prefix: /s3/ # prefix: /s3/
# rewrite: / # rewrite: /
# service: s3-bim-service # service: s3-bim-service.django.svc.cluster.local
# port: 80 # port: 80
# - path: # - path:
# prefix: /media/ # prefix: /media/
# rewrite: / # rewrite: /
# service: s3-service # service: s3-service.django.svc.cluster.local
# port: 80 # port: 80
# #
# frontend-vs: # frontend-vs:
# namespace: django # namespace: gateway
# noCors: true # noCors: true
# hosts: # hosts:
# - aero.invest.sarex.io # - aero.invest.sarex.io
@ -227,7 +227,7 @@ spec:
# port: 80 # port: 80
# #
# bim-api-gazpromcps-api-virt-service: # bim-api-gazpromcps-api-virt-service:
# namespace: bim # namespace: gateway
# hosts: # hosts:
# - aero.invest.sarex.io # - aero.invest.sarex.io
# gateways: # gateways:
@ -247,16 +247,16 @@ spec:
# - path: # - path:
# prefix: /bim-gazpromcps/api/ # prefix: /bim-gazpromcps/api/
# rewrite: /api/ # rewrite: /api/
# service: bim-api-gazpromcps-service # service: bim-api-gazpromcps-service.bim.svc.cluster.local
# port: 80 # port: 80
# - path: # - path:
# prefix: /bim-gazpromcps/files/ # prefix: /bim-gazpromcps/files/
# rewrite: /files/ # rewrite: /files/
# service: bim-api-gazpromcps-service # service: bim-api-gazpromcps-service.bim.svc.cluster.local
# port: 80 # port: 80
# #
# bim-backend-v2-api-virt-service: # bim-backend-v2-api-virt-service:
# namespace: bim # namespace: gateway
# hosts: # hosts:
# - aero.invest.sarex.io # - aero.invest.sarex.io
# gateways: # gateways:
@ -276,11 +276,11 @@ spec:
# - path: # - path:
# prefix: /bim2-gazpromcps/api/ # prefix: /bim2-gazpromcps/api/
# rewrite: /api/ # rewrite: /api/
# service: bim-backend-v2-service # service: bim-backend-v2-service.bim.svc.cluster.local
# port: 80 # port: 80
# #
# eav-virt-service: # eav-virt-service:
# namespace: eav # namespace: gateway
# hosts: # hosts:
# - aero.invest.sarex.io # - aero.invest.sarex.io
# gateways: # gateways:
@ -301,17 +301,17 @@ spec:
# - path: # - path:
# prefix: /eav/api/ # prefix: /eav/api/
# rewrite: /api/ # rewrite: /api/
# service: eav-service # service: eav-service.eav.svc.cluster.local
# port: 8000 # port: 8000
# noCors: true # noCors: true
# - path: # - path:
# prefix: /eav/admin/ # prefix: /eav/admin/
# rewrite: /eav/admin/ # rewrite: /eav/admin/
# service: eav-service # service: eav-service.eav.svc.cluster.local
# port: 8000 # port: 8000
# #
# api-virt-service: # api-virt-service:
# namespace: processing # namespace: gateway
# hosts: # hosts:
# - aero.invest.sarex.io # - aero.invest.sarex.io
# gateways: # gateways:
@ -331,11 +331,11 @@ spec:
# - path: # - path:
# prefix: /workflows/api/ # prefix: /workflows/api/
# rewrite: /api/ # rewrite: /api/
# service: workflows-backend-service # service: workflows-backend-service.processing.svc.cluster.local
# port: 80 # port: 80
# #
# projects-frontend-static-virt-service: # projects-frontend-static-virt-service:
# namespace: projects # namespace: gateway
# hosts: # hosts:
# - aero.invest.sarex.io # - aero.invest.sarex.io
# gateways: # gateways:
@ -355,5 +355,5 @@ spec:
# - path: # - path:
# prefix: /projects/static/ # prefix: /projects/static/
# rewrite: / # rewrite: /
# service: projects-frontend-static-service # service: projects-frontend-static-service.projects.svc.cluster.local
# port: 80 # port: 80