diff --git a/src/deployml/docker/grafana-container/Dockerfile b/src/deployml/docker/grafana-container/Dockerfile index 5ba6664..da429d0 100644 --- a/src/deployml/docker/grafana-container/Dockerfile +++ b/src/deployml/docker/grafana-container/Dockerfile @@ -4,9 +4,7 @@ FROM grafana/grafana:10.4.5 USER root # Configure Grafana to listen on Cloud Run's expected port -ENV GF_SERVER_HTTP_PORT=8080 \ - GF_SECURITY_ADMIN_USER=admin \ - GF_SECURITY_ADMIN_PASSWORD=admin +ENV GF_SERVER_HTTP_PORT=8080 # Copy entrypoint script and set permissions COPY entrypoint.sh /usr/local/bin/entrypoint.sh diff --git a/src/deployml/templates/gcp/cloud_run/main.tf.j2 b/src/deployml/templates/gcp/cloud_run/main.tf.j2 index 45bd45c..6d87abe 100644 --- a/src/deployml/templates/gcp/cloud_run/main.tf.j2 +++ b/src/deployml/templates/gcp/cloud_run/main.tf.j2 @@ -201,6 +201,8 @@ module "{{ stage_name }}_{{ tool.name }}" { cpu_limit = var.cpu_limit memory_limit = var.memory_limit allow_public_access = var.allow_public_access + grafana_admin_user = "{{ tool.params.get('grafana_admin_user', 'admin') }}" + grafana_admin_password = "{{ tool.params.get('grafana_admin_password', 'admin') }}" {% if flags.needs_postgres %} metrics_connection_string = module.cloud_sql_postgres.grafana_connection_string_cloud_sql use_metrics_database = true diff --git a/src/deployml/templates/gcp/cloud_run/mlflow_main.tf.j2 b/src/deployml/templates/gcp/cloud_run/mlflow_main.tf.j2 index 8302530..13c1c66 100644 --- a/src/deployml/templates/gcp/cloud_run/mlflow_main.tf.j2 +++ b/src/deployml/templates/gcp/cloud_run/mlflow_main.tf.j2 @@ -280,6 +280,8 @@ module "{{ stage_name }}_{{ tool.name }}" { cpu_limit = var.cpu_limit memory_limit = var.memory_limit allow_public_access = var.allow_public_access + grafana_admin_user = "{{ tool.params.get('grafana_admin_user', 'admin') }}" + grafana_admin_password = "{{ tool.params.get('grafana_admin_password', 'admin') }}" {% if flags.needs_postgres %} metrics_connection_string = module.cloud_sql_postgres.grafana_connection_string_cloud_sql use_metrics_database = true diff --git a/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/main.tf b/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/main.tf index 440001a..f5fd44c 100644 --- a/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/main.tf +++ b/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/main.tf @@ -48,6 +48,14 @@ resource "google_cloud_run_service" "grafana" { name = "GF_SERVER_HTTP_PORT" value = "8080" } + env { + name = "GF_SECURITY_ADMIN_USER" + value = var.grafana_admin_user + } + env { + name = "GF_SECURITY_ADMIN_PASSWORD" + value = var.grafana_admin_password + } } } } diff --git a/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/variables.tf b/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/variables.tf index 5db3fbb..0206415 100644 --- a/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/variables.tf +++ b/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/variables.tf @@ -52,4 +52,17 @@ variable "cloudsql_instance_annotation" { type = string description = "Cloud SQL instance connection annotation" default = "" +} + +variable "grafana_admin_user" { + type = string + description = "Admin username for Grafana" + default = "admin" +} + +variable "grafana_admin_password" { + type = string + description = "Admin password for Grafana" + default = "admin" + sensitive = true } \ No newline at end of file