From 03d9b1156d5abbf4e554b47589102c5085ce80a1 Mon Sep 17 00:00:00 2001 From: sarmstrong Date: Fri, 5 Dec 2025 16:03:34 +0300 Subject: [PATCH] Refactor the chart for ease of use. --- yonote-chart-service/Chart.yaml | 8 ++++---- yonote-chart-service/secret-values.yaml | 14 +++++++------- yonote-chart-service/templates/mcJob.yaml | 14 +++++++------- yonote-chart-service/values.yaml | 16 +++++++--------- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/yonote-chart-service/Chart.yaml b/yonote-chart-service/Chart.yaml index e9185b4..f454093 100644 --- a/yonote-chart-service/Chart.yaml +++ b/yonote-chart-service/Chart.yaml @@ -38,14 +38,14 @@ dependencies: - name: postgres version: "0.3.9" repository: https://groundhog2k.github.io/helm-charts/ - condition: yonote-database.enabled - alias: yonote-database + condition: postgres.enabled + alias: postgres - name: redis version: "0.7.0" repository: https://groundhog2k.github.io/helm-charts/ - condition: yonote-redis.enabled - alias: yonote-redis + condition: redis.enabled + alias: redis - name: minio version: "5.4.0" diff --git a/yonote-chart-service/secret-values.yaml b/yonote-chart-service/secret-values.yaml index e822f30..6c1b8ae 100644 --- a/yonote-chart-service/secret-values.yaml +++ b/yonote-chart-service/secret-values.yaml @@ -3,17 +3,17 @@ global: config: secret: stringData: - DATABASE_URL: 'postgres://yonote:yonotedbpassword@yonote-database:5432/yonote' - POSTGRES_PASSWORD: "yonotedbpassword" - AWS_ACCESS_KEY_ID: "qwer-12314q" # Ваш идентификатор ключа доступа к AWS. + DATABASE_URL: 'postgres://{{ .Values.postgres.userDatabase.user }}:{{ .Values.postgres.userDatabase.password }}@yonote-database:5432/{{ .Values.postgres.userDatabase.name }}' + POSTGRES_PASSWORD: "{{ .Values.postgres.userDatabase.password }}" + AWS_ACCESS_KEY_ID: "qwer12314q" # Ваш идентификатор ключа доступа к AWS. AWS_SECRET_ACCESS_KEY: "qwer-12314q-qwersa" # Ваш секретный ключ доступа AWS. - OIDC_CLIENT_SECRET: "iS3jOA3Z7zXBwSN8EzJm36ybz57JNgpR" # Секретный ключ клиента для аутентификации по OpenID Connect (OIDC). + OIDC_CLIENT_SECRET: "{{ .Values.keycloak.secrets.secrets.stringData.OIDC_CLIENT_SECRET }}" # Секретный ключ клиента для аутентификации по OpenID Connect (OIDC). SECRET_KEY: "659a8881b186198c3146e316f6dab67df25496534d1fa156d624b037260df688" # Сгенерируйте 32-байтовый случайный ключ в шестнадцатеричном коде. Вам следует использовать `openssl rand -hex 32` в вашем терминале для генерации случайного значения. SMTP_PASSWORD: "1234" UTILS_SECRET: "7bd5e9ac4415dd0dbf6b7721e2a21e9427b268cd0140c7516d13dece5024d479" # Сгенерируйте уникальный случайный ключ. Формат не важен, но вы все равно можете использовать`openssl rand -hex 32` в вашем терминале, чтобы создать это. TELEGRAM_BOT_TOKEN: "1234" UNSPLASH_API_ACCESS_KEY: "a-yGo6HpRP6jNfravx4Bz-oiPrRnH_5-24Xa9ZPlePE" - LICENSE_KEY: "" # Обратитесь в отдел продаж для получения + LICENSE_KEY: "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjMzNzcyMzEsImV4cCI6MTc2NjAwNTE5OX0.ScoKz_92655mNni1yxJb8hZ8aa4apeJpNQHC-ncs7tnytSi7rFkoMc4W6YGjVYSxCaoCEiGOx1VOfdzJ2JZFgh15v2N0vRzohYmw09j08Rgb2QKXrT_lYcYez3DAG0pn-KkGW42hamqI0i3fJcqcIgSgMueCkdFXvzh51A8LQ2rk1gKsgZT7INnnT29Wi1hRVtuOxpgtD8xz6Xt8Nf68nY3-uut8cqJPGa1isrh7qmmmJfUJoWaGEawPLejkbX4fdLSRUuy-rSUBttbGlyPGiOjoXvtCJ8Z9oaqhEbPBwve-kaOQE5Si1P5bonHm7yAE9XAFhYPa0lvx8deuyYaYrA" # Обратитесь в отдел продаж для получения SERVICE_WORKER_PUBLIC_KEY: "1234" SERVICE_WORKER_PRIVATE_KEY: "1234" # Генерация ключей (web-push) Service Worker @@ -22,13 +22,13 @@ global: # npx web-push generate-vapid-keys # 3) Полученные значения ввести в .env файл (SERVICE_WORKER_PUBLIC_KEY, SERVICE_WORKER_PRIVATE_KEY) -yonote-database: +postgres: settings: superuserPassword: "QQYw4UjOU" userDatabase: password: "wsGZ6kXhr5" -yonote-redis: +redis: args: - "--user redis:redis" diff --git a/yonote-chart-service/templates/mcJob.yaml b/yonote-chart-service/templates/mcJob.yaml index 7f5fbf4..e8f0e73 100644 --- a/yonote-chart-service/templates/mcJob.yaml +++ b/yonote-chart-service/templates/mcJob.yaml @@ -24,11 +24,11 @@ spec: echo "MinIO is ready and alias is set." # Создание бакета - if ! mc ls myminio/yonote-bucket; then - mc mb myminio/yonote-bucket - echo "Bucket yonote-bucket created successfully." + if ! mc ls myminio/{{ .Values.global.yonote.config.plain.data.AWS_S3_UPLOAD_BUCKET_NAME }}; then + mc mb myminio/{{ .Values.global.yonote.config.plain.data.AWS_S3_UPLOAD_BUCKET_NAME }} + echo "Bucket {{ .Values.global.yonote.config.plain.data.AWS_S3_UPLOAD_BUCKET_NAME }} created successfully." else - echo "Bucket yonote-bucket already exists." + echo "Bucket {{ .Values.global.yonote.config.plain.data.AWS_S3_UPLOAD_BUCKET_NAME }} already exists." fi # Установка политик для бакета @@ -47,7 +47,7 @@ spec: "s3:GetBucketLocation" ], "Resource": [ - "arn:aws:s3:::yonote-bucket" + "arn:aws:s3:::{{ .Values.global.yonote.config.plain.data.AWS_S3_UPLOAD_BUCKET_NAME }}" ] }, { @@ -61,7 +61,7 @@ spec: "s3:GetObject" ], "Resource": [ - "arn:aws:s3:::yonote-bucket/*" + "arn:aws:s3:::{{ .Values.global.yonote.config.plain.data.AWS_S3_UPLOAD_BUCKET_NAME }}/*" ] } ] @@ -69,7 +69,7 @@ spec: EOF echo "Bucket policy JSON file created." - mc anonymous set-json /tmp/minio-bucket-policy.json myminio/yonote-bucket + mc anonymous set-json /tmp/minio-bucket-policy.json myminio/{{ .Values.global.yonote.config.plain.data.AWS_S3_UPLOAD_BUCKET_NAME }} echo "Bucket policy applied." resources: diff --git a/yonote-chart-service/values.yaml b/yonote-chart-service/values.yaml index 105e429..7d90f30 100644 --- a/yonote-chart-service/values.yaml +++ b/yonote-chart-service/values.yaml @@ -7,7 +7,7 @@ global: config: plain: data: - DEBUG: http + DEBUG: debug NODE_ENV: production FORCE_HTTPS: "false" PGSSLMODE: disable # Отключает SSL подключение к базе данных. Уберите эту строку, если вы используете SSL подключение к PostgreSQL @@ -38,7 +38,7 @@ global: OIDC_USERINFO_URI: 'https://auth.example.com/realms/yonote/protocol/openid-connect/userinfo' # URL для получения информации о пользователе. Используется для получения данных профиля пользователя на основе его токена. AWS_S3_ACL: private - AWS_S3_UPLOAD_BUCKET_URL: 'https://api-s3.example.com' # Адрес API S3 хранилища + AWS_S3_UPLOAD_BUCKET_URL: 'https://s3.example.com' # Адрес API S3 хранилища AWS_S3_UPLOAD_BUCKET_NAME: yonote-bucket # Имя хранилища AWS_REGION: "RU" AWS_S3_UPLOAD_MAX_SIZE: "226214400" # Максимальный размер хранилища @@ -491,7 +491,7 @@ yonote-collaboration: path: /_health port: app -yonote-database: +postgres: enabled: true #settings: # Default postgres @@ -518,7 +518,7 @@ yonote-database: extraScripts: postgres-init-scripts -yonote-redis: +redis: enabled: true fullnameOverride: yonote-redis nameOverride: redis @@ -553,7 +553,7 @@ minio: - "s3:DeleteObject" users: - - accessKey: console + - accessKey: qwer12314q secretKey: qwer-12314q-qwersa policy: yonote_user_policy @@ -581,7 +581,7 @@ minio: consoleIngress: enabled: true hosts: - - api-s3.example.com + - s3-console.example.com ingressClassName: traefik path: '/' annotations: @@ -589,7 +589,7 @@ minio: #cert-manager.io/cluster-issuer: letsencrypt.rancher.wilix.dev # Если используете tls: - hosts: - - "api-s3.example.com" + - "s3-console.example.com" secretName: "example.com-tls" resources: @@ -602,8 +602,6 @@ minio: mcJob: enabled: true - # If the AWS_S3_UPLOAD_BUCKET_NAME, under global.yonote.config is changed, then it is reuqired to change the templates/mcjob.yaml. - # Replace yonote-bucket with the new AWS_S3_UPLOAD_BUCKET_NAME value. keycloak: enabled: true