From 53f322fb30d8f9674119bb42ca5569995f9671c1 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 4 Jun 2026 13:26:24 +0500 Subject: [PATCH] ++ --- apps/issues/brusnika-stage/backend.yaml | 262 +++++++++++++++++ apps/issues/brusnika-stage/celery.yaml | 273 ++++++++++++++++++ apps/issues/brusnika-stage/frontend.yaml | 93 ++++++ apps/issues/brusnika-stage/kustomization.yaml | 8 + clusters/brusnika-stage/kustomization.yaml | 3 +- 5 files changed, 638 insertions(+), 1 deletion(-) create mode 100644 apps/issues/brusnika-stage/backend.yaml create mode 100644 apps/issues/brusnika-stage/celery.yaml create mode 100644 apps/issues/brusnika-stage/frontend.yaml create mode 100644 apps/issues/brusnika-stage/kustomization.yaml diff --git a/apps/issues/brusnika-stage/backend.yaml b/apps/issues/brusnika-stage/backend.yaml new file mode 100644 index 0000000..af03376 --- /dev/null +++ b/apps/issues/brusnika-stage/backend.yaml @@ -0,0 +1,262 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: issues + namespace: issues + +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: + backend: + enabled: true + + image: + name: + _default: cr.yandex/crp3ccidau046kdj8g9q/issues:production_f1b6c05c + pullPolicy: + _default: IfNotPresent + + deployment: + enabled: true + + name: + _default: issues + + replicaCount: + _default: 1 + stage: 1 + preprod: 3 + production: 3 + + port: + _default: 8000 + + probes: + liveness: + enabled: false + readiness: + enabled: false + + service: + enabled: true + + name: + _default: issues-service + + type: + _default: ClusterIP + + port: + _default: 80 + + targetPort: + _default: 8000 + + portName: + _default: http + + imagePullSecrets: + enabled: + _default: true + name: + _default: regcred + volumes: + _default: + - name: uwsgi-configmap + mountPath: + _default: /opt/server/uwsgi.ini + subPath: + _default: uwsgi.ini + readOnly: + _default: true + configMap: + name: + _default: uwsgi-configmap + items: + - key: uwsgi.ini + path: + _default: uwsgi.ini + - 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 + labels: + monitoring: prometheus + + envs: + - name: ENVIRONMENT + value: + _default: "production" + + - name: AERO_PUBLIC_HOST + value: + _default: "https://test.sarex.brusnika.tech" + + - name: AERO_HOST + value: + _default: "https://test.sarex.brusnika.tech" + + - name: BASE_AERO_URL + value: + _default: "https://test.sarex.brusnika.tech" + + - name: BASE_AUTH_URL + value: + _default: "http://backend.django.svc.cluster.local:8000" + + - 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://resources-service.resources.svc.cluster.local:8000" + + - name: EAV_HOST + value: + _default: "http://eav-service.eav.svc.cluster.local:8000" + + - name: SAREX_API + value: + _default: "https://test.sarex.brusnika.tech" + + - name: DOCUMENTATIONS_URL + value: + _default: "http://documentations-api.documentations.svc.cluster.local:8080" + + - name: DJANGO_SETTINGS_MODULE + value: + _default: "config.settings.production" + + - name: DATABASE_HOST + value: + _default: "192.168.2.45" + + - name: DATABASE_PORT + value: + _default: "5432" + + - name: API_ADDRESS + value: + _default: "8000" + + - name: RABBITMQ_HOSTNAME + value: + _default: "rabbitmq-service:5672" + secretEnvs: + - name: YC_S3_ACCESS_KEY_ID + secretName: + _default: "yc-s3-secret" + secretKey: "key_id" + + - name: YC_S3_SECRET_ACCESS_KEY + secretName: + _default: "yc-s3-secret" + secretKey: "access_key" + + - name: YC_S3_BUCKET_NAME + secretName: + _default: "yc-s3-secret" + secretKey: "storage_bucket_name" + + - name: YC_S3_ENDPOINT_URL + secretName: + _default: "yc-s3-secret" + secretKey: "endpoint_url" + + - name: DJANGO_BASIC_AUTH + secretName: + _default: "django-auth" + secretKey: "key" + + - name: SAREX_USERNAME + secretName: + _default: "sarex-auth" + secretKey: "username" + + - name: SAREX_PASSWORD + secretName: + _default: "sarex-auth" + secretKey: "password" + + - name: DATABASE_USER + secretName: + _default: "postgres-secret" + secretKey: "username" + + - name: DATABASE_PASSWORD + secretName: + _default: "postgres-secret" + secretKey: "password" + + - name: DATABASE_NAME + secretName: + _default: "postgres-secret" + secretKey: "database" + + - name: RABBITMQ_VHOST + secretName: + _default: "rabbitmq-secret" + secretKey: "vhost" + + - name: RABBITMQ_USERNAME + secretName: + _default: "rabbitmq-secret" + secretKey: "username" + + - name: RABBITMQ_PASSWORD + secretName: + _default: "rabbitmq-secret" + secretKey: "password" + + - name: JWT_PRIVATE_KEY + secretName: + _default: "backend-secret" + secretKey: "ssh_private.key" + + - name: JWT_PUBLIC_KEY + secretName: + _default: "backend-secret" + secretKey: "ssh_public.key" + + commitSha: "" + gitlabUri: "" + gitlabJobUrl: "" + owner: "" \ No newline at end of file diff --git a/apps/issues/brusnika-stage/celery.yaml b/apps/issues/brusnika-stage/celery.yaml new file mode 100644 index 0000000..6ec248b --- /dev/null +++ b/apps/issues/brusnika-stage/celery.yaml @@ -0,0 +1,273 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: celery + namespace: issues + +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: + backend: + enabled: true + + image: + name: + _default: cr.yandex/crp3ccidau046kdj8g9q/issues:production_f1b6c05c + pullPolicy: + _default: IfNotPresent + + deployment: + enabled: true + + name: + _default: celery + + replicaCount: + _default: 1 + stage: 1 + preprod: 3 + production: 3 + + port: + _default: 8000 + + command: + _default: + - celery + - '-A' + - config + - worker + - '-l' + - info + - '-E' + - '--concurrency=2' + + probes: + liveness: + enabled: false + readiness: + enabled: false + + service: + enabled: false + + name: + _default: celery-service + + type: + _default: ClusterIP + + port: + _default: 80 + + targetPort: + _default: 8000 + + portName: + _default: http + + imagePullSecrets: + enabled: + _default: true + name: + _default: regcred + volumes: + _default: + - name: uwsgi-configmap + mountPath: + _default: /opt/server/uwsgi.ini + subPath: + _default: uwsgi.ini + readOnly: + _default: true + configMap: + name: + _default: uwsgi-configmap + items: + - key: uwsgi.ini + path: + _default: uwsgi.ini + - 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 + labels: + monitoring: prometheus + + envs: + - name: ENVIRONMENT + value: + _default: "production" + + - name: AERO_PUBLIC_HOST + value: + _default: "https://test.sarex.brusnika.tech" + + - name: AERO_HOST + value: + _default: "https://test.sarex.brusnika.tech" + + - name: BASE_AERO_URL + value: + _default: "https://test.sarex.brusnika.tech" + + - name: BASE_AUTH_URL + value: + _default: "http://backend.django.svc.cluster.local:8000" + + - 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://resources-service.resources.svc.cluster.local:8000" + + - name: EAV_HOST + value: + _default: "http://eav-service.eav.svc.cluster.local:8000" + + - name: SAREX_API + value: + _default: "https://test.sarex.brusnika.tech" + + - name: DOCUMENTATIONS_URL + value: + _default: "http://documentations-api.documentations.svc.cluster.local:8080" + + - name: DJANGO_SETTINGS_MODULE + value: + _default: "config.settings.production" + + - name: DATABASE_HOST + value: + _default: "192.168.2.45" + + - name: DATABASE_PORT + value: + _default: "5432" + + - name: API_ADDRESS + value: + _default: "8000" + + - name: RABBITMQ_HOSTNAME + value: + _default: "rabbitmq-service:5672" + secretEnvs: + - name: YC_S3_ACCESS_KEY_ID + secretName: + _default: "yc-s3-secret" + secretKey: "key_id" + + - name: YC_S3_SECRET_ACCESS_KEY + secretName: + _default: "yc-s3-secret" + secretKey: "access_key" + + - name: YC_S3_BUCKET_NAME + secretName: + _default: "yc-s3-secret" + secretKey: "storage_bucket_name" + + - name: YC_S3_ENDPOINT_URL + secretName: + _default: "yc-s3-secret" + secretKey: "endpoint_url" + + - name: DJANGO_BASIC_AUTH + secretName: + _default: "django-auth" + secretKey: "key" + + - name: SAREX_USERNAME + secretName: + _default: "sarex-auth" + secretKey: "username" + + - name: SAREX_PASSWORD + secretName: + _default: "sarex-auth" + secretKey: "password" + + - name: DATABASE_USER + secretName: + _default: "postgres-secret" + secretKey: "username" + + - name: DATABASE_PASSWORD + secretName: + _default: "postgres-secret" + secretKey: "password" + + - name: DATABASE_NAME + secretName: + _default: "postgres-secret" + secretKey: "database" + + - name: RABBITMQ_VHOST + secretName: + _default: "rabbitmq-secret" + secretKey: "vhost" + + - name: RABBITMQ_USERNAME + secretName: + _default: "rabbitmq-secret" + secretKey: "username" + + - name: RABBITMQ_PASSWORD + secretName: + _default: "rabbitmq-secret" + secretKey: "password" + + - name: JWT_PRIVATE_KEY + secretName: + _default: "backend-secret" + secretKey: "ssh_private.key" + + - name: JWT_PUBLIC_KEY + secretName: + _default: "backend-secret" + secretKey: "ssh_public.key" + + commitSha: "" + gitlabUri: "" + gitlabJobUrl: "" + owner: "" \ No newline at end of file diff --git a/apps/issues/brusnika-stage/frontend.yaml b/apps/issues/brusnika-stage/frontend.yaml new file mode 100644 index 0000000..43c120f --- /dev/null +++ b/apps/issues/brusnika-stage/frontend.yaml @@ -0,0 +1,93 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: static + namespace: issues + +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: + frontend: + enabled: true + + image: + name: + _default: cr.yandex/crp3ccidau046kdj8g9q/contour_issues-frontend:893c9953 + pullPolicy: + _default: IfNotPresent + + deployment: + enabled: true + + name: + _default: static + + replicaCount: + _default: 1 + stage: 1 + preprod: 3 + production: 3 + + port: + _default: 80 + + probes: + liveness: + enabled: false + readiness: + enabled: false + + service: + enabled: true + + name: + _default: static-service + + + type: + _default: ClusterIP + + port: + _default: 80 + + targetPort: + _default: 80 + + portName: + _default: http + + imagePullSecrets: + enabled: + _default: true + name: + _default: regcred + + + + commitSha: "" + gitlabUri: "" + gitlabJobUrl: "" + owner: "" \ No newline at end of file diff --git a/apps/issues/brusnika-stage/kustomization.yaml b/apps/issues/brusnika-stage/kustomization.yaml new file mode 100644 index 0000000..c68cb3b --- /dev/null +++ b/apps/issues/brusnika-stage/kustomization.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: issues +resources: + - frontend.yaml + - backend.yaml + - celery.yaml \ No newline at end of file diff --git a/clusters/brusnika-stage/kustomization.yaml b/clusters/brusnika-stage/kustomization.yaml index e52e984..503e48d 100644 --- a/clusters/brusnika-stage/kustomization.yaml +++ b/clusters/brusnika-stage/kustomization.yaml @@ -13,4 +13,5 @@ resources: - ../../apps/workspaces/brusnika-stage - ../../apps/documentations/brusnika-stage - ../../apps/flows/brusnika-stage - - ../../apps/reviews/brusnika-stage \ No newline at end of file + - ../../apps/reviews/brusnika-stage + - ../../apps/issues/brusnika-stage \ No newline at end of file