[bitnami/mlflow] feat: Allow database dialects of external database to be configured (#25965)

* [bitnami/mlflow] feat: Allow database dialect of external database to be configured

Currently the database URI statically uses `postgresql` as dialect, even though
other types are supported by mlFlow.
This now allows to use the other supported database types as external database.

[1] https://mlflow.org/docs/latest/tracking/backend-stores.html?highlight=mssql#supported-store-types

Resolves: #25964
Signed-off-by: Christian Rohmann <christian.rohmann@inovex.de>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

---------

Signed-off-by: Christian Rohmann <christian.rohmann@inovex.de>
Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>
Signed-off-by: Carlos Rodríguez Hernández <carlosrh@vmware.com>
Co-authored-by: Bitnami Containers <bitnami-bot@vmware.com>
Co-authored-by: Carlos Rodríguez Hernández <carlosrh@vmware.com>
This commit is contained in:
Christian Rohmann
2024-06-04 12:35:41 +02:00
committed by GitHub
parent 629da67d75
commit 6e2e37046e
6 changed files with 29 additions and 5 deletions

View File

@@ -1,8 +1,12 @@
# Changelog
## 1.2.3 (2024-06-03)
## 1.3.0 (2024-06-04)
* [bitnami/mlflow] fix always image warning ([#26472](https://github.com/bitnami/charts/pull/26472))
* [bitnami/mlflow] feat: Allow database dialects of external database to be configured ([#25965](https://github.com/bitnami/charts/pull/25965))
## <small>1.2.3 (2024-06-04)</small>
* [bitnami/mlflow] fix always image warning (#26472) ([0b7d009](https://github.com/bitnami/charts/commit/0b7d009b3736199f12a708b946d7e90b2383ce94)), closes [#26472](https://github.com/bitnami/charts/issues/26472)
## <small>1.2.2 (2024-05-28)</small>

View File

@@ -44,4 +44,4 @@ sources:
- https://github.com/bitnami/charts/tree/main/bitnami/mlflow
- https://github.com/bitnami/containers/tree/main/bitnami/mlflow
- https://github.com/mlflow/mlflow
version: 1.2.3
version: 1.3.0

View File

@@ -416,6 +416,7 @@ The command deploys mlflow on the Kubernetes cluster in the default configuratio
| Name | Description | Value |
| -------------------------------------------- | ----------------------------------------------------------------------- | ------------- |
| `externalDatabase.dialectDriver` | Database Dialect(+Driver) | `postgresql` |
| `externalDatabase.host` | Database host | `""` |
| `externalDatabase.port` | Database port number | `5432` |
| `externalDatabase.user` | Non-root username | `postgres` |

View File

@@ -392,6 +392,17 @@ Return the PostgreSQL Hostname
{{- end -}}
{{- end -}}
{{/*
Return the Database Dialect(+Driver)
*/}}
{{- define "mlflow.v0.database.dialectDriver" -}}
{{- if .Values.postgresql.enabled -}}
{{- print "postgresql" -}}
{{- else -}}
{{- print .Values.externalDatabase.dialectDriver -}}
{{- end -}}
{{- end -}}
{{/*
Return the PostgreSQL Hostname
*/}}
@@ -499,7 +510,7 @@ Retrieve the URI of the database
Retrieve the URI of the auth database
*/}}
{{- define "mlflow.v0.database-auth.uri" -}}
{{- printf "postgresql://%s:$(MLFLOW_DATABASE_PASSWORD)@%s:%v/%s" (include "mlflow.v0.database.user" .) (include "mlflow.v0.database.host" .) (include "mlflow.v0.database.port" .) (include "mlflow.v0.database-auth.name" .) -}}
{{- printf "%s://%s:$(MLFLOW_DATABASE_PASSWORD)@%s:%v/%s" (include "mlflow.v0.database.dialectDriver" .) (include "mlflow.v0.database.user" .) (include "mlflow.v0.database.host" .) (include "mlflow.v0.database.port" .) (include "mlflow.v0.database-auth.name" .) -}}
{{- end -}}
{{/*

View File

@@ -1955,6 +1955,12 @@
"externalDatabase": {
"type": "object",
"properties": {
"dialectDriver": {
"type": "string",
"description": "Database dialect(+driver)",
"default": "postgresql",
"pattern": "^(mysql|mssql|sqlite|postgresql)(\\+\\w+)?$"
},
"host": {
"type": "string",
"description": "Database host",
@@ -2148,4 +2154,4 @@
}
}
}
}
}

View File

@@ -1330,6 +1330,7 @@ postgresql:
PGPASSWORD=$POSTGRES_POSTGRES_PASSWORD psql -U postgres <<< "ALTER DATABASE {{ include "mlflow.v0.database-auth.name" . }} OWNER TO {{ .Values.auth.username }}"
## @section External PostgreSQL configuration
## All of these values are only used when postgresql.enabled is set to false
## @param externalDatabase.dialectDriver Database Dialect(+Driver)
## @param externalDatabase.host Database host
## @param externalDatabase.port Database port number
## @param externalDatabase.user Non-root username
@@ -1340,6 +1341,7 @@ postgresql:
## @param externalDatabase.existingSecretPasswordKey Name of an existing secret key containing the database credentials
##
externalDatabase:
dialectDriver: "postgresql"
host: ""
port: 5432
user: postgres