diff --git a/charts/opencrvs-services/templates/dashboards-deployment.yaml b/charts/opencrvs-services/templates/dashboards-deployment.yaml index cdde57fe..7d945cd3 100644 --- a/charts/opencrvs-services/templates/dashboards-deployment.yaml +++ b/charts/opencrvs-services/templates/dashboards-deployment.yaml @@ -47,42 +47,68 @@ spec: labels: app: dashboards spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + initContainers: + - name: copy-assets + image: "{{ .Values.countryconfig.image.name }}:{{ .Values.countryconfig.image.tag }}-assets" + command: + - sh + - -c + - > + cp -R /assets/* /data-assets/ && + chmod +x /data-assets/*.sh || true + volumeMounts: + - name: assets + mountPath: /data-assets containers: - name: dashboards - image: "ghcr.io/opencrvs/ocrvs-dashboards:{{ .Values.image.tag }}" + image: metabase/metabase:v0.56.4 + command: ["/assets/run.sh"] env: - - name: OPENCRVS_METABASE_SITE_URL - value: {{ include "render-external-url" (dict "service_name" "metabase" "Values" .Values) }} - - name: OPENCRVS_METABASE_MAP_URL - value: "http://countryconfig.{{ .Release.Namespace }}.svc.cluster.local:3040/content/map.geojson" - - name: OPENCRVS_METABASE_DB_HOST - value: {{ .Values.mongodb.host | quote }} - - name: OPENCRVS_METABASE_ADMIN_EMAIL - value: {{ .Values.dashboards.admin_email | quote | default "user@opencrvs.org" }} - {{- if eq .Values.mongodb.auth_mode "disabled" }} - - name: OPENCRVS_METABASE_DB_AUTH_DB - value: performance - {{- else if or (eq .Values.mongodb.auth_mode "auto") (eq .Values.mongodb.auth_mode "use_secret") }} - - name: OPENCRVS_METABASE_DB_AUTH_DB + - name: METABASE_DATABASE_HOST + value: {{ .Values.postgres.host }} + - name: METABASE_DATABASE_PORT + value: {{ .Values.postgres.port | quote }} + - name: METABASE_DATABASE_NAME + value: "events" + {{- if not (eq .Values.postgres.auth_mode "managed") }} + - name: METABASE_DATABASE_USER valueFrom: secretKeyRef: - key: PERFORMANCE_MONGODB_DB - name: {{ .Values.mongodb.users_secret }} - - name: OPENCRVS_METABASE_DB_USER + key: EVENTS_ANALYTICS_POSTGRES_USER + name: {{ .Values.postgres.users_secret }} + - name: METABASE_DATABASE_PASSWORD valueFrom: secretKeyRef: - key: PERFORMANCE_MONGODB_USER - name: {{ .Values.mongodb.users_secret }} - - name: OPENCRVS_METABASE_DB_PASS - valueFrom: - secretKeyRef: - key: PERFORMANCE_MONGODB_PASSWORD - name: {{ .Values.mongodb.users_secret }} - {{- end }} + key: EVENTS_ANALYTICS_POSTGRES_PASSWORD + name: {{ .Values.postgres.users_secret }} + {{- end }} + - name: METABASE_JAR + value: "/app/metabase.jar" + - name: MB_DB_INIT_SQL_FILE + value: "/assets/metabase.init.db.sql" + - name: MB_DB_FILE + value: "/assets/data/metabase/metabase.mv.db" + - name: OPENCRVS_ENVIRONMENT_CONFIGURATION_SQL_FILE + value: "/assets/environment-configuration.sql" + - name: OPENCRVS_METABASE_SITE_URL + value: {{ include "render-external-url" (dict "service_name" "metabase" "Values" .Values) }} + - name: OPENCRVS_METABASE_MAP_URL + value: "http://countryconfig.{{ .Release.Namespace }}.svc.cluster.local:3040/content/map.geojson" {{- if .Values.dashboards.use_default_credentials }} + - name: OPENCRVS_METABASE_ADMIN_EMAIL + value: "user@opencrvs.org" - name: OPENCRVS_METABASE_ADMIN_PASSWORD value: m3tabase {{- else }} + - name: OPENCRVS_METABASE_ADMIN_EMAIL + valueFrom: + secretKeyRef: + name: dashboards-admin-user + key: OPENCRVS_METABASE_ADMIN_EMAIL - name: OPENCRVS_METABASE_ADMIN_PASSWORD valueFrom: secretKeyRef: @@ -95,8 +121,13 @@ spec: - containerPort: {{ .Values.dashboards.port }} protocol: TCP # TODO: Add liveness and readiness probes + volumeMounts: + - name: assets + mountPath: /assets restartPolicy: Always - + volumes: + - name: assets + emptyDir: {} {{- include "service-helper" (dict "service_name" "dashboards" "Values" .Values) }} {{- include "hpa-helper" (dict "service_name" "dashboards" "Values" .Values) }} diff --git a/charts/opencrvs-services/templates/dashboards-secrets.yaml b/charts/opencrvs-services/templates/dashboards-secrets.yaml index 64e5f588..8aab0217 100644 --- a/charts/opencrvs-services/templates/dashboards-secrets.yaml +++ b/charts/opencrvs-services/templates/dashboards-secrets.yaml @@ -5,7 +5,7 @@ {{- $secret := lookup "v1" "Secret" .Release.Namespace $secret_name }} {{- if not $secret }} {{- $password := randAlphaNum 32 }} - +{{- $email := printf "%s@opencrvs.org" (randAlphaNum 10 | lower) }} --- apiVersion: v1 kind: Secret @@ -18,6 +18,7 @@ metadata: "helm.sh/hook-weight": "1" type: Opaque data: + OPENCRVS_METABASE_ADMIN_EMAIL: {{ $email | b64enc }} OPENCRVS_METABASE_ADMIN_PASSWORD: {{ $password | b64enc }} {{- end }} {{- end }} diff --git a/charts/opencrvs-services/values.yaml b/charts/opencrvs-services/values.yaml index 6368195d..500ca2d3 100644 --- a/charts/opencrvs-services/values.yaml +++ b/charts/opencrvs-services/values.yaml @@ -138,6 +138,7 @@ mongodb: postgres: # Postgres hostname configuration host: postgres-0.postgres.opencrvs-deps-dev.svc.cluster.local + port: 5432 auth_mode: disabled # auth_mode: # - disabled: Default credentials are used postgres/postgres @@ -246,7 +247,8 @@ dashboards: use_default_credentials: true port: 4444 env: - OPENCRVS_METABASE_MAP_NAME: Full country + METABASE_DATABASE_SSL: false + OPENCRVS_METABASE_MAP_NAME: Farajaland OPENCRVS_METABASE_MAP_REGION_KEY: State OPENCRVS_METABASE_MAP_REGION_NAME: State OPENCRVS_METABASE_SITE_NAME: OpenCRVS Dashboards