diff --git a/apps/ams-sync/dsinv/backend.yaml b/apps/ams-sync/dsinv/backend.yaml new file mode 100644 index 0000000..af410f8 --- /dev/null +++ b/apps/ams-sync/dsinv/backend.yaml @@ -0,0 +1,41 @@ +--- +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: ams-sync + namespace: ams-sync +spec: + values: + services: + backend: + image: + name: + _default: cr.yandex/crp3ccidau046kdj8g9q/ams-sync:ugok + envs: + - name: AMS_SYNC_TOPIC + value: + _default: ams-sync + - name: ENVIRONMENT + value: + _default: PRODUCTION + - name: HOST_ORGANIZATION_ID + value: + _default: '377835910403719938' + - name: ALERT_ENABLED + value: + _default: 'False' + - name: USER_SERVER_HOST + value: + _default: http://backend.django.svc.cluster.local:8000 + - name: AUTH_HOST + value: + _default: http://backend.django.svc.cluster.local:8000 + - name: VERIFY_USERS + value: + _default: 'True' + - name: KAFKA_SECURITY_PROTOCOL + value: + _default: SSL + - name: KAFKA_SASL_MECHANISM + value: + _default: SCRAM-SHA-512 diff --git a/apps/ams-sync/dsinv/kustomization.yaml b/apps/ams-sync/dsinv/kustomization.yaml new file mode 100644 index 0000000..1640998 --- /dev/null +++ b/apps/ams-sync/dsinv/kustomization.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: ams-sync +resources: +- ../base +patches: +- path: backend.yaml + target: + kind: HelmRelease + name: ams-sync diff --git a/apps/attachments/dsinv/attachments.yaml b/apps/attachments/dsinv/attachments.yaml new file mode 100644 index 0000000..2cbdb64 --- /dev/null +++ b/apps/attachments/dsinv/attachments.yaml @@ -0,0 +1,44 @@ +--- +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: attachments + namespace: attachments +spec: + values: + services: + attachments: + image: + name: + _default: cr.yandex/crp3ccidau046kdj8g9q/attachments:0.0.9 + envs: + - name: DATABASE_HOST + value: + _default: postgres-service.attachments.svc.cluster.local + - name: DATABASE_PORT + value: + _default: '5432' + - name: DATABASE_NAME + value: + _default: attachments + - name: POSTGRES_POOL_SIZE + value: + _default: '10' + - name: API_ADDRESS + value: + _default: 0.0.0.0:8000 + - name: DATABASE_SSL_MODE + value: + _default: disable + - name: YANDEX_S3_VERIFY + value: + _default: 'False' + - name: YANDEX_S3_USE_SSL + value: + _default: 'False' + - name: YANDEX_S3_ACCOUNT_PATH + value: + _default: /etc/sarex/yc-s3-storage/yc-s3-service-account.json + - name: BUCKET_NAME + value: + _default: attachments diff --git a/apps/attachments/dsinv/kustomization.yaml b/apps/attachments/dsinv/kustomization.yaml new file mode 100644 index 0000000..2eaa1f9 --- /dev/null +++ b/apps/attachments/dsinv/kustomization.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: attachments +resources: +- ../base +patches: +- path: attachments.yaml + target: + kind: HelmRelease + name: attachments diff --git a/apps/bim/dsinv/backend.yaml b/apps/bim/dsinv/backend.yaml new file mode 100644 index 0000000..5392c45 --- /dev/null +++ b/apps/bim/dsinv/backend.yaml @@ -0,0 +1,53 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend + namespace: bim +spec: + template: + spec: + containers: + - name: backend + image: cr.yandex/crp3ccidau046kdj8g9q/bim-backend-v2:1d961a7b125ae0e69bd5717658d927091d8c05cc + env: + - name: LAST_MASTER_BIM + value: '100000' + - name: LAST_SLAVE_1_BIM + value: '94015' + - name: LAST_MASTER_BIM_V3 + value: '100000' + - name: LAST_SLAVE_1_BIM_V3 + value: '0' + - name: DB_CERT_PATH_3 + value: /root/yandex_pg.pem + - name: POSTGRES_ADDRESS_3 + value: postgres-service + - name: POSTGRES_PORT_3 + value: '5432' + - name: POSTGRES_DB_3 + value: bimapidb + - name: DB_CERT_PATH_2 + value: /root/yandex_pg.pem + - name: POSTGRES_ADDRESS_2 + value: postgres-service + - name: POSTGRES_PORT_2 + value: '5432' + - name: POSTGRES_DB_2 + value: bimapidb + - name: POSTGRES_ADDRESS + value: postgres-service + - name: POSTGRES_PORT + value: '5432' + - name: POSTGRES_DB + value: bimapidb + - name: POSTGRES_POOL_SIZE + value: '30' + - name: API_ADDRESS + value: 0.0.0.0:8000 + - name: DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000 + - name: ENABLE_SQL_QUERY + value: '0' + - name: ENABLE_SSL + value: '0' diff --git a/apps/bim/dsinv/bim-api.yaml b/apps/bim/dsinv/bim-api.yaml new file mode 100644 index 0000000..0ab9f34 --- /dev/null +++ b/apps/bim/dsinv/bim-api.yaml @@ -0,0 +1,172 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bim-api + namespace: bim + labels: + app: bim-api +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: bim-api + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: bim-api + spec: + containers: + - command: + - ./entrypoint_api.sh + env: + - name: JWT_PUBLIC_KEY_PATH + value: /etc/sarex/keys/prod.rsa.pub + - name: FEATURE_ENABLE_JWT_AUTH + value: 'false' + - name: FEATURE_ENABLE_SAREX_AUTH + value: 'false' + - name: FEATURE_ENABLE_WORKSPACES + value: 'true' + - name: FEATURE_ENABLE_GCLOUD + value: 'false' + - name: FEATURE_ENABLE_S3 + value: 'true' + - name: S3_BUCKET + value: sarex-bim-storage + - name: BIM_CURRENT_STORAGE + value: s3 + - name: AWS_DEFAULT_REGION + value: ru-central1 + - name: FEATURE_ENABLE_PROCESSING + value: '1' + - name: PROCESSING_API_URL + value: http://workflows-service.processing.svc.cluster.local:8000/internal + - name: PROCESSING_C2M_VERSION + value: stable + - name: prometheus_multiproc_dir + value: /tmp + - name: GOOGLE_APPLICATION_CREDENTIALS + value: /etc/sarex/google-storage/service_account.json + - name: BUNDLE_VERSION + value: v1 + - name: WORKSPACES_API_URL + value: http://workspaces-service.workspaces.svc.cluster.local:8000/internal + - name: BIM_API_EXTERNAL_HOST_SCHEMA + value: https + - name: BIM_API_EXTERNAL_HOST + value: sarex.uralchem.com + - name: BIM_API_INTERNAL_HOST_SCHEMA + value: http + - name: BIM_API_INTERNAL_HOST + value: bim-api-service.bim.svc.cluster.local:5555 + - name: DB_HOST + value: postgres-service-bim-v1 + - name: DB_PORT + value: '5432' + - name: MESH_OPTIMIZER_PATH + value: gltfpack + - name: DEBUG + value: '0' + - name: STORAGE_SEGMENT + value: sarex-production-storage + - name: STORAGE_PROJECT + value: sarex-production + - name: TMP_DIR + value: /tmp + - name: WEBHOOK_URL + value: http://bim-api-service.bim.svc.cluster.local:5555 + - name: COMPARATOR_API_URL + value: http://comparator-api-service.comparator-prod/internal + - name: RABBIT_VHOST + value: api + - name: RABBIT_HOST + value: rabbitmq-service.rabbitmq:5672 + - name: DISABLE_INSTANCING + value: '0' + - name: DB_USER + valueFrom: + secretKeyRef: + key: username + name: postgres-secret-bim-v1 + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: postgres-secret-bim-v1 + - name: RABBIT_USER + valueFrom: + secretKeyRef: + key: username + name: rabbitmq-secret + - name: RABBIT_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: rabbitmq-secret + - name: AWS_ACCESS_KEY_ID + valueFrom: + secretKeyRef: + key: key-id + name: s3-cred + - name: AWS_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + key: access-key + name: s3-cred + image: cr.yandex/crp3ccidau046kdj8g9q/bim-api:870965d1967cd761965029b0480884ab7fa7c951 + imagePullPolicy: IfNotPresent + name: bim-api + ports: + - containerPort: 5555 + name: http + protocol: TCP + - containerPort: 9000 + name: prom + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /tmp + name: tmp-volume + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + nodeSelector: + name: generic + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + serviceAccount: bim-api-sa + serviceAccountName: bim-api-sa + terminationGracePeriodSeconds: 30 + volumes: + - emptyDir: {} + name: tmp-volume +--- +apiVersion: v1 +kind: Service +metadata: + name: bim-api-service + namespace: bim + labels: {} +spec: + externalTrafficPolicy: Cluster + ports: + - name: http + nodePort: 31352 + port: 5555 + protocol: TCP + targetPort: 5555 + selector: + app: bim-api + sessionAffinity: None + type: NodePort diff --git a/apps/bim/dsinv/bim-worker.yaml b/apps/bim/dsinv/bim-worker.yaml new file mode 100644 index 0000000..997e549 --- /dev/null +++ b/apps/bim/dsinv/bim-worker.yaml @@ -0,0 +1,146 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bim-worker + namespace: bim + labels: + app: bim-worker +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: bim-worker + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: bim-worker + spec: + containers: + - command: + - ./entrypoint_worker.sh + env: + - name: JWT_PUBLIC_KEY_PATH + value: /etc/sarex/keys/prod.rsa.pub + - name: FEATURE_ENABLE_JWT_AUTH + value: 'false' + - name: FEATURE_ENABLE_SAREX_AUTH + value: 'false' + - name: FEATURE_ENABLE_WORKSPACES + value: 'true' + - name: FEATURE_ENABLE_GCLOUD + value: 'false' + - name: FEATURE_ENABLE_S3 + value: 'true' + - name: S3_BUCKET + value: sarex-bim-storage + - name: BIM_CURRENT_STORAGE + value: s3 + - name: AWS_DEFAULT_REGION + value: ru-central1 + - name: FEATURE_ENABLE_PROCESSING + value: '1' + - name: PROCESSING_API_URL + value: http://workflows-service.processing.svc.cluster.local:8000/internal + - name: PROCESSING_C2M_VERSION + value: stable + - name: prometheus_multiproc_dir + value: /tmp + - name: GOOGLE_APPLICATION_CREDENTIALS + value: /etc/sarex/google-storage/service_account.json + - name: BUNDLE_VERSION + value: v1 + - name: WORKSPACES_API_URL + value: http://workspaces-service.workspaces.svc.cluster.local:8000/internal + - name: BIM_API_EXTERNAL_HOST_SCHEMA + value: https + - name: BIM_API_EXTERNAL_HOST + value: sarex.dsinv.ru + - name: BIM_API_INTERNAL_HOST_SCHEMA + value: http + - name: BIM_API_INTERNAL_HOST + value: bim-api-service.bim.svc.cluster.local:5555 + - name: DB_HOST + value: postgres-service-bim-v1 + - name: DB_PORT + value: '5432' + - name: MESH_OPTIMIZER_PATH + value: gltfpack + - name: DEBUG + value: '0' + - name: STORAGE_SEGMENT + value: sarex-production-storage + - name: STORAGE_PROJECT + value: sarex-production + - name: TMP_DIR + value: /tmp + - name: WEBHOOK_URL + value: http://bim-api-service.bim.svc.cluster.local:5555 + - name: COMPARATOR_API_URL + value: http://comparator-api-service.comparator-prod/internal + - name: RABBIT_VHOST + value: api + - name: RABBIT_HOST + value: rabbitmq-service.bim:5672 + - name: DISABLE_INSTANCING + value: '0' + - name: DB_USER + valueFrom: + secretKeyRef: + key: username + name: postgres-secret-bim-v1 + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: postgres-secret-bim-v1 + - name: RABBIT_USER + valueFrom: + secretKeyRef: + key: username + name: rabbitmq-secret + - name: RABBIT_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: rabbitmq-secret + - name: AWS_ACCESS_KEY_ID + valueFrom: + secretKeyRef: + key: key-id + name: s3-cred + - name: AWS_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + key: access-key + name: s3-cred + image: cr.yandex/crp3ccidau046kdj8g9q/bim-api:870965d1967cd761965029b0480884ab7fa7c951 + imagePullPolicy: IfNotPresent + name: bim-worker + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /tmp + name: tmp-volume + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + nodeSelector: + name: generic + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + serviceAccount: bim-worker-sa + serviceAccountName: bim-worker-sa + terminationGracePeriodSeconds: 30 + volumes: + - emptyDir: {} + name: tmp-volume diff --git a/apps/bim/dsinv/kustomization.yaml b/apps/bim/dsinv/kustomization.yaml new file mode 100644 index 0000000..71179d1 --- /dev/null +++ b/apps/bim/dsinv/kustomization.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: bim +resources: +- ../base +- bim-api.yaml +- bim-worker.yaml +patches: +- path: backend.yaml + target: + kind: Deployment + name: backend diff --git a/apps/checklists/dsinv/checklists-backend.yaml b/apps/checklists/dsinv/checklists-backend.yaml new file mode 100644 index 0000000..482a1d3 --- /dev/null +++ b/apps/checklists/dsinv/checklists-backend.yaml @@ -0,0 +1,33 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: checklists-backend + namespace: checklists +spec: + template: + spec: + containers: + - name: api + image: cr.yandex/crp3ccidau046kdj8g9q/checklists-backend:production_68f242cd + env: + - name: HTTP_APP_HOST + value: 0.0.0.0 + - name: HTTP_APP_PORT + value: '8000' + - name: HTTP_APP_ROOT_PATH + value: /checklists + - name: HTTP_APP_WORKERS + value: '8' + - name: HTTP_APP_ADMIN_ENABLE + value: 'true' + - name: DATABASE_HOST + value: postgres-service + - name: DATABASE_PORT + value: '5432' + - name: DATABASE_NAME + value: checklists_db + - name: JWT_AUTH_ENABLE + value: 'true' + - name: DEBUG + value: 'false' diff --git a/apps/checklists/dsinv/kustomization.yaml b/apps/checklists/dsinv/kustomization.yaml new file mode 100644 index 0000000..82ba6be --- /dev/null +++ b/apps/checklists/dsinv/kustomization.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: checklists +resources: +- ../base +patches: +- path: checklists-backend.yaml + target: + kind: Deployment + name: checklists-backend diff --git a/apps/comparisons/dsinv/backend.yaml b/apps/comparisons/dsinv/backend.yaml new file mode 100644 index 0000000..b61664c --- /dev/null +++ b/apps/comparisons/dsinv/backend.yaml @@ -0,0 +1,63 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend + namespace: comparisons +spec: + template: + spec: + containers: + - name: backend + image: cr.yandex/crp3ccidau046kdj8g9q/comparisons-backend:8df50db379f53c35a20fdffd4803883564a11844 + env: + - name: HTTP_PORT + value: '8080' + - name: LAST_MASTER_BIM + value: '100_000' + - name: APP_NAME + value: comparisons-api-v2 + - name: APP_VERSION + value: 0.0.1 + - name: LOGGER_LOG_LEVEL + value: info + - name: DATABASE_HOST + value: postgres-service + - name: DATABASE_PORT + value: '5432' + - name: DATABASE_NAME + value: postgres + - name: DATABASE_DB + value: comparisons + - name: API_ADDRESS + value: 0.0.0.0:8080 + - name: API_ADDRESS_FILE + value: 0.0.0.0:8080 + - name: ENABLE_SQL_QUERY + value: '0' + - name: DOCUMENTATIONS_INTERNAL_HOST + value: http://documentations-service.documentations.svc.cluster.local:8080 + - name: DOCUMENTATIONS_EXTERNAL_HOST + value: http://documentations-service.documentations.svc.cluster.local:8080/ + - name: DOCUMENTATION_URL + value: http://documentations-service.documentations.svc.cluster.local:8080/ + - name: DOCUMENTATION_FILESTREAM_URL + value: http://documentations-filestream-service.documentations.svc.cluster.local:8080/ + - name: WORKFLOWS_HOST + value: http://workflows-service.workflow.svc.cluster.local:8000/ + - name: EAV_HOST + value: http://eav-service.eav.svc.cluster.local:8000 + - name: WORKSPACES_HOST + value: http://workspaces-service.workspaces.svc.cluster.local:8000/ + - name: COMPARISON_URL + value: http://backend-service.comparisons.svc.cluster.local:8080/ + - name: WORKFLOWS_IMAGE_VERSION + value: master + - name: EXTERNAL_DOCUMENTATION_URL + value: http://documentations-service.documentations.svc.cluster.local:8080/ + - name: WORKFLOWS_BIMV2_INTERNAL_HOST + value: http://backend-service.bim.svc.cluster.local:8000/ + - name: ENABLE_SSL + value: '0' + - name: WORKFLOWS_DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000 diff --git a/apps/comparisons/dsinv/frontend.yaml b/apps/comparisons/dsinv/frontend.yaml new file mode 100644 index 0000000..f787cb0 --- /dev/null +++ b/apps/comparisons/dsinv/frontend.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend + namespace: comparisons +spec: + template: + spec: + containers: + - name: frontend + image: cr.yandex/crp3ccidau046kdj8g9q/comparisons-frontend-static:9c422e6cd514603ea4092ed2430634cf4995039d diff --git a/apps/comparisons/dsinv/kustomization.yaml b/apps/comparisons/dsinv/kustomization.yaml new file mode 100644 index 0000000..55fc114 --- /dev/null +++ b/apps/comparisons/dsinv/kustomization.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: comparisons +resources: +- ../base +patches: +- path: backend.yaml + target: + kind: Deployment + name: backend +- path: frontend.yaml + target: + kind: Deployment + name: frontend diff --git a/apps/control-interface/dsinv/frontend.yaml b/apps/control-interface/dsinv/frontend.yaml new file mode 100644 index 0000000..f9af49d --- /dev/null +++ b/apps/control-interface/dsinv/frontend.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: frontend + namespace: control-interface +spec: + values: + services: + frontend: + image: + name: + _default: cr.yandex/crp3ccidau046kdj8g9q/srx-admin:prod_8ef5bb19 diff --git a/apps/control-interface/dsinv/kustomization.yaml b/apps/control-interface/dsinv/kustomization.yaml new file mode 100644 index 0000000..77e8cc1 --- /dev/null +++ b/apps/control-interface/dsinv/kustomization.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: control-interface +resources: +- ../base +patches: +- path: frontend.yaml + target: + kind: HelmRelease + name: frontend diff --git a/apps/django/dsinv/backend.yaml b/apps/django/dsinv/backend.yaml new file mode 100644 index 0000000..074397e --- /dev/null +++ b/apps/django/dsinv/backend.yaml @@ -0,0 +1,110 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend + namespace: django +spec: + replicas: 2 + template: + spec: + containers: + - name: backend + image: cr.yandex/crp3ccidau046kdj8g9q/backend:production_c0c6bbb1 + env: + - name: GK_ENCRYPTION_KEY + value: zfDjuszywHSbAhY8KJQbESbpUYN74XTs + - name: SERVER_DONSTROI_STYLE + value: 'True' + - name: SERVER_API_HOST + value: https://sarex.dsinv.ru + - name: SERVER_VERIFY_SSL + value: 'False' + - name: SERVER_SUPERSET_HOST + value: https://bi.sarex.dsinv.ru + - name: GATEWAY_HOST + value: http://pdm-api.documentations.svc.cluster.local:8080 + - name: KC_DEFAULT_COMPANY_NAME + value: Донстрой + - name: KC_SYNC_USER_GROUPS + value: '0' + - name: SERVER_ZITADEL_ENABLED + value: 'False' + - name: KC_SYNC_USER_POSITIONS + value: '0' + - name: KC_SYNC_USER_DEPARTMENTS + value: '0' + - name: SERVER_CHANGELOG_MODE_CELERY + value: 'True' + - name: SERVER_CHANGELOG_MODE_SYSTEM_LOG + value: 'True' + - name: DJANGO_SETTINGS_MODULE + value: config.settings.production + - name: CC_PATH + value: /usr/local/bin/CloudCompare + - name: CC_COMPARISONS_BASE_DIR + value: /tmp + - name: PCVT_PATH + value: /usr/local/bin/PotreeConverter + - name: POTREE_CONVERTER_PATH + value: /usr/local/bin/PotreeConverter + - name: WORKFLOWS_BASE_HOST + value: http://backend.django.svc.cluster.local:8000 + - name: WORKFLOWS_HOST + value: http://workflows-service.workflow.svc.cluster.local:8000 + - name: WORKFLOWS_PREFIX + value: /api/v1 + - name: SERVER_HOST + value: https://sarex.dsinv.ru + - name: S3_HOST + value: http://minio-service.minio.svc.cluster.local:9000 + - name: AWS_S3_ENDPOINT_URL + value: http://minio-service.minio.svc.cluster.local:9000 + - name: MEASUREMENTS_USE_MEASUREMENTS + value: '1' + - name: MEASUREMENTS_HOST + value: http://measurement-service.measurements.svc.cluster.local:8000/api + - name: SERVER_USE_DJANGO_STORAGE + value: '1' + - name: SERVER_DJANGO_URLS + value: '1' + - name: SERVER_S3_STREAM_IMPORT + value: '1' + - name: WORKFLOWS_USE + value: '1' + - name: SERVER_KAFKA_ENABLED + value: 'True' + - name: KAFKA_TOPICS + value: '{"planning": "message-hub-stage", "ams-sync": "ams-sync"}' + - name: KAFKA_BOOTSTRAP_SERVERS + value: '["donstroi-kafka-bootstrap.kafka.svc.cluster.local:9093"]' + - name: KAFKA_SECURITY_PROTOCOL + value: SSL + - name: KAFKA_SASL_MECHANISM + value: SCRAM-SHA-512 + - name: KAFKA_SSL_CAFILE + value: /etc/ca-certificates/Yandex/YandexInternalRootCA.crt + - name: WORKFLOWS_REGISTRY + value: cr.yandex/crp3ccidau046kdj8g9q + - name: DJANGO_REDIS_HOST + value: redis-service.django.svc.cluster.local + - name: DJANGO_RABBIT_HOSTNAME + value: rabbitmq-service.django.svc.cluster.local + - name: CELERY_RABBITMQ_HOST + value: rabbitmq-service.django.svc.cluster.local + - name: DJANGO_POSTGRES_HOST + value: postgres-service + - name: DJANGO_POSTGRES_PORTS + value: '5432' + - name: ALLOWED_HOSTS + value: '*' + - name: USE_SSL_FOR_URL_SERIALIZATION + value: '0' + - name: SERVER_REPLACE_HOST + value: '1' + - name: SERVER_JWT_PROXY + value: '0' + - name: PDM_SYNC + value: '1' + - name: CELERY_REDIS_HOST + value: redis-service diff --git a/apps/django/dsinv/celery.yaml b/apps/django/dsinv/celery.yaml new file mode 100644 index 0000000..2a8b34a --- /dev/null +++ b/apps/django/dsinv/celery.yaml @@ -0,0 +1,87 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: celery + namespace: django +spec: + template: + spec: + containers: + - name: celery + image: cr.yandex/crp3ccidau046kdj8g9q/backend:production_c0c6bbb1 + env: + - name: DJANGO_SETTINGS_MODULE + value: config.settings.production + - name: CC_PATH + value: /usr/local/bin/CloudCompare + - name: CC_COMPARISONS_BASE_DIR + value: /tmp + - name: AWS_S3_ENDPOINT_URL + value: http://minio-service.minio.svc.cluster.local:9000 + - name: PCVT_PATH + value: /usr/local/bin/PotreeConverter + - name: POTREE_CONVERTER_PATH + value: /usr/local/bin/PotreeConverter + - name: WORKFLOWS_BASE_HOST + value: http://backend.django.svc.cluster.local:8000 + - name: WORKFLOWS_HOST + value: https://sarex.dsinv.ru + - name: SERVER_CACHE_ENABLED + value: 'True' + - name: SERVER_API_HOST + value: https://sarex.dsinv.ru + - name: SERVER_VERIFY_SSL + value: 'False' + - name: SERVER_HOST + value: https://sarex.dsinv.ru + - name: S3_HOST + value: http://minio-service.minio.svc.cluster.local:9000 + - name: MEASUREMENTS_USE_MEASUREMENTS + value: '1' + - name: MEASUREMENTS_HOST + value: http://measurements-service.measurements.svc.cluster.local:8000/api + - name: SERVER_USE_DJANGO_STORAGE + value: '1' + - name: SERVER_DJANGO_URLS + value: '1' + - name: CACHE_HOST + value: redis.pm.svc.cluster.local + - name: SERVER_DONSTROI_STYLE + value: 'True' + - name: SERVER_S3_STREAM_IMPORT + value: '1' + - name: WORKFLOWS_USE + value: '1' + - name: WORKFLOWS_REGISTRY + value: cr.yandex/crp3ccidau046kdj8g9q + - name: CELERY_REDIS_HOST + value: redis-service + - name: CELERY_RABBITMQ_HOST + value: rabbitmq-service.django.svc.cluster.local + - name: DJANGO_POSTGRES_HOST + value: postgres-service + - name: SERVER_KAFKA_ENABLED + value: 'True' + - name: KAFKA_TOPICS + value: '{"planning": "message-hub-stage", "ams-sync": "ams-sync"}' + - name: KAFKA_BOOTSTRAP_SERVERS + value: '["donstroi-kafka-bootstrap.kafka.svc.cluster.local:9093"]' + - name: KAFKA_SECURITY_PROTOCOL + value: SSL + - name: KAFKA_SASL_MECHANISM + value: SCRAM-SHA-512 + - name: KAFKA_SSL_CAFILE + value: /etc/ca-certificates/Yandex/YandexInternalRootCA.crt + - name: DJANGO_POSTGRES_PORTS + value: '5432' + - name: ALLOWED_HOSTS + value: '*' + - name: USE_SSL_FOR_URL_SERIALIZATION + value: '0' + - name: SERVER_REPLACE_HOST + value: '1' + - name: SERVER_JWT_PROXY + value: '1' + - name: PDM_SYNC + value: '1' diff --git a/apps/django/dsinv/export-project.yaml b/apps/django/dsinv/export-project.yaml new file mode 100644 index 0000000..021a59d --- /dev/null +++ b/apps/django/dsinv/export-project.yaml @@ -0,0 +1,69 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: export-project + namespace: django + labels: + app: export-project + k8slens-edit-resource-version: v1 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: export-project + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: export-project + spec: + containers: + - env: + - name: TIMEOUT + value: '180' + image: cr.yandex/crp3ccidau046kdj8g9q/export-project:prod_37a48176 + imagePullPolicy: IfNotPresent + name: export-project + ports: + - containerPort: 8000 + name: http + protocol: TCP + resources: + limits: + cpu: '2' + memory: 8Gi + requests: + cpu: '1' + memory: 512Mi + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 +--- +apiVersion: v1 +kind: Service +metadata: + name: export-project-service + namespace: django + labels: {} +spec: + ports: + - port: 8000 + protocol: TCP + targetPort: 8000 + selector: + app: export-project + sessionAffinity: None + type: ClusterIP diff --git a/apps/django/dsinv/frontend.yaml b/apps/django/dsinv/frontend.yaml new file mode 100644 index 0000000..7010cc6 --- /dev/null +++ b/apps/django/dsinv/frontend.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend + namespace: django +spec: + template: + spec: + containers: + - name: frontend + image: cr.yandex/crp3ccidau046kdj8g9q/sarex-frontend-dev:contour_5.15.7 diff --git a/apps/django/dsinv/kustomization.yaml b/apps/django/dsinv/kustomization.yaml new file mode 100644 index 0000000..cc8d355 --- /dev/null +++ b/apps/django/dsinv/kustomization.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: django +resources: +- ../base +- export-project.yaml +patches: +- path: backend.yaml + target: + kind: Deployment + name: backend +- path: celery.yaml + target: + kind: Deployment + name: celery +- path: frontend.yaml + target: + kind: Deployment + name: frontend diff --git a/apps/document-link/dsinv/frontend.yaml b/apps/document-link/dsinv/frontend.yaml new file mode 100644 index 0000000..7d34b6f --- /dev/null +++ b/apps/document-link/dsinv/frontend.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend + namespace: document-link +spec: + template: + spec: + containers: + - name: frontend + image: cr.yandex/crp3ccidau046kdj8g9q/document-link-frontend:21f0ef3d66575901d554ba675ba677708e4635c7 diff --git a/apps/document-link/dsinv/gatekeeper-public-link.yaml b/apps/document-link/dsinv/gatekeeper-public-link.yaml new file mode 100644 index 0000000..f5bbbac --- /dev/null +++ b/apps/document-link/dsinv/gatekeeper-public-link.yaml @@ -0,0 +1,81 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gatekeeper-public-link + namespace: document-link + labels: + app: gatekeeper-public-link +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: gatekeeper-public-link + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: gatekeeper-public-link + spec: + containers: + - args: + - --discovery-url=https://keycloak.sarex.dsinv.ru/realms/sarex/.well-known/openid-configuration + - --listen=0.0.0.0:8080 + - --enable-logging=true + - --upstream-url=http://frontend-service:80/ + - --enable-refresh-tokens=true + - --enable-session-cookies=true + - --verbose + - --resources=uri=/* + - --encryption-key=zfDjuszywHSbAhY8KJQbESbpUYN74XTs + - --secure-cookie=false + - --skip-openid-provider-tls-verify=true + env: + - name: PROXY_REDIRECTION_URL + value: https://document-link.sarex.dsinv.ru + - name: PROXY_CLIENT_ID + valueFrom: + secretKeyRef: + key: client_id + name: gatekeeper-secret + - name: PROXY_CLIENT_SECRET + valueFrom: + secretKeyRef: + key: client_secret + name: gatekeeper-secret + image: cr.yandex/crp3ccidau046kdj8g9q/gatekeeper:1.4.2 + imagePullPolicy: IfNotPresent + name: gatekeeper + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + nodeSelector: + name: generic + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 +--- +apiVersion: v1 +kind: Service +metadata: + name: gatekeeper-service-link + namespace: document-link +spec: + ports: + - port: 80 + protocol: TCP + targetPort: 8080 + selector: + app: gatekeeper-public-link + sessionAffinity: None + type: ClusterIP diff --git a/apps/document-link/dsinv/kustomization.yaml b/apps/document-link/dsinv/kustomization.yaml new file mode 100644 index 0000000..4d55c9d --- /dev/null +++ b/apps/document-link/dsinv/kustomization.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: document-link +resources: +- ../base +- gatekeeper-public-link.yaml +patches: +- path: frontend.yaml + target: + kind: Deployment + name: frontend diff --git a/apps/documentations/dsinv/documentations-api.yaml b/apps/documentations/dsinv/documentations-api.yaml new file mode 100644 index 0000000..6e6b760 --- /dev/null +++ b/apps/documentations/dsinv/documentations-api.yaml @@ -0,0 +1,110 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: documentations-api + namespace: documentations +spec: + replicas: 4 + template: + spec: + containers: + - name: documentations-api + image: cr.yandex/crp3ccidau046kdj8g9q/documentations:prod_54880e92 + env: + - name: PUBLIC_LINK_HOST + value: https://document-link.sarex.dsinv.ru + - name: POSTGRES_ADDRESS + value: postgres-service + - name: POSTGRES_PORT + value: '5432' + - name: POSTGRES_DB + value: documentations + - name: POSTGRES_POOL_SIZE + value: '20' + - name: LAST_MASTER_BIM + value: '36311' + - name: API_ADDRESS + value: 0.0.0.0:8080 + - name: API_ADDRESS_FILE + value: 0.0.0.0:8080 + - name: ENABLE_SQL_QUERY + value: '0' + - name: ENABLE_SSL + value: '0' + - name: ENABLE_MAILGUN + value: 'false' + - name: ENABLE_SMTP + value: 'true' + - name: ENABLE_S3 + value: '1' + - name: USE_BIM_INSERTER + value: '0' + - name: CONTAINER_REGISTRY + value: cr.yandex/crp3ccidau046kdj8g9q + - name: ENVIRONMENT + value: production + - name: HOST + value: http://documentations-service.documentations.svc.cluster.local:8080 + - name: FILE_STREAM_HOST + value: sarex.dsinv.ru + - name: DOCUMENTATION_URL + value: http://documentations-service.documentations.svc.cluster.local:8080/ + - name: WORKFLOW_URL + value: http://workflows-service.workflow.svc.cluster.local:8000/ + - name: WORKSPACE_URL + value: http://workspaces-service.workspaces.svc.cluster.local:8000/ + - name: BIM_API_URL + value: http://bim-api-service.bim.svc.cluster.local:8080/ + - name: BIM_API_V2_URL + value: http://backend-service.bim.svc.cluster.local:8000/ + - name: WORKSPACE_BUNDLE_VERSION + value: v1 + - name: SYSTEM_LOG_URL + value: http://api-service.system-log.svc.cluster.local:8000 + - name: DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000 + - name: MARKS_PROCESSING_URL + value: http://marks-service.documentations.svc.cluster.local:8000 + - name: NAMESPACE + value: documentations + - name: DOCUMENT_PUBLIC_LINK_JWT_EXPIRATION_MINUTES + value: '5' + - name: DJANGO_ORIGINATOR + value: docs_prod + - name: WORKFLOW_IMAGES_VERSION + value: master + - name: WORKSPACE_V2_EXTERNAL_URL + value: https://sarex.dsinv.ru/workspaces-v2/ + - name: WORKFLOWS_IMAGES_VERSION + value: master + - name: FLOWS_URL + value: http://backend-service.flows.svc.cluster.local:8000 + - name: S3_SERVICE_ACCOUNT + value: /etc/sarex/yc-s3-storage/yc-s3-service-account.json + - name: READ_WRITE_TIMEOUT_FILE_STREAM + value: 6h + - name: CACHE_DEFAULT_EXPIRATION + value: 60s + - name: CACHE_CLEANUP_INTERVAL + value: 60s + - name: USE_CACHE_IN_FILE_STREAMER + value: '1' + - name: IS_CONVERTED_PDF_UPLOADING_TO_S3 + value: 'false' + - name: TRACER_USE + value: '0' + - name: TRACER_HOST + value: signoz-otel-collector-external.signoz.svc.cluster.local:4317 + - name: SERVICE_NAME + value: documentations-api.documentations-prod + - name: SERVICE_NAME_FILESTREAM + value: filestream-api.documentations-prod + - name: TRACER_USE_INSECURE + value: '1' + - name: DELETE_S3D_AFTER_MESHOPT + value: 'true' + - name: CONVERT_DWG_TO_GEOJSON + value: 'false' + - name: CONVERT_DXF_TO_GEOJSON + value: 'false' diff --git a/apps/documentations/dsinv/documentations-filestream.yaml b/apps/documentations/dsinv/documentations-filestream.yaml new file mode 100644 index 0000000..d919e17 --- /dev/null +++ b/apps/documentations/dsinv/documentations-filestream.yaml @@ -0,0 +1,74 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: documentations-filestream + namespace: documentations +spec: + replicas: 3 + template: + spec: + containers: + - name: documentations-filestream + image: cr.yandex/crp3ccidau046kdj8g9q/documentations-api-files:prod_54880e92 + env: + - name: POSTGRES_ADDRESS + value: postgres-service + - name: POSTGRES_PORT + value: '5432' + - name: POSTGRES_DB + value: documentations + - name: POSTGRES_POOL_SIZE + value: '20' + - name: API_ADDRESS + value: 0.0.0.0:8080 + - name: API_ADDRESS_FILE + value: 0.0.0.0:8080 + - name: ENABLE_SQL_QUERY + value: '1' + - name: ENABLE_SSL + value: '0' + - name: ENABLE_S3 + value: '1' + - name: CONTAINER_REGISTRY + value: cr.yandex/crp3ccidau046kdj8g9q + - name: ENVIRONMENT + value: production + - name: HOST + value: http://documentations-service.documentations.svc.cluster.local:8080 + - name: FILE_STREAM_HOST + value: sarex.dsinv.ru + - name: DOCUMENTATION_URL + value: http://documentations-service.documentations.svc.cluster.local:8080/ + - name: WORKFLOW_URL + value: http://workflows-service.workflow.svc.cluster.local:8000/ + - name: WORKSPACE_URL + value: http://workspaces-service.workspaces.svc.cluster.local:8000/ + - name: BIM_API_URL + value: http://bim-api-service.bim.svc.cluster.local:8080/ + - name: BIM_API_V2_URL + value: http://backend-service.bim.svc.cluster.local:8000/ + - name: WORKSPACE_BUNDLE_VERSION + value: v1 + - name: DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000 + - name: NAMESPACE + value: sarex-documentations + - name: DJANGO_ORIGINATOR + value: docs_prod + - name: WORKFLOW_IMAGES_VERSION + value: master + - name: WORKFLOWS_IMAGES_VERSION + value: master + - name: DOCUMENT_PUBLIC_LINK_JWT_EXPIRATION_MINUTES + value: '5' + - name: S3_SERVICE_ACCOUNT + value: /etc/sarex/yc-s3-storage/yc-s3-service-account.json + - name: READ_WRITE_TIMEOUT_FILE_STREAM + value: 6h + - name: CACHE_DEFAULT_EXPIRATION + value: 60s + - name: CACHE_CLEANUP_INTERVAL + value: 60s + - name: USE_CACHE_IN_FILE_STREAMER + value: '1' diff --git a/apps/documentations/dsinv/frontend.yaml b/apps/documentations/dsinv/frontend.yaml new file mode 100644 index 0000000..c23d8eb --- /dev/null +++ b/apps/documentations/dsinv/frontend.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend + namespace: documentations +spec: + template: + spec: + containers: + - name: frontend + image: cr.yandex/crp3ccidau046kdj8g9q/documentation-frontend-app:brusnika_b80d28d4 diff --git a/apps/documentations/dsinv/kustomization.yaml b/apps/documentations/dsinv/kustomization.yaml new file mode 100644 index 0000000..d2562b9 --- /dev/null +++ b/apps/documentations/dsinv/kustomization.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: documentations +resources: +- ../base +- pdf-markings-amqp.yaml +- pdf-markings.yaml +- stamp-verification.yaml +patches: +- path: documentations-api.yaml + target: + kind: Deployment + name: documentations-api +- path: documentations-filestream.yaml + target: + kind: Deployment + name: documentations-filestream +- path: frontend.yaml + target: + kind: Deployment + name: frontend +- path: pdm-api.yaml + target: + kind: Deployment + name: pdm-api diff --git a/apps/documentations/dsinv/pdf-markings-amqp.yaml b/apps/documentations/dsinv/pdf-markings-amqp.yaml new file mode 100644 index 0000000..455f72a --- /dev/null +++ b/apps/documentations/dsinv/pdf-markings-amqp.yaml @@ -0,0 +1,149 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: pdf-markings-amqp + namespace: documentations + labels: + app: pdf-markings-amqp + k8slens-edit-resource-version: v1 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: pdf-markings-amqp + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: pdf-markings-amqp + spec: + containers: + - env: + - name: VERIFY + value: 'False' + - name: MARKS_APP__LOG_LEVEL + value: INFO + - name: HTTP_PORT + value: '8000' + - name: MARKS_DOCUMENTS_DB__HOST + value: postgres-service + - name: MARKS_DOCUMENTS_DB__PORT + value: '5432' + - name: MARKS_DOCUMENTS_DB__DATABASE + value: documentations + - name: DOC_POSTGRES_POOL_SIZE + value: '10' + - name: MARKS_DOCUMENTS_DB__SSLMODE + value: disable + - name: API_ADDRESS + value: 0.0.0.0:8000 + - name: DATABASE_SSL_MODE + value: disable + - name: MARKS_S3__USE_SSL + value: 'false' + - name: MARKS_S3__SSL_VERIFY + value: 'false' + - name: MARKS_S3__DEFAULT_BUCKET + value: documentations-2-donstroi + - name: ENVIRONMENT + value: production + - name: YANDEX_S3_ACCOUNT_PATH + value: /etc/sarex/yc-s3-storage/yc-s3-service-account.json + - name: MARKS_QR__REDIRECT_URL + value: https://stamp-verification.sarex.dsinv.ru/ + - name: MARKS_QR__BASE_DOCUMENT_URL + value: https://sarex.dsinv.ru + - name: MARKS_RABBITMQ__ROUTING__INPUT_QUEUE + value: pdf_markings_input + - name: MARKS_S3__REGION + value: ru-central1 + - name: MARKS_CRYPTO__HASHING_ALGO + value: md_gost12_256 + - name: MARKS_DOCUMENTS_DB__USERNAME + valueFrom: + secretKeyRef: + key: username + name: postgres-secret + - name: MARKS_DOCUMENTS_DB__PASSWORD + valueFrom: + secretKeyRef: + key: password + name: postgres-secret + - name: MARKS_S3__URL + valueFrom: + secretKeyRef: + key: endpoint_url + name: yc-s3 + - name: MARKS_S3__ACCESS_KEY + valueFrom: + secretKeyRef: + key: key_id + name: yc-s3 + - name: MARKS_S3__SECRET_KEY + valueFrom: + secretKeyRef: + key: access_key + name: yc-s3 + - name: MARKS_RABBITMQ__HOST + valueFrom: + secretKeyRef: + key: host + name: rabbitmq + - name: MARKS_RABBITMQ__PORT + valueFrom: + secretKeyRef: + key: port + name: rabbitmq + - name: MARKS_RABBITMQ__USERNAME + valueFrom: + secretKeyRef: + key: username + name: rabbitmq + - name: MARKS_RABBITMQ__PASSWORD + valueFrom: + secretKeyRef: + key: password + name: rabbitmq + - name: MARKS_RABBITMQ__VHOST + valueFrom: + secretKeyRef: + key: vhost + name: rabbitmq + - name: MARKS_RABBITMQ__HEARTBEAT_SECONDS + valueFrom: + secretKeyRef: + key: heartbeat + name: rabbitmq + image: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings-amqp:prod_84d12e68 + imagePullPolicy: IfNotPresent + name: pdf-markings-amqp + ports: + - containerPort: 8000 + name: http + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /etc/sarex/yc-s3-storage + name: yc-s3 + readOnly: true + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + volumes: + - name: yc-s3 + secret: + defaultMode: 420 + secretName: documentations-yc-s3 diff --git a/apps/documentations/dsinv/pdf-markings.yaml b/apps/documentations/dsinv/pdf-markings.yaml new file mode 100644 index 0000000..41809e1 --- /dev/null +++ b/apps/documentations/dsinv/pdf-markings.yaml @@ -0,0 +1,138 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: pdf-markings + namespace: documentations + labels: + app: pdf-markings +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: pdf-markings + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: pdf-markings + spec: + containers: + - env: + - name: RABBITMQ_HOST + value: rabbitmq-service.insert-db-documentation.svc.cluster.local:5672 + - name: RABBITMQ_USERNAME + value: sarex + - name: RABBITMQ_PASSWORD + value: QvGBXtzHCjNVAmJq4v6tKBvk76mXy6RP + - name: RABBITMQ_VHOST + value: api + - name: APP_NAME + value: pdm_v2 + - name: VERIFY + value: 'False' + - name: APP_VERSION + value: 0.0.1 + - name: LOG_LEVEL + value: INFO + - name: HTTP_PORT + value: '8000' + - name: DOC_POSTGRES_HOST + value: postgres-service + - name: DOC_POSTGRES_PORT + value: '5432' + - name: DOC_POSTGRES_DB + value: documentations + - name: DOC_POSTGRES_POOL_SIZE + value: '10' + - name: DOC_POSTGRES_SSL_MODE + value: disable + - name: API_ADDRESS + value: 0.0.0.0:8000 + - name: DATABASE_SSL_MODE + value: disable + - name: YANDEX_S3_USE_SSL + value: '0' + - name: ENVIRONMENT + value: production + - name: YANDEX_S3_ACCOUNT_PATH + value: /etc/sarex/yc-s3-storage/yc-s3-service-account.json + - name: REDIRECT_URL_QR + value: https://stamp-verification.sarex.dsinv.ru/ + - name: BASE_DOCUMENT_URL + value: https://sarex.dsinv.ru + - name: SENTRY_DSN + - name: DOC_POSTGRES_USER + valueFrom: + secretKeyRef: + key: username + name: postgres-secret + - name: DOC_POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: postgres-secret + - name: YANDEX_S3_ENDPOINT_URL + valueFrom: + secretKeyRef: + key: endpoint_url + name: yc-s3 + - name: YANDEX_S3_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + key: access_key + name: yc-s3 + - name: YANDEX_S3_ACCESS_KEY_ID + valueFrom: + secretKeyRef: + key: key_id + name: yc-s3 + image: cr.yandex/crp3ccidau046kdj8g9q/pdf-markings:prod_67df7ec7 + imagePullPolicy: IfNotPresent + name: pdf-markings + ports: + - containerPort: 8000 + name: http + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /etc/sarex/yc-s3-storage + name: yc-s3 + readOnly: true + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + nodeSelector: + name: generic + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + volumes: + - name: yc-s3 + secret: + defaultMode: 420 + secretName: documentations-yc-s3 +--- +apiVersion: v1 +kind: Service +metadata: + name: marks-service + namespace: documentations +spec: + ports: + - port: 8000 + protocol: TCP + targetPort: 8000 + selector: + app: pdf-markings + sessionAffinity: None + type: ClusterIP diff --git a/apps/documentations/dsinv/pdm-api.yaml b/apps/documentations/dsinv/pdm-api.yaml new file mode 100644 index 0000000..6fdfc30 --- /dev/null +++ b/apps/documentations/dsinv/pdm-api.yaml @@ -0,0 +1,120 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: pdm-api + namespace: documentations +spec: + replicas: 3 + template: + spec: + containers: + - name: pdm-api + image: cr.yandex/crp3ccidau046kdj8g9q/pdmv2:prod_542e5343 + env: + - name: OBSERVABILITY_COLLECTOR_ENDPOINT + value: temp + - name: USE_SUBSCRIPTIONS + value: 'false' + - name: RELEASES_URL + value: https://gitlab.com + - name: APP_NAME + value: pdm_v2 + - name: APP_VERSION + value: 0.0.1 + - name: LOG_LEVEL + value: INFO + - name: HTTP_PORT + value: '8080' + - name: POSTGRES_ADDRESS + value: postgres-service.documentations.svc.cluster.local + - name: POSTGRES_PORT + value: '5432' + - name: POSTGRES_DB + value: documentations + - name: POSTGRES_POOL_SIZE + value: '20' + - name: API_ADDRESS + value: 0.0.0.0:8080 + - name: API_ADDRESS_FILE + value: 0.0.0.0:8080 + - name: ENABLE_OBSERVABILITY + value: 'false' + - name: ENABLE_SSL + value: '0' + - name: ENABLE_S3 + value: '1' + - name: DOCUMENTATION_URL + value: http://documentations-service.documentations.svc.cluster.local:8080/ + - name: WORKFLOW_URL + value: http://workflows-service.workflow.svc.cluster.local:8000/ + - name: WORKSPACE_URL + value: http://workspaces-service.workspaces.svc.cluster.local:8000 + - name: BIM_API_V2_URL + value: http://backend-service.bim.svc.cluster.local:8000/ + - name: BIM_V2_HOST + value: http://backend-service.bim.svc.cluster.local:8000/ + - name: WORKSPACE_BUNDLE_VERSION + value: v1 + - name: DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000 + - name: NAMESPACE + value: documentations + - name: DJANGO_ORIGINATOR + value: docs_prod + - name: FLOWS_URL + value: http://backend-service.flows.svc.cluster.local:8000 + - name: RESOURCES_URL + value: http://resources-service.resources.svc.cluster.local:8000 + - name: REMARKS_URL + value: http://remarks-static-service.remarks.svc.cluster.local:8080/remarks + - name: ATTACHMENTS_URL + value: http://attachments-service.attachments.svc.cluster.local:80 + - name: WORKFLOW_IMAGES_VERSION + value: master + - name: WORKFLOWS_IMAGES_VERSION + value: master + - name: WORKFLOWS_IMAGES_VERSION + value: master + - name: INSPECTIONS_URL + value: http://inspections-service.inspections + - name: STATES_URL + value: http://workspaces-service.workspaces.svc.cluster.local:8000/ + - name: WIDTH_THUMB_STATES + value: '120' + - name: HEIGHT_THUMB_STATES + value: '73' + - name: WIDTH_THUMB_ATTACHMENTS + value: '300' + - name: HEIGHT_THUMB_ATTACHMENTS + value: '300' + - name: ENABLE_PERMISSIONS_FILTER + value: '1' + - name: PERMISSIONS_FILTER_COMPANIES + value: '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]' + - name: SUBSCRIPTIONS_URL + value: http://sarex-subscriptions-service.subscriptions + - name: SYSTEM_LOG_URL + value: http://api-service.system-log.svc.cluster.local:8000 + - name: API_HOST_PREFIX + value: /gateway + - name: TARGET_URL + value: http://backend.django.svc.cluster.local:8000 + - name: EAV_URL + value: http://eav-service.eav.svc.cluster.local:8000 + - name: NOTES_URL + value: http://backend-service.notes.svc.cluster.local:8000 + - name: S3_SERVICE_ACCOUNT + value: /etc/sarex/yc-s3-storage/yc-s3-service-account.json + - name: READ_WRITE_TIMEOUT_FILE_STREAM + value: 6h + - name: CACHE_DEFAULT_EXPIRATION + value: 60s + - name: CACHE_CLEANUP_INTERVAL + value: 60s + - name: USE_CACHE_IN_FILE_STREAMER + value: '1' + - name: ENVIRONMENT + value: prod + - name: TRANSMITTALS_BASE_URL + value: http://transmittal-service.transmittals.svc.cluster.local:80 diff --git a/apps/documentations/dsinv/stamp-verification.yaml b/apps/documentations/dsinv/stamp-verification.yaml new file mode 100644 index 0000000..c28e0a4 --- /dev/null +++ b/apps/documentations/dsinv/stamp-verification.yaml @@ -0,0 +1,59 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stamp-verification + namespace: documentations + labels: + app: stamp-verification +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: stamp-verification + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: stamp-verification + spec: + containers: + - image: cr.yandex/crp3ccidau046kdj8g9q/stamp-verification-frontend:df166f698f2812f1db1e989305db936df88da09e + imagePullPolicy: Always + name: stamp-verification-frontend + ports: + - containerPort: 8080 + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + nodeSelector: + name: generic + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 +--- +apiVersion: v1 +kind: Service +metadata: + name: stamp-verification-frontend-service + namespace: documentations +spec: + ports: + - port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app: stamp-verification + sessionAffinity: None + type: ClusterIP diff --git a/apps/eav/dsinv/backend.yaml b/apps/eav/dsinv/backend.yaml new file mode 100644 index 0000000..ea240c3 --- /dev/null +++ b/apps/eav/dsinv/backend.yaml @@ -0,0 +1,27 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend + namespace: eav +spec: + template: + spec: + containers: + - name: backend + image: cr.yandex/crp3ccidau046kdj8g9q/eav:prod_ddce2b51 + env: + - name: DJANGO_SETTINGS_MODULE + value: config.settings.production + - name: ASSETS_TOPIC + value: sarex + - name: KAFKA_SSL_CAFILE + value: /usr/local/share/ca-certificates/ca.crt + - name: DJANGO_POSTGRES_HOST + value: postgres-service + - name: DJANGO_POSTGRES_DATABASE + value: eav_db + - name: YC_S3_ENDPOINT_URL + value: http://minio-service.minio.svc.cluster.local:9000 + - name: YC_S3_BUCKET_NAME + value: eav diff --git a/apps/eav/dsinv/kustomization.yaml b/apps/eav/dsinv/kustomization.yaml new file mode 100644 index 0000000..0733885 --- /dev/null +++ b/apps/eav/dsinv/kustomization.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: eav +resources: +- ../base +patches: +- path: backend.yaml + target: + kind: Deployment + name: backend diff --git a/apps/flows/dsinv/backend.yaml b/apps/flows/dsinv/backend.yaml new file mode 100644 index 0000000..1daaea0 --- /dev/null +++ b/apps/flows/dsinv/backend.yaml @@ -0,0 +1,92 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend + namespace: flows +spec: + replicas: 2 + template: + spec: + containers: + - name: backend + image: cr.yandex/crp3ccidau046kdj8g9q/flows-backend:production_a5d748f0 + env: + - name: DEBUG + value: 'false' + - name: PLANNING_HOST + value: http://backend-service.pm.svc.cluster.local:8000/api/pm/msp + - name: PLANNING_USE + value: 'True' + - name: PG_PORT + value: '5432' + - name: EAV_HOST + value: http://eav-service.eav.svc.cluster.local:8000 + - name: PROXY_PATH_PREFIX + value: /flows + - name: DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000/api + - name: DOCUMENTATION_TIMEOUT + value: '240' + - name: DOCUMENTATION_HOST + value: http://documentations-service.documentations.svc.cluster.local:8080/internal/v1 + - name: DOCUMENTATION_EXTERNAL_HOST + value: http://documentations-service.documentations.svc.cluster.local:8080/api/v1 + - name: BASE_HOST + value: https://sarex.dsinv.ru + - name: DOCUMENTATION_PG_PORT + value: '5432' + - name: DOCUMENTATION_PG_DATABASE + value: documentations + - name: DOCUMENTATION_PG_HOST + value: postgres-service.documentations.svc.cluster.local + - name: WORKFLOWS_HOST + value: http://workflows-service.workflow.svc.cluster.local:8000/api/v1 + - name: WORKFLOWS_NOTIFICATIONS_REGISTRY + value: cr.yandex/crp3ccidau046kdj8g9q + - name: WORKFLOWS_NOTIFICATIONS_SMTP_HOST + value: relay.dsinv.ru + - name: WORKFLOWS_NOTIFICATIONS_SMTP_PORT + value: '25' + - name: WORKFLOWS_NOTIFICATIONS_FROM_EMAI + value: sarex@dsinv.ru + - name: NOTIFICATION_SETTINGS_USE_MAILGUN + value: '0' + - name: RESOURCES_HOST + value: http://resources-service.resources.svc.cluster.local:8000 + - name: ENABLE_METRICS + value: '0' + - name: ENABLE_MAILGUN + value: '0' + - name: SMTP_HOST + value: relay.dsinv.ru + - name: SMTP_PORT + value: '25' + - name: FROM_EMAIL + value: sarex@dsinv.ru + - name: TIMEOUT + value: '240' + - name: WORKFLOWS_TIMEOUT + value: '20' + - name: RESOURCE_URL + value: http://resources-service.resources.svc.cluster.local:8000/ + - name: GATEWAY_URL + value: http://pdm-api.documentations.svc.cluster.local:8080/ + - name: SYNC_RESOURCE_ID + value: '1' + - name: SERVICE_HOST + value: https://sarex.dsinv.ru/flows/api/v1 + - name: ENABLE_ANALYTICS + value: '1' + - name: ENABLE_CELERY + value: '1' + - name: CELERY_QUEUE + value: flow + - name: RABBITMQ_HOST + value: rabbitmq-service.flows.svc + - name: RABBITMQ_PORT + value: '5672' + - name: RABBITMQ_VHOST + value: flow + - name: PG_HOST + value: postgres-service.flows.svc.cluster.local diff --git a/apps/flows/dsinv/celery.yaml b/apps/flows/dsinv/celery.yaml new file mode 100644 index 0000000..c77e992 --- /dev/null +++ b/apps/flows/dsinv/celery.yaml @@ -0,0 +1,93 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: celery + namespace: flows +spec: + template: + spec: + containers: + - name: celery + image: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worker:production_a5d748f0 + env: + - name: WORKFLOWS_NOTIFICATIONS_FROM_EMAIL + value: sarex@dsinv.ru + - name: ENABLE_METRICS + value: '0' + - name: ENABLE_MAILGUN + value: '0' + - name: SMTP_HOST + value: relay.dsinv.ru + - name: SMTP_PORT + value: '25' + - name: FROM_EMAIL + value: sarex@dsinv.ru + - name: MAILGUN_HOST + value: http:localhost:8000 + - name: MAILGUN_API_KEY + value: empty + - name: NOTIFICATION_SETTINGS_USE_MAILGUN + value: '0' + - name: WORKFLOWS_HOST + value: http://workflows-service.workflow.svc.cluster.local:8000/api/v1 + - name: FLOWS_HOST + value: http://backend-service.flows.svc.cluster.local:8000 + - name: WORKFLOWS_NOTIFICATIONS_REGISTRY + value: cr.yandex/crp3ccidau046kdj8g9q + - name: WORKFLOWS_NOTIFICATIONS_SMTP_HOST + value: relay.dsinv.ru + - name: WORKFLOWS_NOTIFICATIONS_SMTP_PORT + value: '25' + - name: PLANNING_HOST + value: http://backend-service.pm.svc.cluster.local:8000/api/pm/msp + - name: PLANNING_USE + value: 'True' + - name: WORKFLOWS_NOTIFICATIONS_FROM_EMAI + value: sarex@dsinv.ru + - name: FLOWS_DB_HOST + value: postgres-service.flows.svc.cluster.local + - name: ISSUES_DB_HOST + value: postgres-service.issues.svc.cluster.local + - name: DEBUG + value: '0' + - name: PG_PORT + value: '5432' + - name: FLOWS_DB_PORT + value: '5432' + - name: ISSUES_DB_PORT + value: '5432' + - name: DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000/api + - name: DJANGO_BASE_HOST + value: https://sarex.dsinv.ru + - name: DOCUMENTATION_HOST + value: http://documentations-service.documentations.svc.cluster.local:8080/internal/v1 + - name: BASE_HOST + value: https://sarex.dsinv.ru + - name: RESOURCES_HOST + value: http://resources-service.resources.svc.cluster.local:8000/ + - name: TIMEOUT + value: '120' + - name: RESOURCE_URL + value: http://resources-service.resources/api/v1 + - name: GATEWAY_URL + value: http://pdm-api.documentations.svc.cluster.local:8080/api/v1 + - name: SYNC_RESOURCE_ID + value: '1' + - name: SERVICE_HOST + value: https://sarex.dsinv.ru/flows/api/v1 + - name: ENABLE_ANALYTICS + value: '1' + - name: ENABLE_CELERY + value: '1' + - name: CELERY_QUEUE + value: flow + - name: RABBITMQ_HOST + value: rabbitmq-service.flows.svc + - name: RABBITMQ_PORT + value: '5672' + - name: RABBITMQ_VHOST + value: flow + - name: PG_HOST + value: postgres-service.flows.svc.cluster.local diff --git a/apps/flows/dsinv/export-reviews.yaml b/apps/flows/dsinv/export-reviews.yaml new file mode 100644 index 0000000..6eb5c2e --- /dev/null +++ b/apps/flows/dsinv/export-reviews.yaml @@ -0,0 +1,81 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: export-reviews + namespace: flows + labels: + app: export-reviews +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: export-reviews + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: export-reviews + spec: + containers: + - env: + - name: BASE_HOST + value: https://sarex.dsinv.ru + - name: DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000 + - name: REVIEWS_HOST + value: http://backend-service.flows.svc.cluster.local:8000 + - name: GATEWAY_HOST + value: http://pdm-api.documentations.svc.cluster.local:8080 + - name: DJANGO_TIMEOUT + value: '180' + - name: REVIEWS_TIMEOUT + value: '180' + - name: GATEWAY_TIMEOUT + value: '180' + - name: DOCUMENTATIONS_HOST + value: http://documentations-service.documentations.svc.cluster.local:8080 + - name: DOCUMENTATIONS_TIMEOUT + value: '180' + - name: TIMEOUT + value: '180' + - name: VERIFY_HTTPS + value: 'false' + image: cr.yandex/crp3ccidau046kdj8g9q/export-reviews:preprod_1ba89807 + imagePullPolicy: IfNotPresent + name: export-reviews + ports: + - containerPort: 8000 + name: http + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 +--- +apiVersion: v1 +kind: Service +metadata: + name: export-reviews + namespace: flows +spec: + ports: + - port: 8000 + protocol: TCP + targetPort: 8000 + selector: + app: export-reviews + sessionAffinity: None + type: ClusterIP diff --git a/apps/flows/dsinv/frontend.yaml b/apps/flows/dsinv/frontend.yaml new file mode 100644 index 0000000..2665046 --- /dev/null +++ b/apps/flows/dsinv/frontend.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend + namespace: flows +spec: + template: + spec: + containers: + - name: frontend + image: cr.yandex/crp3ccidau046kdj8g9q/flows-frontend:contour_bad7aeb2 diff --git a/apps/flows/dsinv/kustomization.yaml b/apps/flows/dsinv/kustomization.yaml new file mode 100644 index 0000000..0f1f7e1 --- /dev/null +++ b/apps/flows/dsinv/kustomization.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: flows +resources: +- ../base +- export-reviews.yaml +- reviews-frontend.yaml +- worker-celery-beat.yaml +patches: +- path: backend.yaml + target: + kind: Deployment + name: backend +- path: celery.yaml + target: + kind: Deployment + name: celery +- path: frontend.yaml + target: + kind: Deployment + name: frontend diff --git a/apps/flows/dsinv/reviews-frontend.yaml b/apps/flows/dsinv/reviews-frontend.yaml new file mode 100644 index 0000000..eff0bd9 --- /dev/null +++ b/apps/flows/dsinv/reviews-frontend.yaml @@ -0,0 +1,85 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reviews-frontend + namespace: flows + labels: + app: reviews-frontend +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: reviews-frontend + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: reviews-frontend + version: stable + spec: + containers: + - image: cr.yandex/crp3ccidau046kdj8g9q/reviews-frontend:contour_71b77f8d + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 10 + httpGet: + path: /ping + port: 80 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 60 + successThreshold: 1 + timeoutSeconds: 1 + name: reviews-frontend + ports: + - containerPort: 80 + name: http + protocol: TCP + readinessProbe: + failureThreshold: 20 + httpGet: + path: /ping + port: 80 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 30 + successThreshold: 1 + timeoutSeconds: 1 + resources: + requests: + cpu: 100m + memory: 100Mi + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + nodeSelector: + name: generic + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 +--- +apiVersion: v1 +kind: Service +metadata: + name: reviews-frontend-service + namespace: flows +spec: + ports: + - name: http + port: 80 + protocol: TCP + targetPort: 80 + selector: + app: reviews-frontend + sessionAffinity: None + type: ClusterIP diff --git a/apps/flows/dsinv/worker-celery-beat.yaml b/apps/flows/dsinv/worker-celery-beat.yaml new file mode 100644 index 0000000..191d629 --- /dev/null +++ b/apps/flows/dsinv/worker-celery-beat.yaml @@ -0,0 +1,251 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: worker-celery-beat + namespace: flows + labels: + app: worker-celery-beat +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: worker-celery-beat + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: worker-celery-beat + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - worker-celery-beat + topologyKey: kubernetes.io/hostname + containers: + - command: + - celery + - -A + - src.worker + - beat + - -l + - DEBUG + env: + - name: WORKFLOWS_NOTIFICATIONS_FROM_EMAIL + value: sarex@dsinv.ru + - name: ENABLE_METRICS + value: '0' + - name: ENABLE_MAILGUN + value: '0' + - name: SMTP_HOST + value: relay.dsinv.ru + - name: SMTP_PORT + value: '25' + - name: FROM_EMAIL + value: sarex@dsinv.ru + - name: MAILGUN_HOST + value: http:localhost:8000 + - name: MAILGUN_API_KEY + value: empty + - name: NOTIFICATION_SETTINGS_USE_MAILGUN + value: '0' + - name: WORKFLOWS_HOST + value: http://workflows-service.workflow.svc.cluster.local:8000/api/v1 + - name: FLOWS_HOST + value: http://backend-service.flows.svc.cluster.local:8000 + - name: WORKFLOWS_NOTIFICATIONS_REGISTRY + value: cr.yandex/crp3ccidau046kdj8g9q + - name: WORKFLOWS_NOTIFICATIONS_SMTP_HOST + value: relay.dsinv.ru + - name: WORKFLOWS_NOTIFICATIONS_SMTP_PORT + value: '25' + - name: PLANNING_HOST + value: http://backend-service.pm.svc.cluster.local:8000/api/pm/msp + - name: PLANNING_USE + value: 'True' + - name: WORKFLOWS_NOTIFICATIONS_FROM_EMAI + value: sarex@dsinv.ru + - name: FLOWS_DB_HOST + value: postgres-service.flows.svc.cluster.local + - name: FLOWS_DB_DB + valueFrom: + secretKeyRef: + key: database + name: postgres-secret + - name: FLOWS_DB_USERNAME + valueFrom: + secretKeyRef: + key: username + name: postgres-secret + - name: FLOWS_DB_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: postgres-secret + - name: ISSUES_DB_HOST + value: postgres-service.issues.svc.cluster.local + - name: ISSUES_DB_DB + valueFrom: + secretKeyRef: + key: database + name: postgres-secret-issues + - name: ISSUES_DB_USERNAME + valueFrom: + secretKeyRef: + key: username + name: postgres-secret-issues + - name: ISSUES_DB_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: postgres-secret-issues + - name: DEBUG + value: '0' + - name: PG_PORT + value: '5432' + - name: FLOWS_DB_PORT + value: '5432' + - name: ISSUES_DB_PORT + value: '5432' + - name: DJANGO_HOST + value: http://backend.django.svc.cluster.local:8000/api + - name: DJANGO_BASE_HOST + value: https://sarex.dsinv.ru + - name: DJANGO_AUTH + valueFrom: + secretKeyRef: + key: token + name: django-secret + - name: DOCUMENTATION_HOST + value: http://documentations-service.documentations.svc.cluster.local:8080/internal/v1 + - name: BASE_HOST + value: https://sarex.dsinv.ru + - name: RESOURCES_HOST + value: http://resources-service.resources.svc.cluster.local:8000/ + - name: TIMEOUT + value: '120' + - name: RESOURCE_URL + value: http://resources-service.resources/api/v1 + - name: GATEWAY_URL + value: http://pdm-api.documentations.svc.cluster.local:8080/api/v1 + - name: SYNC_RESOURCE_ID + value: '1' + - name: SERVICE_HOST + value: https://sarex.dsinv.ru/flows/api/v1 + - name: ENABLE_ANALYTICS + value: '1' + - name: ENABLE_CELERY + value: '1' + - name: CELERY_QUEUE + value: flow + - name: RABBITMQ_HOST + value: rabbitmq-service.flows.svc + - name: RABBITMQ_PORT + value: '5672' + - name: RABBITMQ_VHOST + value: flow + - name: PG_HOST + value: postgres-service.flows.svc.cluster.local + - name: PG_DB + valueFrom: + secretKeyRef: + key: database + name: postgres-secret + - name: PG_LOGIN + valueFrom: + secretKeyRef: + key: username + name: postgres-secret + - name: PG_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: postgres-secret + - name: DJANGO_TOKEN + valueFrom: + secretKeyRef: + key: token + name: django-secret + - name: RABBITMQ_USERNAME + valueFrom: + secretKeyRef: + key: username + name: rabbitmq-secret + - name: RABBITMQ_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: rabbitmq-secret + image: cr.yandex/crp3ccidau046kdj8g9q/flows-backend_worke:dsinv_700a79e5 + imagePullPolicy: IfNotPresent + name: worker-celery-beat + ports: + - containerPort: 8000 + name: http + protocol: TCP + resources: + requests: + cpu: '1' + memory: 512Mi + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /opt/src/worker/notifications_task.py + name: notifications-task + subPath: notifications_task.py + - mountPath: /opt/src/worker/templates/daily_digest.html + name: daily-digest + subPath: daily_digest.html + dnsPolicy: ClusterFirst + imagePullSecrets: + - name: dockerhub + nodeSelector: + name: generic + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + volumes: + - configMap: + defaultMode: 420 + items: + - key: notifications_task.py + path: notifications_task.py + name: notifications-task + name: notifications-task + - configMap: + defaultMode: 420 + items: + - key: daily_digest.html + path: daily_digest.html + name: daily-digest + name: daily-digest +--- +apiVersion: v1 +data: + daily_digest.html: "{% extends \"base_email.html\" %}\n\n{%- macro expiration_date(date, today) -%}\n{%- if date -%}\n{{\n date.strftime('%d.%m.%Y')\n}}\n{%- else -%}\nБез срока\n{%- endif -%}\n{%- endmacro %}\n\n{%- macro review_link(review, base_host) -%}\n{{ review['review_name'] | e }}\n{%- endmacro %}\n\n{%- block content %}\n
На сегодня в Sarex вашей реакции ждут следующие согласования:
\n\n{% if force_headers or len(expired_reviews) + len(ongoing_reviews) > 0 -%}\nСогласования ({{ ongoing_reviews | length + expired_reviews | length }}):
\n{%- endif %}\n\n{% if force_headers or len(expired_reviews) > 0 -%}\nПросроченные задачи ({{ expired_reviews | length }}):
\n\n Проект: {{ review['resource_name'] | e }}, Согласование: {{ review_link(review, base_host) }},
\n Шаг: {{ review['step_name'] | e }}, Срок задачи: {{ expiration_date(review['expires_at'], today) }}, ID: (# {{ review['review_id'] }} )\n
Активные задачи ({{ ongoing_reviews | length }}):
\n\n Проект: {{ review['resource_name'] | e }}, Согласование: {{ review_link(review, base_host) }},
\n Шаг: {{ review['step_name'] | e }}, Срок задачи: {{ expiration_date(review['expires_at'], today) }}, ID: (# {{ review['review_id'] }} )\n
С уважением,
команда Sarex