global: name: yonote-app postgresql: auth: database: yonote username: yonote yonote: ingress: ingressClassName: traefik dbMigrationEnv: production-ssl-disabled # Режим подключения к базе данных при выполнении миграций. При использовании SSL подключения, установите значение `production` baseListenAddress: example.com config: plain: data: NODE_ENV: production FORCE_HTTPS: "false" PGSSLMODE: disable # Отключает SSL подключение к базе данных. Уберите эту строку, если вы используете SSL подключение к PostgreSQL BIND_HOST: 0.0.0.0 # Хост по умолчанию PORT: "3000" # Порт по умолчанию REDIS_URL: redis://yonote-redis-master:6379 DEFAULT_LANGUAGE: ru_RU # Язык по умолчанию ENABLE_UPDATES: "false" AI_URL: "1234" AI_API_KEY: "1234" URL: 'https://app.{{ .Values.global.yonote.baseListenAddress }}' # Базовый url приложения COLLABORATION_URL: 'wss://app.{{ .Values.global.yonote.baseListenAddress }}' # Cервер, для нормальной работы это не нужно устанавливать OIDC_DISPLAY_NAME: email OIDC_SCOPES: openid email OIDC_CLIENT_ID: yonote OIDC_AUTH_URI: 'https://auth.example.com/realms/yonote/protocol/openid-connect/auth' OIDC_LOGOUT_URI: 'https://auth.example.com/realms/yonote/protocol/openid-connect/logout' OIDC_TOKEN_URI: 'https://auth.example.com/realms/yonote/protocol/openid-connect/token' OIDC_USERINFO_URI: 'https://auth.example.com/realms/yonote/protocol/openid-connect/userinfo' AWS_S3_ACL: private AWS_S3_UPLOAD_BUCKET_URL: http://s3.example.com # Адрес S3 хранилища AWS_S3_UPLOAD_BUCKET_NAME: yonote-bucket # Имя хранилища AWS_REGION: "ru_RU" AWS_S3_UPLOAD_MAX_SIZE: "226214400" # Максимальный размер хранилища AWS_S3_FORCE_PATH_STYLE: "false" # Следует ли принудительно использовать URL-адреса стиля пути для объектов S3 S3_PROXY_ENABLED: "false" # Включает или выключает проксирование загрузки/выгрузки файлов на S3 через бэкенд, принимает boolean S3_MULTIPART_PART_SIZE: "1000" # Настройка размера частей для multipart загрузки на S3 хранилище, принимает число, по умолчанию 1000 (1GB), значение в мегабайтах. SUBDOMAINS_ENABLED: "true" # Поддержка поддоменов для команд BASENAME_FOR_SUBDOMAIN: '{{ .Values.global.yonote.baseListenAddress }}' # Имя хоста NOT_ALLOWED_SUBDOMAINS: app,collaboration,auth,api,dev,docs,doc,admin,test,quota,billing,i,storage,host,updates # Запрещенные поддомены TELEGRAM_API_URL: https://api.telegram.org UNSPLASH_API_BASENAME: https://api.unsplash.com RESERVED_SUBDOMAINS: about,account,admin,advertising,api,app,assets,archive,beta,billing,blog,cache,cdn,code,community,dashboard,developer,developers,forum,help,home,http,https,imap,localhost,mail,marketing,mobile,multiplayer,new,news,newsletter,ns1,ns2,ns3,ns4,password,profile,realtime,sandbox,script,scripts,setup,signin,signup,site,smtp,support,status,static,stats,test,update,updates,ws,wss,web,websockets,www,www1,www2,www3,www4 SMTP_HOST: "" SMTP_USERNAME: "" SMTP_FROM_EMAIL: "" SMTP_REPLY_EMAIL: "" SMTP_PORT: "" SMTP_SECURE: "" # connection will be upgraded: https://nodemailer.com/smtp/ SMTP_REQUIRE_TLS: "" yonote_cron_calendar_events: cron_enabled: "true" url: http://yonote-web/api/cron.calendar_events yonote_cron_task_scheduler: cron_enabled: "true" url: http://yonote-web/api/cron.schedule yonote-web: fullnameOverride: yonote-web nameOverride: yonote-web name: web image: registry: images.updates.yonote.ru repository: yonote tag: 1.19.5 pullPolicy: IfNotPresent resources: limits: cpu: "1" memory: 1Gi requests: cpu: 250m memory: 256Mi ingress: enabled: true ingressClassName: traefik hosts: "'*.example.com'" annotations: cert-manager.io/cluster-issuer: "" traefik.ingress.kubernetes.io/router.middlewares: "{{ .Release.Namespace }}-redirect-https@kubernetescrd,{{ .Release.Namespace }}-wss-headers@kubernetescrd,kube-system-wilix-office-ipwhitelist@kubernetescrd" extraTls: - hosts: - "'*.example.com'" secretName: "'*.example.com'" # enabled: true # hostname: "'*.example.com'" # ingressClassName: nginx # path: '/' # pathType: Prefix # annotations: # nginx.ingress.kubernetes.io/force-ssl-redirect: "true" # nginx.ingress.kubernetes.io/server-snippets: | # location /realtime { # proxy_set_header Upgrade $http_upgrade; # proxy_http_version 1.1; # proxy_set_header X-Forwarded-Host $http_host; # proxy_set_header X-Forwarded-Proto $scheme; # proxy_set_header X-Forwarded-For $remote_addr; # proxy_set_header Host $host; # proxy_set_header Connection "upgrade"; # proxy_cache_bypass $http_upgrade; # } # nginx.ingress.kubernetes.io/configuration-snippet: | # more_set_headers "Host $http_host"; # more_set_headers "X-Real-IP $remote_addr"; # more_set_headers "X-Forwarded-Proto $scheme"; # more_set_headers "X-Forwarded-For $proxy_add_x_forwarded_for"; # cert-manager.io/cluster-issuer: "" # extraTls: # - hosts: # - "'*.example.com'" # secretName: "'*.example.com'" containerPorts: - containerPort: 3000 name: app protocol: TCP service: type: ClusterIP port: 80 targetPort: app envFrom: - configMapRef: name: yonote-configs - secretRef: name: yonote-secrets podLabels: redis-client: 'true' podAnnotations: checksum/configmap: "{{ toJson .Values.global.yonote.config.plain | sha256sum }}" checksum/secret: "{{ toJson .Values.global.yonote.config.secret | sha256sum }}" readinessProbe: enabled: true failureThreshold: 6 initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 httpGet: path: /_health port: app livenessProbe: enabled: true failureThreshold: 6 initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 httpGet: path: /_health port: app yonote-database: enabled: true fullnameOverride: yonote-db nameOverride: db primary: persistence: size: 500Mi resources: limits: cpu: 250m memory: 512Mi requests: cpu: 50m memory: 256Mi yonote-redis: enabled: true fullnameOverride: yonote-redis nameOverride: redis architecture: standalone auth: enabled: false master: persistence: size: 200Mi resources: limits: cpu: 250m memory: 256Mi requests: cpu: 50m memory: 128Mi minio: enabled: true name: minio fullnameOverride: yonote-minio nameOverride: minio accessKey: "minioadmin" secretKey: "minioadminsecret" persistence: enabled: true size: 500Mi ingress: enabled: true hostname: '"s3.example.com"' annotations: cert-manager.io/cluster-issuer: letsencrypt.rancher.wilix.dev traefik.ingress.kubernetes.io/router.middlewares: "{{ .Release.Namespace }}-redirect-https@kubernetescrd,{{ .Release.Namespace }}-wss-headers@kubernetescrd,kube-system-wilix-office-ipwhitelist@kubernetescrd" extraTls: - hosts: - s3.example.com secretName: s3.example.com # ingress: # enabled: true # ingressClassName: nginx # annotations: # nginx.ingress.kubernetes.io/force-ssl-redirect: "true" # nginx.ingress.kubernetes.io/configuration-snippet: | # more_set_headers "Host $http_host"; # more_set_headers "X-Real-IP $remote_addr"; # more_set_headers "X-Forwarded-Proto $scheme"; # more_set_headers "X-Forwarded-For $proxy_add_x_forwarded_for"; # hosts: # - host: s3.onprem-test.stands.wilix.dev # paths: # - path: / # pathType: ImplementationSpecific resources: requests: memory: 512Mi cpu: 250m limits: memory: 1Gi cpu: 500m buckets: - name: yonote-bucket policy: none