apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: pdm-api
  namespace: documentations

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
  driftDetection:
    mode: enabled

  values:
    global:
      env: _default

    services:
      backend:
        enabled: true

        image:
          name:
            _default: cr.yandex/crp3ccidau046kdj8g9q/pdmv2:prod_9507c2d5
          pullPolicy:
            _default: IfNotPresent

        deployment:
          enabled: true

          name:
            _default: pdm-api

          replicaCount:
            _default: 1
            stage: 1
            preprod: 3
            production: 3

          port:
            _default: 8080

          probes:
            liveness:
              enabled: false
            readiness:
              enabled: false

        service:
          enabled: true

          name:
            _default: pdm-api

          type:
            _default: ClusterIP

          port:
            _default: 8080

          targetPort:
            _default: 8080

          portName:
            _default: http

        imagePullSecrets:
          enabled:
            _default: true
          name:
            _default: regcred
        
        volumes:
          _default:
            - name: documentations-yc-s3-secret
              mountPath:
                _default: /etc/sarex/yc-s3-storage
              readOnly:
                _default: true
              secret:
                secretName:
                  _default: documentations-yc-s3

        labels:
          monitoring: prometheus
        envs:
          - name: USE_EXPERIMENTAL
            value:
              _default: "true"
          - name: API_ADDRESS
            value:
              _default: "0.0.0.0:8080"

          - name: API_ADDRESS_FILE
            value:
              _default: "0.0.0.0:8080"

          - name: API_HOST_PREFIX
            value:
              _default: "/"
          - name: APP_NAME
            value:
              _default: "pdm_v2"

          - name: APP_VERSION
            value:
              _default: "0.0.1"

          - name: TRANSMITTALS_BASE_URL
            value:
              _default: ""

          - name: TRANSMITTALS_ENABLE
            value:
              _default: "false"

          - name: DRAWINGS_INTERNAL_URL
            value:
              _default: "http://drawings-api-service.drawings.svc.cluster.local:80"

          - name: ATTACHMENTS_URL
            value:
              _default: "http://attachments-service.attachments.svc.cluster.local:8000"

          - name: BIM_API_V2_URL
            value:
              _default: "http://backend-service.bim.svc.cluster.local:8000/"

          - name: BIM_V2_HOST
            value:
              _default: "http://backend-service.bim.svc.cluster.local:8000/"

          - name: CACHE_CLEANUP_INTERVAL
            value:
              _default: "60s"

          - name: CACHE_DEFAULT_EXPIRATION
            value:
              _default: "60s"

          - name: DJANGO_HOST
            value:
              _default: "http://backend.django.svc.cluster.local:8000"

          - name: DJANGO_ORIGINATOR
            value:
              _default: "docs_prod"

          - name: DOCUMENTATION_URL
            value:
              _default: "http://documentations-api.documentations.svc.cluster.local:8080/"

          - name: EAV_URL
            value:
              _default: "http://eav-service.eav.svc.cluster.local:8000"

          - name: ENABLE_OBSERVABILITY
            value:
              _default: "false"

          - name: ENABLE_PERMISSIONS_FILTER
            value:
              _default: "false"

          - name: ENABLE_S3
            value:
              _default: "1"

          - name: ENABLE_SSL
            value:
              _default: "0"

          - name: ENVIRONMENT
            value:
              _default: "prod"

          - name: FLOWS_URL
            value:
              _default: "http://backend-service.flows.svc.cluster.local:8000"

          - name: HEIGHT_THUMB_ATTACHMENTS
            value:
              _default: "300"

          - name: HEIGHT_THUMB_STATES
            value:
              _default: "73"

          - name: HTTP_PORT
            value:
              _default: "8080"

          - name: INSPECTIONS_URL
            value:
              _default: "http://inspections-service.inspections.svc.cluster.local:80"

          - name: LOG_LEVEL
            value:
              _default: "INFO"

          - name: NOTES_URL
            value:
              _default: ""

          - name: OBSERVABILITY_COLLECTOR_ENDPOINT
            value:
              _default: "temp"

          - name: POSTGRES_ADDRESS
            value:
              _default: "192.168.2.45"

          - name: POSTGRES_DB
            value:
              _default: "documentations"

          - name: POSTGRES_POOL_SIZE
            value:
              _default: "20"

          - name: POSTGRES_PORT
            value:
              _default: "5432"

          - name: READ_WRITE_TIMEOUT_FILE_STREAM
            value:
              _default: "6h"

          - name: RELEASES_URL
            value:
              _default: "https://gitlab.com"

          - name: REMARKS_URL
            value:
              _default: "http://remarks-static-service.remarks.svc.cluster.local:8080/remarks"

          - name: RESOURCES_URL
            value:
              _default: "http://resources-service.resources.svc.cluster.local:8000"

          - name: S3_SERVICE_ACCOUNT
            value:
              _default: "/etc/sarex/yc-s3-storage/yc-s3-service-account.json"

          - name: STATES_URL
            value:
              _default: "http://workspaces-service.workspaces.svc.cluster.local:8000/"

          - name: SUBSCRIPTIONS_URL
            value:
              _default: "http://sarex-subscriptions-service.subscriptions.svc.cluster.local:80"

          - name: SYSTEM_LOG_URL
            value:
              _default: "http://api-service.system-log.svc.cluster.local:80"
          - name: TARGET_URL
            value:
              _default: "http://backend.django.svc.cluster.local:8000"

          - name: USE_CACHE_IN_FILE_STREAMER
            value:
              _default: "1"

          - name: USE_SUBSCRIPTIONS
            value:
              _default: "false"

          - name: WIDTH_THUMB_ATTACHMENTS
            value:
              _default: "300"

          - name: WIDTH_THUMB_STATES
            value:
              _default: "120"

          - name: WORKFLOWS_IMAGES_VERSION
            value:
              _default: "master"

          - name: WORKFLOW_IMAGES_VERSION
            value:
              _default: "master"

          - name: WORKFLOW_URL
            value:
              _default: "http://workflows-api-service.workflow.svc.cluster.local:8000/"

          - name: WORKSPACE_BUNDLE_VERSION
            value:
              _default: "v1"

          - name: WORKSPACE_URL
            value:
              _default: "http://workspaces-service.workspaces.svc.cluster.local:8000/"
        secretEnvs:
          - name: RELEASES_TOKEN
            secretName:
              _default: "releases-token"
            secretKey: "key"

          - name: POSTGRES_USER
            secretName:
              _default: "postgres-secret"
            secretKey: "username"

          - name: POSTGRES_PASSWORD
            secretName:
              _default: "postgres-secret"
            secretKey: "password"

          - name: DJANGO_BASIC_AUTH
            secretName:
              _default: "django-auth"
            secretKey: "key"

          - name: PUBLIC_KEY
            secretName:
              _default: "public-key"
            secretKey: "key"

        commitSha: ""
        gitlabUri: ""
        gitlabJobUrl: ""
        owner: ""
