From 9e113c9317087fbe64b67752c9098a8e80a7ab80 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Thu, 19 Feb 2026 12:30:50 -0300 Subject: [PATCH 01/17] fix: update Hasura readiness probe and image tag --- charts/mint/templates/hasura.yaml | 12 +++++------- charts/mint/values.yaml | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/charts/mint/templates/hasura.yaml b/charts/mint/templates/hasura.yaml index 9dd70b8..6709be1 100644 --- a/charts/mint/templates/hasura.yaml +++ b/charts/mint/templates/hasura.yaml @@ -254,10 +254,8 @@ spec: path: / port: http readinessProbe: - exec: - command: - - pg_isready - - -h - - {{ include "mint.prefix" . }}-hasura-db - - -U - - {{ .Values.secrets.database.hasura.username | default "mint" }} \ No newline at end of file + httpGet: + path: /healthz + port: http + initialDelaySeconds: 10 + periodSeconds: 10 \ No newline at end of file diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index 6fc7c40..119f2fe 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -237,7 +237,7 @@ components: # -- Docker image repository for Hasura repository: mintproject/graphql-engine # -- Docker image tag for Hasura - tag: 56ebce44a8c15fd9386ae5fc1c183b53db49778c + tag: 60cdce01de2689f1c96140f7a51ef50d7dafe9d3 # -- Image pull policy for Hasura pullPolicy: IfNotPresent # -- Resource specifications for Hasura From de51966bee838b692b7205b385e0b27744a4dd2c Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sat, 21 Feb 2026 09:19:12 -0300 Subject: [PATCH 02/17] feat(02-07): add Helm templates and values for model-catalog-api-v2 - Service + Deployment template for mintproject/model-catalog-api image - /health endpoint used as liveness and readiness probe - HASURA_GRAPHQL_URL and LOG_LEVEL configurable via values - HASURA_ADMIN_SECRET sourced from existing secrets resource - Ingress template routes /v2.0.0 path prefix to new service - values.yaml model_catalog_api_v2 component block (disabled by default) - Allows v1.8.0 and v2.0.0 to coexist on same domain via path routing --- .../ingress-model-catalog-api-v2.yaml | 59 ++++++++++++++ .../mint/templates/model-catalog-api-v2.yaml | 79 +++++++++++++++++++ charts/mint/values.yaml | 29 +++++++ 3 files changed, 167 insertions(+) create mode 100644 charts/mint/templates/ingress-model-catalog-api-v2.yaml create mode 100644 charts/mint/templates/model-catalog-api-v2.yaml diff --git a/charts/mint/templates/ingress-model-catalog-api-v2.yaml b/charts/mint/templates/ingress-model-catalog-api-v2.yaml new file mode 100644 index 0000000..3799a19 --- /dev/null +++ b/charts/mint/templates/ingress-model-catalog-api-v2.yaml @@ -0,0 +1,59 @@ +{{- if .Values.components.model_catalog_api_v2.ingress.enabled -}} +{{- $fullName := include "mint.prefix" . -}} +{{- $svcPort := .Values.service.port -}} +{{- if and .Values.components.model_catalog_api_v2.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.components.model_catalog_api_v2.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.components.model_catalog_api_v2.ingress.annotations "kubernetes.io/ingress.class" .Values.components.model_catalog_api_v2.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }}-model-catalog-api-v2 + {{- with .Values.components.model_catalog_api_v2.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.components.model_catalog_api_v2.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.components.model_catalog_api_v2.ingress.className }} + {{- end }} + {{- if .Values.components.model_catalog_api_v2.ingress.tls }} + tls: + {{- range .Values.components.model_catalog_api_v2.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.components.model_catalog_api_v2.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }}-model-catalog-api-v2 + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }}-model-catalog-api-v2 + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/charts/mint/templates/model-catalog-api-v2.yaml b/charts/mint/templates/model-catalog-api-v2.yaml new file mode 100644 index 0000000..df78fd7 --- /dev/null +++ b/charts/mint/templates/model-catalog-api-v2.yaml @@ -0,0 +1,79 @@ +--- +{{ if .Values.components.model_catalog_api_v2.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "mint.prefix" . }}-model-catalog-api-v2 + namespace: {{ .Release.Namespace }} + labels: + {{- include "helm.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - name: "http-api" + port: 80 + targetPort: 3000 + protocol: TCP + selector: + app: {{ include "mint.prefix" . }}-model-catalog-api-v2 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "mint.prefix" . }}-model-catalog-api-v2 + namespace: {{ .Release.Namespace }} +spec: + replicas: 1 + selector: + matchLabels: + app: {{ include "mint.prefix" . }}-model-catalog-api-v2 + template: + metadata: + labels: + app: {{ include "mint.prefix" . }}-model-catalog-api-v2 + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: model-catalog-api-v2 + {{- with .Values.components.model_catalog_api_v2 }} + image: "{{ .image.repository }}:{{ .image.tag }}" + imagePullPolicy: {{ .image.pullPolicy }} + resources: + {{- toYaml .resources | nindent 12 }} + ports: + - name: http + containerPort: 3000 + protocol: TCP + livenessProbe: + httpGet: + path: /health + port: http + initialDelaySeconds: 10 + periodSeconds: 30 + timeoutSeconds: 5 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /health + port: http + initialDelaySeconds: 5 + periodSeconds: 10 + timeoutSeconds: 3 + env: + - name: PORT + value: "3000" + - name: HASURA_GRAPHQL_URL + value: "{{ .environment.hasura_graphql_url }}" + - name: LOG_LEVEL + value: "{{ .environment.log_level }}" + {{- end }} + - name: HASURA_ADMIN_SECRET + valueFrom: + secretKeyRef: + name: {{ include "mint.prefix" . }}-secrets + key: hasura_admin_secret + optional: true +{{ end }} diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index 119f2fe..f066e30 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -371,6 +371,35 @@ components: - path: / pathType: ImplementationSpecific tls: [] + model_catalog_api_v2: + # -- Enable or disable Model Catalog API v2 + enabled: false + image: + # -- Docker image repository for Model Catalog API v2 + repository: mintproject/model-catalog-api + # -- Docker image tag for Model Catalog API v2 + tag: latest + # -- Image pull policy for Model Catalog API v2 + pullPolicy: IfNotPresent + # -- Resource specifications for Model Catalog API v2 + resources: {} + environment: + # -- Hasura GraphQL URL for Model Catalog API v2 + hasura_graphql_url: "" + # -- Log level for Model Catalog API v2 + log_level: info + ingress: + # -- Enable or disable ingress for Model Catalog API v2 + enabled: true + className: "" + annotations: + nginx.ingress.kubernetes.io/enable-cors: "true" + hosts: + - host: api.models.mint.local + paths: + - path: /v2.0.0 + pathType: Prefix + tls: [] ui: # -- Enable or disable UI enabled: true From 4bab93f5fcdc4cd7d1c589f0726edeba12278362 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sat, 21 Feb 2026 09:39:06 -0300 Subject: [PATCH 03/17] fix: update image --- charts/mint/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index f066e30..65be746 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -237,7 +237,7 @@ components: # -- Docker image repository for Hasura repository: mintproject/graphql-engine # -- Docker image tag for Hasura - tag: 60cdce01de2689f1c96140f7a51ef50d7dafe9d3 + tag: b579032912a05017823e4ee148b8b98adc93ffc8 # -- Image pull policy for Hasura pullPolicy: IfNotPresent # -- Resource specifications for Hasura From dd9b0e584637c0895072647cb47fbd58e0c7e213 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sat, 21 Feb 2026 17:06:39 -0300 Subject: [PATCH 04/17] chore(03-02): disable Fuseki (model_catalog_endpoint) in Helm chart - Set components.model_catalog_endpoint.enabled to false in values.yaml - Set jobs.model_catalog_endpoint.enabled to false in values.yaml - Add model_catalog_endpoint.enabled guard to model-catalog-endpoint-backup.yaml - Add model_catalog_endpoint.enabled guard to ingress-model-catalog-endpoint.yaml - model-catalog-endpoint.yaml and post-install already guarded; no change needed - PVC template left intact with helm.sh/resource-policy: keep annotation --- charts/mint/templates/ingress-model-catalog-endpoint.yaml | 2 +- charts/mint/templates/model-catalog-endpoint-backup.yaml | 2 +- charts/mint/values.yaml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/charts/mint/templates/ingress-model-catalog-endpoint.yaml b/charts/mint/templates/ingress-model-catalog-endpoint.yaml index 0f54958..a5d3f07 100644 --- a/charts/mint/templates/ingress-model-catalog-endpoint.yaml +++ b/charts/mint/templates/ingress-model-catalog-endpoint.yaml @@ -1,4 +1,4 @@ -{{- if .Values.components.model_catalog_endpoint.ingress.enabled -}} +{{- if and .Values.components.model_catalog_endpoint.enabled .Values.components.model_catalog_endpoint.ingress.enabled -}} {{- $fullName := include "mint.prefix" . -}} {{- $svcPort := .Values.service.port -}} {{- if and .Values.components.model_catalog_endpoint.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} diff --git a/charts/mint/templates/model-catalog-endpoint-backup.yaml b/charts/mint/templates/model-catalog-endpoint-backup.yaml index e83c4c5..509a538 100644 --- a/charts/mint/templates/model-catalog-endpoint-backup.yaml +++ b/charts/mint/templates/model-catalog-endpoint-backup.yaml @@ -1,4 +1,4 @@ -{{- if .Values.components.backups.enabled }} +{{- if and .Values.components.model_catalog_endpoint.enabled .Values.components.backups.enabled }} apiVersion: batch/v1 kind: CronJob metadata: diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index 65be746..5d1e6fe 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -185,7 +185,7 @@ components: helm.sh/resource-policy: keep model_catalog_endpoint: # -- Enable or disable Model Catalog Endpoint - enabled: true + enabled: false image: # -- Docker image repository for Model Catalog Endpoint repository: mintproject/model-catalog-endpoint @@ -237,7 +237,7 @@ components: # -- Docker image repository for Hasura repository: mintproject/graphql-engine # -- Docker image tag for Hasura - tag: b579032912a05017823e4ee148b8b98adc93ffc8 + tag: 46f4c248af68f61b66fbadad3aa439ea1fec2754 # -- Image pull policy for Hasura pullPolicy: IfNotPresent # -- Resource specifications for Hasura @@ -506,7 +506,7 @@ components: jobs: model_catalog_endpoint: # -- Enable or disable Model Catalog API initialization - enabled: true + enabled: false # -- Resource specifications for Model Catalog API initialization resources: {} hasura: From 36503453fe8b0133de26d02ef40cdb2c898b9a25 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sat, 21 Feb 2026 17:07:14 -0300 Subject: [PATCH 05/17] chore(03-02): remove model_catalog_api from ensemble manager ConfigMap - Remove model_catalog_api key from Helm ConfigMap template - Ensemble Manager queries modelcatalog_* tables directly via Hasura GraphQL --- charts/mint/templates/ensemble-manager-config.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/charts/mint/templates/ensemble-manager-config.yaml b/charts/mint/templates/ensemble-manager-config.yaml index bbd67c0..c8ec449 100644 --- a/charts/mint/templates/ensemble-manager-config.yaml +++ b/charts/mint/templates/ensemble-manager-config.yaml @@ -8,7 +8,6 @@ data: config.json: | { "data_catalog_api": "http://{{ include "mint.prefix" . }}-data-catalog", - "model_catalog_api": "http://{{ include "mint.prefix" . }}-model-catalog/{{ .Values.components.model_catalog_api.api_version }}", {{- with .Values.components.ensemble_manager }} {{- if .enabled }} "ensemble_manager_api": "http{{ if .ingress.tls }}s{{ end }}://{{ with (first .ingress.hosts ) }}{{ .host }}{{ end }}/{{ .api_version }}", From 85c48ffeee4180d3bad02bdaef6cdf184272000a Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sat, 21 Feb 2026 20:43:29 -0300 Subject: [PATCH 06/17] Update hasura image to use ghcr.io and latest tag --- charts/mint/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index 5d1e6fe..926a561 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -235,9 +235,9 @@ components: enabled: true image: # -- Docker image repository for Hasura - repository: mintproject/graphql-engine + repository: ghcr.io/mintproject/graphql-engine # -- Docker image tag for Hasura - tag: 46f4c248af68f61b66fbadad3aa439ea1fec2754 + tag: f6d4277a83adcd5295bd899fde5988ca5c335aae # -- Image pull policy for Hasura pullPolicy: IfNotPresent # -- Resource specifications for Hasura From 66f871c95075ee130f2cb6863df2573d1d4774ae Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Thu, 26 Mar 2026 21:53:40 -0300 Subject: [PATCH 07/17] refactor(model-catalog): migrate to Hasura-based v2 API Replace legacy FastAPI + Redis + Fuseki stack with the new Hasura-backed model-catalog-api. Consolidate v2 deployment and ingress into the main model-catalog template and remove the standalone v2 resources. --- .../ingress-model-catalog-api-v2.yaml | 59 -------------- .../mint/templates/model-catalog-api-v2.yaml | 79 ------------------- charts/mint/templates/model-catalog.yaml | 68 ++++++---------- charts/mint/values.yaml | 50 +++--------- 4 files changed, 32 insertions(+), 224 deletions(-) delete mode 100644 charts/mint/templates/ingress-model-catalog-api-v2.yaml delete mode 100644 charts/mint/templates/model-catalog-api-v2.yaml diff --git a/charts/mint/templates/ingress-model-catalog-api-v2.yaml b/charts/mint/templates/ingress-model-catalog-api-v2.yaml deleted file mode 100644 index 3799a19..0000000 --- a/charts/mint/templates/ingress-model-catalog-api-v2.yaml +++ /dev/null @@ -1,59 +0,0 @@ -{{- if .Values.components.model_catalog_api_v2.ingress.enabled -}} -{{- $fullName := include "mint.prefix" . -}} -{{- $svcPort := .Values.service.port -}} -{{- if and .Values.components.model_catalog_api_v2.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} - {{- if not (hasKey .Values.components.model_catalog_api_v2.ingress.annotations "kubernetes.io/ingress.class") }} - {{- $_ := set .Values.components.model_catalog_api_v2.ingress.annotations "kubernetes.io/ingress.class" .Values.components.model_catalog_api_v2.ingress.className}} - {{- end }} -{{- end }} -{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1 -{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1beta1 -{{- else -}} -apiVersion: extensions/v1beta1 -{{- end }} -kind: Ingress -metadata: - name: {{ $fullName }}-model-catalog-api-v2 - {{- with .Values.components.model_catalog_api_v2.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - {{- if and .Values.components.model_catalog_api_v2.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} - ingressClassName: {{ .Values.components.model_catalog_api_v2.ingress.className }} - {{- end }} - {{- if .Values.components.model_catalog_api_v2.ingress.tls }} - tls: - {{- range .Values.components.model_catalog_api_v2.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} - rules: - {{- range .Values.components.model_catalog_api_v2.ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} - pathType: {{ .pathType }} - {{- end }} - backend: - {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} - service: - name: {{ $fullName }}-model-catalog-api-v2 - port: - number: {{ $svcPort }} - {{- else }} - serviceName: {{ $fullName }}-model-catalog-api-v2 - servicePort: {{ $svcPort }} - {{- end }} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/mint/templates/model-catalog-api-v2.yaml b/charts/mint/templates/model-catalog-api-v2.yaml deleted file mode 100644 index df78fd7..0000000 --- a/charts/mint/templates/model-catalog-api-v2.yaml +++ /dev/null @@ -1,79 +0,0 @@ ---- -{{ if .Values.components.model_catalog_api_v2.enabled }} -apiVersion: v1 -kind: Service -metadata: - name: {{ include "mint.prefix" . }}-model-catalog-api-v2 - namespace: {{ .Release.Namespace }} - labels: - {{- include "helm.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - name: "http-api" - port: 80 - targetPort: 3000 - protocol: TCP - selector: - app: {{ include "mint.prefix" . }}-model-catalog-api-v2 ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "mint.prefix" . }}-model-catalog-api-v2 - namespace: {{ .Release.Namespace }} -spec: - replicas: 1 - selector: - matchLabels: - app: {{ include "mint.prefix" . }}-model-catalog-api-v2 - template: - metadata: - labels: - app: {{ include "mint.prefix" . }}-model-catalog-api-v2 - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - containers: - - name: model-catalog-api-v2 - {{- with .Values.components.model_catalog_api_v2 }} - image: "{{ .image.repository }}:{{ .image.tag }}" - imagePullPolicy: {{ .image.pullPolicy }} - resources: - {{- toYaml .resources | nindent 12 }} - ports: - - name: http - containerPort: 3000 - protocol: TCP - livenessProbe: - httpGet: - path: /health - port: http - initialDelaySeconds: 10 - periodSeconds: 30 - timeoutSeconds: 5 - failureThreshold: 3 - readinessProbe: - httpGet: - path: /health - port: http - initialDelaySeconds: 5 - periodSeconds: 10 - timeoutSeconds: 3 - env: - - name: PORT - value: "3000" - - name: HASURA_GRAPHQL_URL - value: "{{ .environment.hasura_graphql_url }}" - - name: LOG_LEVEL - value: "{{ .environment.log_level }}" - {{- end }} - - name: HASURA_ADMIN_SECRET - valueFrom: - secretKeyRef: - name: {{ include "mint.prefix" . }}-secrets - key: hasura_admin_secret - optional: true -{{ end }} diff --git a/charts/mint/templates/model-catalog.yaml b/charts/mint/templates/model-catalog.yaml index f6f1e9c..df4fb69 100644 --- a/charts/mint/templates/model-catalog.yaml +++ b/charts/mint/templates/model-catalog.yaml @@ -15,11 +15,7 @@ spec: {{ if eq .Values.service.type "NodePort" }} nodePort: {{ include "helm.model_catalog_api_node_port" . }} {{ end }} - targetPort: 8080 - protocol: TCP - - name: "redis-endpoint" - port: 6379 - targetPort: 6379 + targetPort: 3000 protocol: TCP selector: app: {{ include "mint.prefix" . }}-model-catalog @@ -45,12 +41,6 @@ spec: {{- end }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} - initContainers: - - name: wait-for-model-catalog-endpoint - image: alpine/curl - command: ["sh", "-c", "sleep 60; until curl -sk {{ include "mint.prefix" . }}-model-catalog-endpoint:3030/$/modelcatalog/ping; do echo waiting for model-catalog-endpoint; sleep 2; done"] - resources: - {{- toYaml .Values.resources | nindent 12 }} containers: - name: model-catalog {{- with .Values.components.model_catalog_api }} @@ -58,52 +48,38 @@ spec: imagePullPolicy: {{ .image.pullPolicy }} resources: {{- toYaml .resources | nindent 12 }} - command: ["uvicorn", "openapi_server.main:app", "--workers", "8", "--host", "0.0.0.0" , "--port", "8080"] ports: - name: http - containerPort: 8080 + containerPort: 3000 protocol: TCP - livenessProbe: httpGet: - path: /v1.8.0/models?username=mint%40isi.edu&page=1&per_page=200 + path: /health port: http + initialDelaySeconds: 10 timeoutSeconds: 30 periodSeconds: 10 successThreshold: 1 failureThreshold: 3 + readinessProbe: + httpGet: + path: /health + port: http + initialDelaySeconds: 5 + periodSeconds: 10 + timeoutSeconds: 3 env: - - name: CONTEXT_DIR - value: "{{ .environment.context_dir }}" - - name: QUERIES_DIR - value: "{{ .environment.queries_dir }}" - - name: REDIS_ADDRESS - value: {{ include "mint.prefix" $ }}-model-catalog:6379 + - name: PORT + value: "3000" + - name: HASURA_GRAPHQL_URL + value: {{ .environment.hasura_graphql_url | default (printf "http://%s-hasura/v1/graphql" (include "mint.prefix" $)) | quote }} + - name: LOG_LEVEL + value: "{{ .environment.log_level }}" {{- end }} - {{- with .Values.components.model_catalog_endpoint }} - - name: ENDPOINT - value: http://{{ include "mint.prefix" $ }}-model-catalog-endpoint:3030/{{ .environment.dataset }} - - name: GRAPH_BASE - value: "{{ .environment.graph_base }}" - - name: PREFIX - value: "{{ .environment.prefix }}" - {{- end }} - - name: AUTH_CLIENT_ID - value: {{ .Values.auth.client_id }} - - name: AUTH_SERVER - value: {{ .Values.auth.url }}/realms/{{ .Values.auth.realm }}/protocol/openid-connect/token - - name: ENDPOINT_PASSWORD + - name: HASURA_ADMIN_SECRET valueFrom: secretKeyRef: - name: {{ include "mint.prefix" . }}-model-catalog-endpoint-secrets - key: password - - name: model-catalog-redis - image: redis:6.0.16-alpine - imagePullPolicy: IfNotPresent - resources: - {{- toYaml .Values.resources | nindent 12 }} - ports: - - name: redis - containerPort: 6379 - protocol: TCP -{{ end }} \ No newline at end of file + name: {{ include "mint.prefix" . }}-secrets + key: hasura_admin_secret + optional: true +{{ end }} diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index 926a561..bb6aa80 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -237,9 +237,9 @@ components: # -- Docker image repository for Hasura repository: ghcr.io/mintproject/graphql-engine # -- Docker image tag for Hasura - tag: f6d4277a83adcd5295bd899fde5988ca5c335aae + tag: latest # -- Image pull policy for Hasura - pullPolicy: IfNotPresent + pullPolicy: Always # -- Resource specifications for Hasura resources: {} environment: @@ -343,22 +343,21 @@ components: model_catalog_api: # -- Enable or disable Model Catalog API enabled: true - # -- API version for Model Catalog API - api_version: v1.8.0 + api_version: v2.0.0 image: # -- Docker image repository for Model Catalog API - repository: mintproject/model-catalog-fastapi + repository: ghcr.io/mintproject/model-catalog-api # -- Docker image tag for Model Catalog API - tag: 7dd88dc5bf1fe6a6d4703ea0a077afee45cb2561 + tag: latest # -- Image pull policy for Model Catalog API - pullPolicy: IfNotPresent + pullPolicy: Always # -- Resource specifications for Model Catalog API resources: {} environment: - # -- Context directory for Model Catalog API - context_dir: contexts/ - # -- Queries directory for Model Catalog API - queries_dir: queries/ + # -- Hasura GraphQL URL for Model Catalog API. Defaults to internal service DNS (http://-hasura/v1/graphql) + hasura_graphql_url: "" + # -- Log level for Model Catalog API + log_level: info ingress: # -- Enable or disable ingress for Model Catalog API enabled: true @@ -371,35 +370,6 @@ components: - path: / pathType: ImplementationSpecific tls: [] - model_catalog_api_v2: - # -- Enable or disable Model Catalog API v2 - enabled: false - image: - # -- Docker image repository for Model Catalog API v2 - repository: mintproject/model-catalog-api - # -- Docker image tag for Model Catalog API v2 - tag: latest - # -- Image pull policy for Model Catalog API v2 - pullPolicy: IfNotPresent - # -- Resource specifications for Model Catalog API v2 - resources: {} - environment: - # -- Hasura GraphQL URL for Model Catalog API v2 - hasura_graphql_url: "" - # -- Log level for Model Catalog API v2 - log_level: info - ingress: - # -- Enable or disable ingress for Model Catalog API v2 - enabled: true - className: "" - annotations: - nginx.ingress.kubernetes.io/enable-cors: "true" - hosts: - - host: api.models.mint.local - paths: - - path: /v2.0.0 - pathType: Prefix - tls: [] ui: # -- Enable or disable UI enabled: true From 6c3a8b532549f8f413737761206d3d6093ce93a5 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Thu, 26 Mar 2026 21:55:43 -0300 Subject: [PATCH 08/17] chore: set pullPolicy to Always for all mint images Ensure Kubernetes always pulls the latest version of all mintproject/ and ghcr.io/mintproject/ container images. Third-party images (postgres, postgis, etc.) are unchanged. --- charts/mint/values.yaml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index bb6aa80..44ada57 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -25,7 +25,7 @@ components: # -- Docker image tag for Cromo tag: 3c75586989aedf2573c37f5352f960c294377931 # -- Image pull policy for Cromo - pullPolicy: IfNotPresent + pullPolicy: Always ingress: # -- Enable or disable ingress for Cromo enabled: true @@ -49,7 +49,7 @@ components: # -- Docker image tag for MIC UI tag: a736ac5841d471de4679bec80c13b0fb646ae073 # -- Image pull policy for MIC UI - pullPolicy: IfNotPresent + pullPolicy: Always environment: # -- API URL for MIC UI api_url: null @@ -78,7 +78,7 @@ components: # -- Docker image tag for MIC API tag: ee71a1a364fc3d384f85243684ad95d37913b049 # -- Image pull policy for MIC API - pullPolicy: IfNotPresent + pullPolicy: Always ingress: # -- Enable or disable ingress for MIC API enabled: true @@ -131,14 +131,14 @@ components: # -- Docker image tag for Data Catalog tag: 9be70359feabe03ed55bfdbf92c20a7e43ab928b # -- Image pull policy for Data Catalog - pullPolicy: IfNotPresent + pullPolicy: Always arm_image: # -- Docker image repository for ARM-based Data Catalog repository: mintproject/data-catalog # -- Docker image tag for ARM-based Data Catalog tag: 8a6af95cae183320d596dc5219f2f76d1f234749 # -- Image pull policy for ARM-based Data Catalog - pullPolicy: IfNotPresent + pullPolicy: Always # -- Resource specifications for Data Catalog resources: {} ingress: @@ -160,14 +160,14 @@ components: # -- Docker image tag for Data Catalog database tag: 9be70359feabe03ed55bfdbf92c20a7e43ab928b # -- Image pull policy for Data Catalog database - pullPolicy: IfNotPresent + pullPolicy: Always arm_image: # -- Docker image repository for ARM-based Data Catalog database repository: mintproject/data-catalog-db # -- Docker image tag for ARM-based Data Catalog database tag: 8a6af95cae183320d596dc5219f2f76d1f234749 # -- Image pull policy for ARM-based Data Catalog database - pullPolicy: IfNotPresent + pullPolicy: Always # -- Resource specifications for Data Catalog database resources: {} persistence: @@ -192,7 +192,7 @@ components: # -- Docker image tag for Model Catalog Endpoint tag: 29256555a6fbaefae4729d5cd259564708a4ab04 # -- Image pull policy for Model Catalog Endpoint - pullPolicy: IfNotPresent + pullPolicy: Always # -- Resource specifications for Model Catalog Endpoint resources: {} environment: @@ -326,7 +326,7 @@ components: # -- Docker image tag for Model Catalog Explorer tag: 0b2f9f0a9124076aeb492add2f123d0757066f6b # -- Image pull policy for Model Catalog Explorer - pullPolicy: IfNotPresent + pullPolicy: Always # -- Resource specifications for Model Catalog Explorer resources: {} ingress: @@ -379,7 +379,7 @@ components: # -- Docker image tag for UI tag: 5ec5a06c8bc68634aee3d09f79ac89d228dfd814 # -- Image pull policy for UI - pullPolicy: IfNotPresent + pullPolicy: Always # -- Resource specifications for UI resources: {} config: @@ -412,7 +412,7 @@ components: # -- Docker image tag for Ensemble Manager tag: d4e2d9d370077ec1ec12d2d9f3a7abea3e80da7d # -- Image pull policy for Ensemble Manager - pullPolicy: IfNotPresent + pullPolicy: Always # -- Ensemble Manager deployment strategy (Recreate or RollingUpdate) strategy: # -- Type of deployment strategy From b2893f9048f7723917bdee3672e53cc94df7489a Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Thu, 26 Mar 2026 22:17:04 -0300 Subject: [PATCH 09/17] feat(quick-260326-uun): switch Hasura auth from JWT to webhook with portals.tapis.io - Change auth.type from jwt to webhook - Update tapisJwksUri to https://portals.tapis.io/v3/tenants/portals - Update tapisTokenIssuer to https://portals.tapis.io/v3/tokens --- charts/mint/values.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index 44ada57..6650400 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -252,7 +252,7 @@ components: # -- Authentication configuration for Hasura auth: # -- Authentication type (jwt or webhook) - type: jwt + type: webhook jwt: # -- JWT claims configuration claims: @@ -271,9 +271,9 @@ components: resources: {} config: # -- JWKS URI for Tapis authentication - tapisJwksUri: "https://tacc.tapis.io/v3/tenants/tacc" + tapisJwksUri: "https://portals.tapis.io/v3/tenants/portals" # -- Token issuer for Tapis authentication - tapisTokenIssuer: "https://tacc.tapis.io/v3/tokens" + tapisTokenIssuer: "https://portals.tapis.io/v3/tokens" ingress: # -- Enable or disable ingress for Hasura enabled: true From 8b012bd8a35630c27a3483b7497e28cafe0128a1 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sun, 5 Apr 2026 17:56:18 -0400 Subject: [PATCH 10/17] fix: update ui tag --- charts/mint/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index 6650400..e53d0a2 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -377,7 +377,7 @@ components: # -- Docker image repository for UI repository: mintproject/mint-ui-lit # -- Docker image tag for UI - tag: 5ec5a06c8bc68634aee3d09f79ac89d228dfd814 + tag: latest # -- Image pull policy for UI pullPolicy: Always # -- Resource specifications for UI @@ -410,7 +410,7 @@ components: # -- Docker image repository for Ensemble Manager repository: mintproject/ensemble-manager # -- Docker image tag for Ensemble Manager - tag: d4e2d9d370077ec1ec12d2d9f3a7abea3e80da7d + tag: 8df9ac5ff7063a4a11d00a72d86f591bde035ca6 # -- Image pull policy for Ensemble Manager pullPolicy: Always # -- Ensemble Manager deployment strategy (Recreate or RollingUpdate) From 7f54da6bdc11d4bda779af40104a71d9528d0d55 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Tue, 7 Apr 2026 21:38:12 -0400 Subject: [PATCH 11/17] fix: update mint ensemble manager --- charts/mint/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index e53d0a2..11ca3d8 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -410,7 +410,7 @@ components: # -- Docker image repository for Ensemble Manager repository: mintproject/ensemble-manager # -- Docker image tag for Ensemble Manager - tag: 8df9ac5ff7063a4a11d00a72d86f591bde035ca6 + tag: latest # -- Image pull policy for Ensemble Manager pullPolicy: Always # -- Ensemble Manager deployment strategy (Recreate or RollingUpdate) From 923e4ce6dc9d642cab1d52ebae505ae5343c3aef Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sun, 26 Apr 2026 14:24:23 -0400 Subject: [PATCH 12/17] fix(values): disable data-catalog component --- charts/mint/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/mint/values.yaml b/charts/mint/values.yaml index 11ca3d8..ac12107 100644 --- a/charts/mint/values.yaml +++ b/charts/mint/values.yaml @@ -124,7 +124,7 @@ components: # -- Data Catalog component configuration data_catalog: # -- Enable or disable Data Catalog - enabled: true + enabled: false image: # -- Docker image repository for Data Catalog repository: mintproject/data-catalog From 5aea4c2dc4c4df4c74a510ecafa3773aa765c437 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sun, 26 Apr 2026 14:25:12 -0400 Subject: [PATCH 13/17] chore: ignore dynamo-values.yaml --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3da552e..0311fb0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .venv kubeconfig uscd.yaml +dynamo-values.yaml # Created by https://www.toptal.com/developers/gitignore/api/osx # Edit at https://www.toptal.com/developers/gitignore?templates=osx From e35b9749a29f8ff4ea2afae23de848f280504b20 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sun, 26 Apr 2026 16:18:25 -0400 Subject: [PATCH 14/17] feat(ensemble-manager): pass tapis_webhook_base_url config Render optional tapis_webhook_base_url into the ensemble-manager config when set, so dev clusters can route Tapis job notifications to a publicly reachable endpoint instead of the in-cluster ingress. --- charts/mint/templates/ensemble-manager-config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/charts/mint/templates/ensemble-manager-config.yaml b/charts/mint/templates/ensemble-manager-config.yaml index c8ec449..a43c789 100644 --- a/charts/mint/templates/ensemble-manager-config.yaml +++ b/charts/mint/templates/ensemble-manager-config.yaml @@ -11,6 +11,9 @@ data: {{- with .Values.components.ensemble_manager }} {{- if .enabled }} "ensemble_manager_api": "http{{ if .ingress.tls }}s{{ end }}://{{ with (first .ingress.hosts ) }}{{ .host }}{{ end }}/{{ .api_version }}", + {{- with .config.tapis_webhook_base_url }} + "tapis_webhook_base_url": {{ . | quote }}, + {{- end }} {{- end }} {{- end }} "graphql": { From db0a285b26b2ade7c2a2a16c46bc2eb85e5fdd39 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 26 Apr 2026 23:15:12 +0000 Subject: [PATCH 15/17] update Helm documentation --- charts/mint/README.md | 67 ++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/charts/mint/README.md b/charts/mint/README.md index cd6d820..453f7ae 100644 --- a/charts/mint/README.md +++ b/charts/mint/README.md @@ -1,6 +1,6 @@ # MINT -![Version: 8.0.1](https://img.shields.io/badge/Version-8.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16.3](https://img.shields.io/badge/AppVersion-1.16.3-informational?style=flat-square) +![Version: 8.1.0-beta.6](https://img.shields.io/badge/Version-8.1.0--beta.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16.3](https://img.shields.io/badge/AppVersion-1.16.3-informational?style=flat-square) A Helm chart for MINT @@ -32,7 +32,7 @@ A Helm chart for MINT | autoscaling.targetCPUUtilizationPercentage | int | `80` | | | components.backups.enabled | bool | `false` | Enable or disable backups | | components.cromo.enabled | bool | `false` | Enable or disable Cromo | -| components.cromo.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Cromo | +| components.cromo.image.pullPolicy | string | `"Always"` | Image pull policy for Cromo | | components.cromo.image.repository | string | `"mintproject/cromo"` | Docker image repository for Cromo | | components.cromo.image.tag | string | `"3c75586989aedf2573c37f5352f960c294377931"` | Docker image tag for Cromo | | components.cromo.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | @@ -43,20 +43,20 @@ A Helm chart for MINT | components.cromo.ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | | | components.cromo.ingress.tls | list | `[]` | | | components.cromo.resources | object | `{}` | Resource specifications for Cromo | -| components.data_catalog | object | `{"arm_image":{"pullPolicy":"IfNotPresent","repository":"mintproject/data-catalog","tag":"8a6af95cae183320d596dc5219f2f76d1f234749"},"enabled":true,"image":{"pullPolicy":"IfNotPresent","repository":"mintproject/data-catalog","tag":"9be70359feabe03ed55bfdbf92c20a7e43ab928b"},"ingress":{"annotations":{"nginx.ingress.kubernetes.io/enable-cors":"true"},"className":"","enabled":true,"hosts":[{"host":"datacatalog.mint.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]},"resources":{}}` | Data Catalog component configuration | -| components.data_catalog.arm_image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for ARM-based Data Catalog | +| components.data_catalog | object | `{"arm_image":{"pullPolicy":"Always","repository":"mintproject/data-catalog","tag":"8a6af95cae183320d596dc5219f2f76d1f234749"},"enabled":false,"image":{"pullPolicy":"Always","repository":"mintproject/data-catalog","tag":"9be70359feabe03ed55bfdbf92c20a7e43ab928b"},"ingress":{"annotations":{"nginx.ingress.kubernetes.io/enable-cors":"true"},"className":"","enabled":true,"hosts":[{"host":"datacatalog.mint.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]},"resources":{}}` | Data Catalog component configuration | +| components.data_catalog.arm_image.pullPolicy | string | `"Always"` | Image pull policy for ARM-based Data Catalog | | components.data_catalog.arm_image.repository | string | `"mintproject/data-catalog"` | Docker image repository for ARM-based Data Catalog | | components.data_catalog.arm_image.tag | string | `"8a6af95cae183320d596dc5219f2f76d1f234749"` | Docker image tag for ARM-based Data Catalog | -| components.data_catalog.enabled | bool | `true` | Enable or disable Data Catalog | -| components.data_catalog.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Data Catalog | +| components.data_catalog.enabled | bool | `false` | Enable or disable Data Catalog | +| components.data_catalog.image.pullPolicy | string | `"Always"` | Image pull policy for Data Catalog | | components.data_catalog.image.repository | string | `"mintproject/data-catalog"` | Docker image repository for Data Catalog | | components.data_catalog.image.tag | string | `"9be70359feabe03ed55bfdbf92c20a7e43ab928b"` | Docker image tag for Data Catalog | | components.data_catalog.ingress.enabled | bool | `true` | Enable or disable ingress for Data Catalog | | components.data_catalog.resources | object | `{}` | Resource specifications for Data Catalog | -| components.data_catalog_db.arm_image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for ARM-based Data Catalog database | +| components.data_catalog_db.arm_image.pullPolicy | string | `"Always"` | Image pull policy for ARM-based Data Catalog database | | components.data_catalog_db.arm_image.repository | string | `"mintproject/data-catalog-db"` | Docker image repository for ARM-based Data Catalog database | | components.data_catalog_db.arm_image.tag | string | `"8a6af95cae183320d596dc5219f2f76d1f234749"` | Docker image tag for ARM-based Data Catalog database | -| components.data_catalog_db.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Data Catalog database | +| components.data_catalog_db.image.pullPolicy | string | `"Always"` | Image pull policy for Data Catalog database | | components.data_catalog_db.image.repository | string | `"mintproject/data-catalog-db"` | Docker image repository for Data Catalog database | | components.data_catalog_db.image.tag | string | `"9be70359feabe03ed55bfdbf92c20a7e43ab928b"` | Docker image tag for Data Catalog database | | components.data_catalog_db.persistence.accessModes[0] | string | `"ReadWriteOnce"` | | @@ -93,10 +93,10 @@ A Helm chart for MINT | components.ensemble_manager.config.graphql.use_secret | bool | `true` | | | components.ensemble_manager.enabled | bool | `true` | Enable or disable Ensemble Manager | | components.ensemble_manager.environment.data_dir | string | `"/var/mint"` | | -| components.ensemble_manager.image | object | `{"pullPolicy":"IfNotPresent","repository":"mintproject/ensemble-manager","tag":"8.0.1"}` | Docker image repository for Ensemble Manager | -| components.ensemble_manager.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Ensemble Manager | +| components.ensemble_manager.image | object | `{"pullPolicy":"Always","repository":"mintproject/ensemble-manager","tag":"latest"}` | Docker image repository for Ensemble Manager | +| components.ensemble_manager.image.pullPolicy | string | `"Always"` | Image pull policy for Ensemble Manager | | components.ensemble_manager.image.repository | string | `"mintproject/ensemble-manager"` | Docker image repository for Ensemble Manager | -| components.ensemble_manager.image.tag | string | `"8.0.1"` | Docker image tag for Ensemble Manager | +| components.ensemble_manager.image.tag | string | `"latest"` | Docker image tag for Ensemble Manager | | components.ensemble_manager.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | | components.ensemble_manager.ingress.className | string | `""` | | | components.ensemble_manager.ingress.enabled | bool | `true` | | @@ -117,11 +117,11 @@ A Helm chart for MINT | components.ensemble_manager.serviceAccountName | string | `"default"` | Service account name for Ensemble Manager, used to run jobs | | components.ensemble_manager.strategy | object | `{"type":"Recreate"}` | Ensemble Manager deployment strategy (Recreate or RollingUpdate) | | components.ensemble_manager.strategy.type | string | `"Recreate"` | Type of deployment strategy | -| components.hasura.auth | object | `{"jwt":{"claims":{"namespace":"https://hasura.io/jwt/claims"}},"type":"jwt","webhook":{"config":{"tapisJwksUri":"https://tacc.tapis.io/v3/tenants/tacc","tapisTokenIssuer":"https://tacc.tapis.io/v3/tokens"},"service":{"image":{"pullPolicy":"IfNotPresent","repository":"ghcr.io/in-for-disaster-analytics/hasura-tapis-auth-webhook","tag":"1.0.0"},"resources":{}}}}` | Authentication configuration for Hasura | +| components.hasura.auth | object | `{"jwt":{"claims":{"namespace":"https://hasura.io/jwt/claims"}},"type":"webhook","webhook":{"config":{"tapisJwksUri":"https://portals.tapis.io/v3/tenants/portals","tapisTokenIssuer":"https://portals.tapis.io/v3/tokens"},"service":{"image":{"pullPolicy":"IfNotPresent","repository":"ghcr.io/in-for-disaster-analytics/hasura-tapis-auth-webhook","tag":"1.0.0"},"resources":{}}}}` | Authentication configuration for Hasura | | components.hasura.auth.jwt.claims | object | `{"namespace":"https://hasura.io/jwt/claims"}` | JWT claims configuration | -| components.hasura.auth.type | string | `"jwt"` | Authentication type (jwt or webhook) | -| components.hasura.auth.webhook.config.tapisJwksUri | string | `"https://tacc.tapis.io/v3/tenants/tacc"` | JWKS URI for Tapis authentication | -| components.hasura.auth.webhook.config.tapisTokenIssuer | string | `"https://tacc.tapis.io/v3/tokens"` | Token issuer for Tapis authentication | +| components.hasura.auth.type | string | `"webhook"` | Authentication type (jwt or webhook) | +| components.hasura.auth.webhook.config.tapisJwksUri | string | `"https://portals.tapis.io/v3/tenants/portals"` | JWKS URI for Tapis authentication | +| components.hasura.auth.webhook.config.tapisTokenIssuer | string | `"https://portals.tapis.io/v3/tokens"` | Token issuer for Tapis authentication | | components.hasura.auth.webhook.service | object | `{"image":{"pullPolicy":"IfNotPresent","repository":"ghcr.io/in-for-disaster-analytics/hasura-tapis-auth-webhook","tag":"1.0.0"},"resources":{}}` | Webhook service configuration | | components.hasura.auth.webhook.service.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for auth webhook | | components.hasura.auth.webhook.service.image.repository | string | `"ghcr.io/in-for-disaster-analytics/hasura-tapis-auth-webhook"` | Docker image repository for auth webhook | @@ -131,9 +131,9 @@ A Helm chart for MINT | components.hasura.environment.enable_console | bool | `true` | Enable or disable Hasura console | | components.hasura.environment.enable_dev_mode | bool | `false` | Enable or disable Hasura dev mode | | components.hasura.environment.unauthorized_role | string | `"anonymous"` | Unauthorized role for Hasura | -| components.hasura.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Hasura | -| components.hasura.image.repository | string | `"mintproject/graphql-engine"` | Docker image repository for Hasura | -| components.hasura.image.tag | string | `"305c0dbeba1878eafe348f21fc300fbfc017d9dc"` | Docker image tag for Hasura | +| components.hasura.image.pullPolicy | string | `"Always"` | Image pull policy for Hasura | +| components.hasura.image.repository | string | `"ghcr.io/mintproject/graphql-engine"` | Docker image repository for Hasura | +| components.hasura.image.tag | string | `"latest"` | Docker image tag for Hasura | | components.hasura.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | | components.hasura.ingress.className | string | `nil` | | | components.hasura.ingress.enabled | bool | `true` | Enable or disable ingress for Hasura | @@ -158,9 +158,9 @@ A Helm chart for MINT | components.hasura_db.persistence.storageClass | string | `""` | | | components.hasura_db.persistence.subPath | string | `""` | Subpath for Hasura database | | components.hasura_db.resources | object | `{}` | Resource specifications for Hasura database | -| components.mic_api | object | `{"enabled":false,"image":{"pullPolicy":"IfNotPresent","repository":"mintproject/mic-api","tag":"ee71a1a364fc3d384f85243684ad95d37913b049"},"ingress":{"annotations":{"nginx.ingress.kubernetes.io/enable-cors":"true"},"className":"","enabled":true,"hosts":[{"host":"api.mic.mint.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]},"resources":{}}` | MIC API component configuration | +| components.mic_api | object | `{"enabled":false,"image":{"pullPolicy":"Always","repository":"mintproject/mic-api","tag":"ee71a1a364fc3d384f85243684ad95d37913b049"},"ingress":{"annotations":{"nginx.ingress.kubernetes.io/enable-cors":"true"},"className":"","enabled":true,"hosts":[{"host":"api.mic.mint.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]},"resources":{}}` | MIC API component configuration | | components.mic_api.enabled | bool | `false` | Enable or disable MIC API | -| components.mic_api.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for MIC API | +| components.mic_api.image.pullPolicy | string | `"Always"` | Image pull policy for MIC API | | components.mic_api.image.repository | string | `"mintproject/mic-api"` | Docker image repository for MIC API | | components.mic_api.image.tag | string | `"ee71a1a364fc3d384f85243684ad95d37913b049"` | Docker image tag for MIC API | | components.mic_api.ingress.enabled | bool | `true` | Enable or disable ingress for MIC API | @@ -181,7 +181,7 @@ A Helm chart for MINT | components.mic_ui.enabled | bool | `false` | Enable or disable MIC UI | | components.mic_ui.image.environment.airflow_url | string | `"https://airflow.mint.isi.edu/api/v1"` | Airflow URL for MIC UI | | components.mic_ui.image.environment.api_url | string | `nil` | API URL for MIC UI | -| components.mic_ui.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for MIC UI | +| components.mic_ui.image.pullPolicy | string | `"Always"` | Image pull policy for MIC UI | | components.mic_ui.image.repository | string | `"mintproject/mic-web"` | Docker image repository for MIC UI | | components.mic_ui.image.tag | string | `"a736ac5841d471de4679bec80c13b0fb646ae073"` | Docker image tag for MIC UI | | components.mic_ui.ingress.annotations | object | `{}` | | @@ -192,13 +192,13 @@ A Helm chart for MINT | components.mic_ui.ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | | | components.mic_ui.ingress.tls | list | `[]` | | | components.mic_ui.resources | object | `{}` | Resource specifications for MIC UI | -| components.model_catalog_api.api_version | string | `"v1.8.0"` | API version for Model Catalog API | +| components.model_catalog_api.api_version | string | `"v2.0.0"` | | | components.model_catalog_api.enabled | bool | `true` | Enable or disable Model Catalog API | -| components.model_catalog_api.environment.context_dir | string | `"contexts/"` | Context directory for Model Catalog API | -| components.model_catalog_api.environment.queries_dir | string | `"queries/"` | Queries directory for Model Catalog API | -| components.model_catalog_api.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Model Catalog API | -| components.model_catalog_api.image.repository | string | `"mintproject/model-catalog-fastapi"` | Docker image repository for Model Catalog API | -| components.model_catalog_api.image.tag | string | `"7dd88dc5bf1fe6a6d4703ea0a077afee45cb2561"` | Docker image tag for Model Catalog API | +| components.model_catalog_api.environment.hasura_graphql_url | string | `""` | Hasura GraphQL URL for Model Catalog API. Defaults to internal service DNS (http://-hasura/v1/graphql) | +| components.model_catalog_api.environment.log_level | string | `"info"` | Log level for Model Catalog API | +| components.model_catalog_api.image.pullPolicy | string | `"Always"` | Image pull policy for Model Catalog API | +| components.model_catalog_api.image.repository | string | `"ghcr.io/mintproject/model-catalog-api"` | Docker image repository for Model Catalog API | +| components.model_catalog_api.image.tag | string | `"latest"` | Docker image tag for Model Catalog API | | components.model_catalog_api.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | | components.model_catalog_api.ingress.className | string | `""` | | | components.model_catalog_api.ingress.enabled | bool | `true` | Enable or disable ingress for Model Catalog API | @@ -207,13 +207,13 @@ A Helm chart for MINT | components.model_catalog_api.ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | | | components.model_catalog_api.ingress.tls | list | `[]` | | | components.model_catalog_api.resources | object | `{}` | Resource specifications for Model Catalog API | -| components.model_catalog_endpoint.enabled | bool | `true` | Enable or disable Model Catalog Endpoint | +| components.model_catalog_endpoint.enabled | bool | `false` | Enable or disable Model Catalog Endpoint | | components.model_catalog_endpoint.environment.backup_file | string | `"/fuseki-base/seeds/model-catalog.trig"` | Backup file path for Model Catalog Endpoint | | components.model_catalog_endpoint.environment.dataset | string | `"modelcatalog"` | Dataset name for Model Catalog Endpoint Apache Jena Fuseki | | components.model_catalog_endpoint.environment.graph_base | string | `"http://endpoint.mint.isi.edu/modelCatalog-1.8.0/data/"` | Graph base URL for Model Catalog Endpoint. The triples are stored in this graph | | components.model_catalog_endpoint.environment.prefix | string | `"https://w3id.org/okn/i/mint/"` | Prefix URL for Model Catalog Endpoint | | components.model_catalog_endpoint.environment.seeds_url | string | `"https://raw.githubusercontent.com/mintproject/model-catalog-endpoint/main/data/model-catalog.trig"` | Seeds URL for Model Catalog Endpoint | -| components.model_catalog_endpoint.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Model Catalog Endpoint | +| components.model_catalog_endpoint.image.pullPolicy | string | `"Always"` | Image pull policy for Model Catalog Endpoint | | components.model_catalog_endpoint.image.repository | string | `"mintproject/model-catalog-endpoint"` | Docker image repository for Model Catalog Endpoint | | components.model_catalog_endpoint.image.tag | string | `"29256555a6fbaefae4729d5cd259564708a4ab04"` | Docker image tag for Model Catalog Endpoint | | components.model_catalog_endpoint.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | @@ -233,7 +233,7 @@ A Helm chart for MINT | components.model_catalog_endpoint.persistence.storageClass | string | `""` | | | components.model_catalog_endpoint.resources | object | `{}` | Resource specifications for Model Catalog Endpoint | | components.model_catalog_explorer.enabled | bool | `true` | Enable or disable Model Catalog Explorer | -| components.model_catalog_explorer.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Model Catalog Explorer | +| components.model_catalog_explorer.image.pullPolicy | string | `"Always"` | Image pull policy for Model Catalog Explorer | | components.model_catalog_explorer.image.repository | string | `"mintproject/model-catalog-explorer"` | Docker image repository for Model Catalog Explorer | | components.model_catalog_explorer.image.tag | string | `"0b2f9f0a9124076aeb492add2f123d0757066f6b"` | Docker image tag for Model Catalog Explorer | | components.model_catalog_explorer.ingress.annotations | object | `{}` | | @@ -251,9 +251,9 @@ A Helm chart for MINT | components.ui.config.ingestion_api | string | `""` | | | components.ui.config.visualization_url | string | `""` | | | components.ui.enabled | bool | `true` | Enable or disable UI | -| components.ui.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for UI | +| components.ui.image.pullPolicy | string | `"Always"` | Image pull policy for UI | | components.ui.image.repository | string | `"mintproject/mint-ui-lit"` | Docker image repository for UI | -| components.ui.image.tag | string | `"c52818e6b0d28e556c8696667cf4a5e3771d040d"` | Docker image tag for UI | +| components.ui.image.tag | string | `"latest"` | Docker image tag for UI | | components.ui.ingress.annotations | object | `{}` | | | components.ui.ingress.className | string | `""` | | | components.ui.ingress.enabled | bool | `true` | Enable or disable ingress for UI | @@ -264,6 +264,7 @@ A Helm chart for MINT | components.ui.resources | object | `{}` | Resource specifications for UI | | default_user | string | `"mint@isi.edu"` | Default user email | | external_services.ckan.enabled | bool | `false` | Enable or disable CKAN service | +| external_services.ckan.extra.default_dataset_id | string | `""` | Default dataset ID for CKAN service. Used by Ensemble Manager to upload data when a task has no dataset_id | | external_services.ckan.extra.owner_organization_id | string | `""` | Owner organization ID for CKAN service | | external_services.ckan.extra.owner_provenance_id | string | `""` | Owner provenance ID for CKAN service | | external_services.ckan.type | string | `"CKAN"` | CKAN service type | @@ -283,7 +284,7 @@ A Helm chart for MINT | imagePullSecrets | list | `[]` | | | jobs.hasura.enabled | bool | `true` | Enable or disable MINT Database initialization | | jobs.hasura.resources | object | `{}` | Resource specifications for MINT Database initialization | -| jobs.model_catalog_endpoint.enabled | bool | `true` | Enable or disable Model Catalog API initialization | +| jobs.model_catalog_endpoint.enabled | bool | `false` | Enable or disable Model Catalog API initialization | | jobs.model_catalog_endpoint.resources | object | `{}` | Resource specifications for Model Catalog API initialization | | nameOverride | string | `""` | | | nodeSelector | object | `{}` | | From a37f17fa7ac47924376df365b224370818be2d71 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sun, 26 Apr 2026 19:18:05 -0400 Subject: [PATCH 16/17] release: 9.0.0-beta.1 --- charts/mint/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/mint/Chart.yaml b/charts/mint/Chart.yaml index ef2be88..8eb8832 100644 --- a/charts/mint/Chart.yaml +++ b/charts/mint/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 8.1.0-beta.6 +version: 9.0.0-beta.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. From e5072d5c68cf57743024e20e05e8641898642a0c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 26 Apr 2026 23:18:38 +0000 Subject: [PATCH 17/17] update Helm documentation --- charts/mint/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/mint/README.md b/charts/mint/README.md index 453f7ae..705a08d 100644 --- a/charts/mint/README.md +++ b/charts/mint/README.md @@ -1,6 +1,6 @@ # MINT -![Version: 8.1.0-beta.6](https://img.shields.io/badge/Version-8.1.0--beta.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16.3](https://img.shields.io/badge/AppVersion-1.16.3-informational?style=flat-square) +![Version: 9.0.0-beta.1](https://img.shields.io/badge/Version-9.0.0--beta.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16.3](https://img.shields.io/badge/AppVersion-1.16.3-informational?style=flat-square) A Helm chart for MINT