diff --git a/apps/adminpanel/templates/all.yaml b/apps/adminpanel/templates/all.yaml index f850816..aebee9e 100644 --- a/apps/adminpanel/templates/all.yaml +++ b/apps/adminpanel/templates/all.yaml @@ -6,7 +6,8 @@ metadata: data: env.js: | window.__ENV__ = { - API_BASE_URL: {{ .Values.runtimeEnv.API_BASE_URL | quote }} + API_BASE_URL: {{ .Values.runtimeEnv.API_BASE_URL | quote }}{{- if .Values.runtimeEnv.SENTRY_DSN }}, + SENTRY_DSN: {{ .Values.runtimeEnv.SENTRY_DSN | quote }}{{- end }} }; --- apiVersion: apps/v1 @@ -40,6 +41,17 @@ spec: - name: env-js mountPath: /config/env.js subPath: env.js + lifecycle: + postStart: + exec: + command: + - sh + - -c + - | + API_URL=$(grep -o 'API_BASE_URL: "[^"]*"' /config/env.js | sed 's/.*"\([^"]*\)".*/\1/') + if [ -n "$API_URL" ]; then + find /usr/share/nginx/html/assets -name '*.js' -exec sed -i "s|https://api.sovamed.ru|${API_URL}|g" {} + + fi resources: {{- toYaml .Values.resources | nindent 12 }} volumes: diff --git a/apps/cabinet/templates/all.yaml b/apps/cabinet/templates/all.yaml index 4cd2806..9323a7f 100644 --- a/apps/cabinet/templates/all.yaml +++ b/apps/cabinet/templates/all.yaml @@ -19,6 +19,10 @@ metadata: name: cabinet-nginx-config namespace: {{ .Values.namespace }} data: + php-custom.ini: | + display_errors=Off + log_errors=On + error_reporting=E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED default.conf: | server { listen 8080; @@ -94,6 +98,9 @@ spec: mountPath: /app/var/cache - name: var-log mountPath: /app/var/log + - name: php-config + mountPath: /usr/local/etc/php/conf.d/99-sova.ini + subPath: php-custom.ini resources: {{- toYaml .Values.resources.php | nindent 12 }} - name: nginx @@ -128,6 +135,9 @@ spec: mountPath: /app/var/cache - name: var-log mountPath: /app/var/log + - name: php-config + mountPath: /usr/local/etc/php/conf.d/99-sova.ini + subPath: php-custom.ini - name: copy-public image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" command: ["sh", "-c", "cp -a /app/public/. /public/"] @@ -140,6 +150,9 @@ spec: - name: nginx-config configMap: name: cabinet-nginx-config + - name: php-config + configMap: + name: cabinet-nginx-config - name: var-cache emptyDir: {} - name: var-log diff --git a/apps/redmine/Chart.lock b/apps/redmine/Chart.lock new file mode 100644 index 0000000..da96660 --- /dev/null +++ b/apps/redmine/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: redmine + repository: oci://registry-1.docker.io/bitnamicharts + version: 32.2.2 +digest: sha256:fc24d3b88ff249a81008f44b7c5dfc03084d38e8aae4bbfe64ad1c5dec05b6e8 +generated: "2026-05-29T13:57:14.119328+03:00" diff --git a/apps/redmine/Chart.yaml b/apps/redmine/Chart.yaml new file mode 100644 index 0000000..211388e --- /dev/null +++ b/apps/redmine/Chart.yaml @@ -0,0 +1,9 @@ +apiVersion: v2 +name: redmine +description: Redmine issue tracker for Sova test contour +type: application +version: 0.1.0 +dependencies: + - name: redmine + version: 32.2.2 + repository: oci://registry-1.docker.io/bitnamicharts diff --git a/apps/redmine/charts/redmine-32.2.2.tgz b/apps/redmine/charts/redmine-32.2.2.tgz new file mode 100644 index 0000000..be6f5a3 Binary files /dev/null and b/apps/redmine/charts/redmine-32.2.2.tgz differ diff --git a/apps/redmine/values-test.yaml b/apps/redmine/values-test.yaml new file mode 100644 index 0000000..ba2d18e --- /dev/null +++ b/apps/redmine/values-test.yaml @@ -0,0 +1,59 @@ +namespace: redmine + +global: + security: + allowInsecureImages: true + +redmine: + databaseType: postgresql + + image: + registry: docker.io + repository: bitnamilegacy/redmine + tag: 6.0.5-debian-12-r0 + pullPolicy: IfNotPresent + + redmineUsername: admin + redminePassword: SovaRedmineTest2026! + redmineEmail: admin@sova.local + + postgresql: + enabled: false + + externalDatabase: + host: postgresql-test.sova-data-test.svc.cluster.local + port: 5432 + user: sova_test + password: sova_test_pass + database: redmine_test + + mariadb: + enabled: false + + smtp: + enabled: true + host: mailpit.sova-mocks.svc.cluster.local + port: 1025 + user: "" + password: "" + protocol: plain + from: redmine@sova.local + + ingress: + enabled: true + ingressClassName: nginx + hostname: redmine.sova.local + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + + resources: + requests: + cpu: 100m + memory: 512Mi + limits: + cpu: 500m + memory: 1Gi + + persistence: + enabled: true + size: 2Gi diff --git a/apps/redmine/values.yaml b/apps/redmine/values.yaml new file mode 100644 index 0000000..71207ca --- /dev/null +++ b/apps/redmine/values.yaml @@ -0,0 +1,4 @@ +# Defaults shared across contours. +redmine: + service: + type: ClusterIP diff --git a/argocd/apps/platform-tools.yaml b/argocd/apps/platform-tools.yaml new file mode 100644 index 0000000..3f73426 --- /dev/null +++ b/argocd/apps/platform-tools.yaml @@ -0,0 +1,24 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: redmine-test + namespace: argocd +spec: + project: sova + source: + repoURL: http://gitea-http.gitea.svc.cluster.local:3000/sova/sova-deploy.git + targetRevision: main + path: apps/redmine + helm: + valueFiles: + - values.yaml + - values-test.yaml + destination: + server: https://kubernetes.default.svc + namespace: redmine + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/argocd/projects/sova-project.yaml b/argocd/projects/sova-project.yaml index fd6dda6..c68a98a 100644 --- a/argocd/projects/sova-project.yaml +++ b/argocd/projects/sova-project.yaml @@ -14,6 +14,8 @@ spec: server: https://kubernetes.default.svc - namespace: sova-mocks server: https://kubernetes.default.svc + - namespace: redmine + server: https://kubernetes.default.svc clusterResourceWhitelist: - group: '*' kind: '*' diff --git a/data/test/sql/postgres/schema/01-create-databases.sql b/data/test/sql/postgres/schema/01-create-databases.sql index 8208d88..9899012 100644 --- a/data/test/sql/postgres/schema/01-create-databases.sql +++ b/data/test/sql/postgres/schema/01-create-databases.sql @@ -1,2 +1,4 @@ SELECT 'CREATE DATABASE sova_cabinet_test OWNER sova_test' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'sova_cabinet_test')\gexec +SELECT 'CREATE DATABASE redmine_test OWNER sova_test' +WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'redmine_test')\gexec diff --git a/data/test/values.yaml b/data/test/values.yaml index 33f996e..94bee4d 100644 --- a/data/test/values.yaml +++ b/data/test/values.yaml @@ -21,6 +21,8 @@ postgresql: 01-create-databases.sql: | CREATE DATABASE sova_cabinet_test; GRANT ALL PRIVILEGES ON DATABASE sova_cabinet_test TO sova_test; + CREATE DATABASE redmine_test; + GRANT ALL PRIVILEGES ON DATABASE redmine_test TO sova_test; mysql: enabled: true