From 3acc13ad11438592c63b59288fa51a5d473c6b18 Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Tue, 21 Apr 2026 12:31:32 +0200 Subject: [PATCH 01/10] Use jaas_access_offer for PS7 offers --- deployments/cos-lite/ps7/main.tf | 8 ++++---- deployments/falcosidekick/ps7/main.tf | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/deployments/cos-lite/ps7/main.tf b/deployments/cos-lite/ps7/main.tf index 84655b7..169c9f4 100644 --- a/deployments/cos-lite/ps7/main.tf +++ b/deployments/cos-lite/ps7/main.tf @@ -449,25 +449,25 @@ resource "juju_offer" "prometheus_metrics_endpoint" { endpoints = ["metrics-endpoint"] } -resource "juju_access_offer" "grafana_dashboard" { +resource "jaas_access_offer" "grafana_dashboard" { offer_url = juju_offer.grafana_dashboards.url admin = [var.model] consume = var.grafana_consumers } -resource "juju_access_offer" "loki_logging" { +resource "jaas_access_offer" "loki_logging" { offer_url = juju_offer.loki_logging.url admin = [var.model] consume = var.loki_consumers } -resource "juju_access_offer" "remote_write" { +resource "jaas_access_offer" "remote_write" { offer_url = juju_offer.prometheus_receive_remote_write.url admin = [var.model] consume = var.remote_write_consumers } -resource "juju_access_offer" "metrics_endpoint" { +resource "jaas_access_offer" "metrics_endpoint" { offer_url = juju_offer.prometheus_metrics_endpoint.url admin = [var.model] consume = var.metrics_endpoint_consumers diff --git a/deployments/falcosidekick/ps7/main.tf b/deployments/falcosidekick/ps7/main.tf index 53de02c..3e2a2dc 100644 --- a/deployments/falcosidekick/ps7/main.tf +++ b/deployments/falcosidekick/ps7/main.tf @@ -66,7 +66,7 @@ resource "juju_offer" "falcosidekick_http_endpoint" { endpoints = [module.falcosidekick.provides.http_endpoint] } -resource "juju_access_offer" "falcosidekick_http_endpoint" { +resource "jaas_access_offer" "falcosidekick_http_endpoint" { admin = [var.model_name] offer_url = juju_offer.falcosidekick_http_endpoint.url consume = var.falcosidekick_http_endpoint_consumers From b0bcdd9cc6f3d38555816edc1ba6df255c0f0054 Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Tue, 21 Apr 2026 12:33:32 +0200 Subject: [PATCH 02/10] update provider --- deployments/cos-lite/ps7/versions.tf | 2 +- deployments/falcosidekick/ps7/versions.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deployments/cos-lite/ps7/versions.tf b/deployments/cos-lite/ps7/versions.tf index 3206481..80942e7 100644 --- a/deployments/cos-lite/ps7/versions.tf +++ b/deployments/cos-lite/ps7/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { juju = { source = "juju/juju" - version = "~> 1.0" + version = "~> 1.4" } } } diff --git a/deployments/falcosidekick/ps7/versions.tf b/deployments/falcosidekick/ps7/versions.tf index 9d7b13e..bbf4031 100644 --- a/deployments/falcosidekick/ps7/versions.tf +++ b/deployments/falcosidekick/ps7/versions.tf @@ -7,7 +7,7 @@ terraform { } juju = { source = "juju/juju" - version = "~> 1.1.1" + version = "~> 1.4.0" } } } From ee97d1f777ef45b1e654b800e1ee124594156a97 Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Tue, 21 Apr 2026 12:58:46 +0200 Subject: [PATCH 03/10] update provider --- deployments/cos-lite/ps7/versions.tf | 2 +- deployments/falcosidekick/ps7/versions.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deployments/cos-lite/ps7/versions.tf b/deployments/cos-lite/ps7/versions.tf index 80942e7..5fa85b4 100644 --- a/deployments/cos-lite/ps7/versions.tf +++ b/deployments/cos-lite/ps7/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { juju = { source = "juju/juju" - version = "~> 1.4" + version = "~> 1.4.3" } } } diff --git a/deployments/falcosidekick/ps7/versions.tf b/deployments/falcosidekick/ps7/versions.tf index bbf4031..1cb1323 100644 --- a/deployments/falcosidekick/ps7/versions.tf +++ b/deployments/falcosidekick/ps7/versions.tf @@ -7,7 +7,7 @@ terraform { } juju = { source = "juju/juju" - version = "~> 1.4.0" + version = "~> 1.4.3" } } } From 86743e7aca0411a6522b32c412dc902787f9d500 Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Tue, 21 Apr 2026 13:02:15 +0200 Subject: [PATCH 04/10] update provider --- deployments/cos-lite/ps7/main.tf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deployments/cos-lite/ps7/main.tf b/deployments/cos-lite/ps7/main.tf index 169c9f4..bc8e665 100644 --- a/deployments/cos-lite/ps7/main.tf +++ b/deployments/cos-lite/ps7/main.tf @@ -449,25 +449,25 @@ resource "juju_offer" "prometheus_metrics_endpoint" { endpoints = ["metrics-endpoint"] } -resource "jaas_access_offer" "grafana_dashboard" { +resource "juju_jaas_access_offer" "grafana_dashboard" { offer_url = juju_offer.grafana_dashboards.url admin = [var.model] consume = var.grafana_consumers } -resource "jaas_access_offer" "loki_logging" { +resource "juju_jaas_access_offer" "loki_logging" { offer_url = juju_offer.loki_logging.url admin = [var.model] consume = var.loki_consumers } -resource "jaas_access_offer" "remote_write" { +resource "juju_jaas_access_offer" "remote_write" { offer_url = juju_offer.prometheus_receive_remote_write.url admin = [var.model] consume = var.remote_write_consumers } -resource "jaas_access_offer" "metrics_endpoint" { +resource "juju_jaas_access_offer" "metrics_endpoint" { offer_url = juju_offer.prometheus_metrics_endpoint.url admin = [var.model] consume = var.metrics_endpoint_consumers From a10df3c59d4f088e0737d7e0e772b149c2c3b39b Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Tue, 21 Apr 2026 13:02:43 +0200 Subject: [PATCH 05/10] update provider --- deployments/falcosidekick/ps7/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployments/falcosidekick/ps7/main.tf b/deployments/falcosidekick/ps7/main.tf index 3e2a2dc..6def077 100644 --- a/deployments/falcosidekick/ps7/main.tf +++ b/deployments/falcosidekick/ps7/main.tf @@ -66,7 +66,7 @@ resource "juju_offer" "falcosidekick_http_endpoint" { endpoints = [module.falcosidekick.provides.http_endpoint] } -resource "jaas_access_offer" "falcosidekick_http_endpoint" { +resource "juju_jaas_access_offer" "falcosidekick_http_endpoint" { admin = [var.model_name] offer_url = juju_offer.falcosidekick_http_endpoint.url consume = var.falcosidekick_http_endpoint_consumers From d191531d5835d7cd22b886564a8ffab79c14f365 Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Tue, 21 Apr 2026 15:49:31 +0200 Subject: [PATCH 06/10] Fix offers --- deployments/cos-lite/ps7/main.tf | 16 ++++++++-------- deployments/falcosidekick/ps7/main.tf | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/deployments/cos-lite/ps7/main.tf b/deployments/cos-lite/ps7/main.tf index bc8e665..33f1b25 100644 --- a/deployments/cos-lite/ps7/main.tf +++ b/deployments/cos-lite/ps7/main.tf @@ -451,25 +451,25 @@ resource "juju_offer" "prometheus_metrics_endpoint" { resource "juju_jaas_access_offer" "grafana_dashboard" { offer_url = juju_offer.grafana_dashboards.url - admin = [var.model] - consume = var.grafana_consumers + access = "consumer" + users = var.grafana_consumers } resource "juju_jaas_access_offer" "loki_logging" { offer_url = juju_offer.loki_logging.url - admin = [var.model] - consume = var.loki_consumers + access = "consumer" + users = var.loki_consumers } resource "juju_jaas_access_offer" "remote_write" { offer_url = juju_offer.prometheus_receive_remote_write.url - admin = [var.model] - consume = var.remote_write_consumers + access = "consumer" + users = var.remote_write_consumers } resource "juju_jaas_access_offer" "metrics_endpoint" { offer_url = juju_offer.prometheus_metrics_endpoint.url - admin = [var.model] - consume = var.metrics_endpoint_consumers + access = "consumer" + users = var.metrics_endpoint_consumers } diff --git a/deployments/falcosidekick/ps7/main.tf b/deployments/falcosidekick/ps7/main.tf index 6def077..10c6785 100644 --- a/deployments/falcosidekick/ps7/main.tf +++ b/deployments/falcosidekick/ps7/main.tf @@ -67,8 +67,8 @@ resource "juju_offer" "falcosidekick_http_endpoint" { } resource "juju_jaas_access_offer" "falcosidekick_http_endpoint" { - admin = [var.model_name] offer_url = juju_offer.falcosidekick_http_endpoint.url - consume = var.falcosidekick_http_endpoint_consumers + access = "consumer" + users = var.falcosidekick_http_endpoint_consumers } From 4869938381b370826a80867defdec7bc7fffe974 Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Tue, 21 Apr 2026 15:53:07 +0200 Subject: [PATCH 07/10] Fix offers --- deployments/cos-lite/ps7/variables.tf | 5 ----- deployments/falcosidekick/ps7/variables.tf | 5 ----- 2 files changed, 10 deletions(-) diff --git a/deployments/cos-lite/ps7/variables.tf b/deployments/cos-lite/ps7/variables.tf index ab8db2e..96eef22 100644 --- a/deployments/cos-lite/ps7/variables.tf +++ b/deployments/cos-lite/ps7/variables.tf @@ -1,8 +1,3 @@ -variable "model" { - description = "Reference to an existing model resource or data source for the model to deploy to" - type = string -} - variable "model_uuid" { description = "UUID of the Juju model where the application will be deployed" type = string diff --git a/deployments/falcosidekick/ps7/variables.tf b/deployments/falcosidekick/ps7/variables.tf index 48e4e74..1d8968a 100644 --- a/deployments/falcosidekick/ps7/variables.tf +++ b/deployments/falcosidekick/ps7/variables.tf @@ -1,8 +1,3 @@ -variable "model_name" { - description = "Juju model name" - type = string -} - variable "model_uuid" { description = "Juju model UUID" type = string From 6d4b95101b4b249a8501102820db7551a113b83e Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Wed, 22 Apr 2026 09:15:54 +0200 Subject: [PATCH 08/10] Upgrade provider for COS --- deployments/cos-lite/ps7/main.tf | 474 ++++++++++++++++++++-------- deployments/cos-lite/ps7/outputs.tf | 14 +- 2 files changed, 343 insertions(+), 145 deletions(-) diff --git a/deployments/cos-lite/ps7/main.tf b/deployments/cos-lite/ps7/main.tf index 33f1b25..393bd28 100644 --- a/deployments/cos-lite/ps7/main.tf +++ b/deployments/cos-lite/ps7/main.tf @@ -1,94 +1,292 @@ -module "ingress_configurator" { - source = "git::https://github.com/canonical/ingress-configurator-operator//terraform?ref=rev72&depth=1" - app_name = "ingress-configurator" +resource "juju_application" "ingress_configurator" { + name = "ingress-configurator" model_uuid = var.model_uuid - channel = "latest/edge" - revision = 72 - config = { hostname = var.external_hostname } + + charm { + name = "ingress-configurator" + channel = "latest/edge" + revision = 72 + base = "ubuntu@24.04" + } + + config = { hostname = var.external_hostname } + constraints = "" + units = 1 } -module "alertmanager" { - source = "git::https://github.com/canonical/alertmanager-k8s-operator//terraform?ref=rev201&depth=1" - app_name = "alertmanager" - channel = "1/stable" +resource "juju_application" "alertmanager" { + name = "alertmanager" config = {} constraints = "arch=amd64" model_uuid = var.model_uuid - revision = 162 storage_directives = {} + trust = true units = 1 + + charm { + name = "alertmanager-k8s" + channel = "1/stable" + revision = 162 + } } -module "catalogue" { - source = "git::https://github.com/canonical/catalogue-k8s-operator//terraform?ref=rev120&depth=1" - app_name = "catalogue" - channel = "1/stable" +resource "juju_application" "catalogue" { + name = "catalogue" config = {} constraints = "arch=amd64" model_uuid = var.model_uuid - revision = 87 storage_directives = {} + trust = true units = 1 + + charm { + name = "catalogue-k8s" + channel = "1/stable" + revision = 87 + } } -module "grafana" { - source = "git::https://github.com/canonical/grafana-k8s-operator//terraform?ref=rev185&depth=1" - app_name = "grafana" - channel = "1/stable" +resource "juju_application" "grafana" { + name = "grafana" config = {} constraints = "arch=amd64" model_uuid = var.model_uuid - revision = 151 storage_directives = {} + trust = true units = 1 + + charm { + name = "grafana-k8s" + channel = "1/stable" + revision = 151 + } } -module "loki" { - source = "git::https://github.com/canonical/loki-k8s-operator//terraform?ref=rev220&depth=1" - app_name = "loki" - channel = "1/stable" +resource "juju_application" "loki" { + name = "loki" config = {} constraints = "arch=amd64" model_uuid = var.model_uuid storage_directives = {} - revision = 199 + trust = true units = 1 + + charm { + name = "loki-k8s" + channel = "1/stable" + revision = 199 + } } -module "prometheus" { - source = "git::https://github.com/canonical/prometheus-k8s-operator//terraform?ref=rev291&depth=1" - app_name = "prometheus" - channel = "1/stable" +resource "juju_application" "prometheus" { + name = "prometheus" config = {} constraints = "arch=amd64" model_uuid = var.model_uuid storage_directives = {} - revision = 247 + trust = true units = 1 + + charm { + name = "prometheus-k8s" + channel = "1/stable" + revision = 247 + } } -module "ssc" { - source = "git::https://github.com/canonical/self-signed-certificates-operator//terraform?ref=b573ad7ccaf550bf3f76e540afb77366352a9dac" - app_name = "ca" - channel = "1/stable" +resource "juju_application" "ssc" { + name = "ca" + model_uuid = var.model_uuid + + charm { + name = "self-signed-certificates" + channel = "1/stable" + revision = 588 + base = "ubuntu@24.04" + } + config = {} constraints = "arch=amd64" - model_uuid = var.model_uuid - revision = 588 units = 1 } +resource "juju_offer" "ssc_send_ca_cert" { + name = "send-ca-cert" + model_uuid = var.model_uuid + application_name = juju_application.ssc.name + endpoints = ["send-ca-cert"] +} + +resource "juju_offer" "ssc_certificates" { + name = "certificates" + model_uuid = var.model_uuid + application_name = juju_application.ssc.name + endpoints = ["certificates"] +} + +locals { + ingress_configurator = { + app_name = juju_application.ingress_configurator.name + endpoints = { + ingress = "ingress" + haproxy_route = "haproxy-route" + haproxy_route_tcp = "haproxy-route-tcp" + } + } + + alertmanager = { + app_name = juju_application.alertmanager.name + endpoints = { + catalogue = "catalogue" + certificates = "certificates" + ingress = "ingress" + tracing = "tracing" + remote_configuration = "remote-configuration" + alerting = "alerting" + karma_dashboard = "karma-dashboard" + self_metrics_endpoint = "self-metrics-endpoint" + grafana_dashboard = "grafana-dashboard" + grafana_source = "grafana-source" + } + } + + catalogue = { + app_name = juju_application.catalogue.name + endpoints = { + certificates = "certificates" + ingress = "ingress" + tracing = "tracing" + catalogue = "catalogue" + } + } + + grafana = { + app_name = juju_application.grafana.name + endpoints = { + catalogue = "catalogue" + certificates = "certificates" + database = "database" + grafana_auth = "grafana-auth" + grafana_dashboard = "grafana-dashboard" + grafana_source = "grafana-source" + ingress = "ingress" + oauth = "oauth" + receive_ca_cert = "receive-ca-cert" + charm_tracing = "charm-tracing" + metrics_endpoint = "metrics-endpoint" + } + } + + loki = { + app_name = juju_application.loki.name + endpoints = { + alertmanager = "alertmanager" + ingress = "ingress" + catalogue = "catalogue" + certificates = "certificates" + charm_tracing = "charm-tracing" + workload_tracing = "workload-tracing" + metrics_endpoint = "metrics-endpoint" + grafana_source = "grafana-source" + grafana_dashboard = "grafana-dashboard" + receive_remote_write = "receive-remote-write" + send_datasource = "send-datasource" + logging = "logging" + } + } + + prometheus = { + app_name = juju_application.prometheus.name + endpoints = { + metrics_endpoint = "metrics-endpoint" + alertmanager = "alertmanager" + ingress = "ingress" + catalogue = "catalogue" + certificates = "certificates" + receive_ca_cert = "receive-ca-cert" + charm_tracing = "charm-tracing" + workload_tracing = "workload-tracing" + self_metrics_endpoint = "self-metrics-endpoint" + grafana_source = "grafana-source" + grafana_dashboard = "grafana-dashboard" + receive_remote_write = "receive-remote-write" + send_datasource = "send-datasource" + prometheus_api = "prometheus-api" + } + } + + ssc = { + app_name = juju_application.ssc.name + requires = { + tracing = "tracing" + } + provides = { + certificates = "certificates" + "send-ca-cert" = "send-ca-cert" + } + offers = { + "send-ca-cert" = juju_offer.ssc_send_ca_cert + certificates = juju_offer.ssc_certificates + } + } +} + +moved { + from = module.ingress_configurator.juju_application.ingress-configurator + to = juju_application.ingress_configurator +} + +moved { + from = module.alertmanager.juju_application.alertmanager + to = juju_application.alertmanager +} + +moved { + from = module.catalogue.juju_application.catalogue + to = juju_application.catalogue +} + +moved { + from = module.grafana.juju_application.grafana + to = juju_application.grafana +} + +moved { + from = module.loki.juju_application.loki + to = juju_application.loki +} + +moved { + from = module.prometheus.juju_application.prometheus + to = juju_application.prometheus +} + +moved { + from = module.ssc.juju_application.self-signed-certificates + to = juju_application.ssc +} + +moved { + from = module.ssc.juju_offer.send_ca_cert + to = juju_offer.ssc_send_ca_cert +} + +moved { + from = module.ssc.juju_offer.certificates + to = juju_offer.ssc_certificates +} + resource "juju_integration" "alertmanager_grafana_dashboards" { model_uuid = var.model_uuid application { - name = module.alertmanager.app_name - endpoint = module.alertmanager.endpoints.grafana_dashboard + name = local.alertmanager.app_name + endpoint = local.alertmanager.endpoints.grafana_dashboard } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.grafana_dashboard + name = local.grafana.app_name + endpoint = local.grafana.endpoints.grafana_dashboard } } @@ -96,13 +294,13 @@ resource "juju_integration" "alertmanager_prometheus" { model_uuid = var.model_uuid application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.alertmanager + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.alertmanager } application { - name = module.alertmanager.app_name - endpoint = module.alertmanager.endpoints.alerting + name = local.alertmanager.app_name + endpoint = local.alertmanager.endpoints.alerting } } @@ -110,13 +308,13 @@ resource "juju_integration" "alertmanager_self_monitoring_prometheus" { model_uuid = var.model_uuid application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.metrics_endpoint + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.metrics_endpoint } application { - name = module.alertmanager.app_name - endpoint = module.alertmanager.endpoints.self_metrics_endpoint + name = local.alertmanager.app_name + endpoint = local.alertmanager.endpoints.self_metrics_endpoint } } @@ -124,13 +322,13 @@ resource "juju_integration" "alertmanager_loki" { model_uuid = var.model_uuid application { - name = module.loki.app_name - endpoint = module.loki.endpoints.alertmanager + name = local.loki.app_name + endpoint = local.loki.endpoints.alertmanager } application { - name = module.alertmanager.app_name - endpoint = module.alertmanager.endpoints.alerting + name = local.alertmanager.app_name + endpoint = local.alertmanager.endpoints.alerting } } @@ -138,13 +336,13 @@ resource "juju_integration" "grafana_source_alertmanager" { model_uuid = var.model_uuid application { - name = module.alertmanager.app_name - endpoint = module.alertmanager.endpoints.grafana_source + name = local.alertmanager.app_name + endpoint = local.alertmanager.endpoints.grafana_source } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.grafana_source + name = local.grafana.app_name + endpoint = local.grafana.endpoints.grafana_source } } @@ -152,13 +350,13 @@ resource "juju_integration" "grafana_self_monitoring_prometheus" { model_uuid = var.model_uuid application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.metrics_endpoint + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.metrics_endpoint } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.metrics_endpoint + name = local.grafana.app_name + endpoint = local.grafana.endpoints.metrics_endpoint } } @@ -166,13 +364,13 @@ resource "juju_integration" "prometheus_grafana_dashboards_provider" { model_uuid = var.model_uuid application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.grafana_dashboard + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.grafana_dashboard } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.grafana_dashboard + name = local.grafana.app_name + endpoint = local.grafana.endpoints.grafana_dashboard } } @@ -180,13 +378,13 @@ resource "juju_integration" "prometheus_grafana_source" { model_uuid = var.model_uuid application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.grafana_source + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.grafana_source } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.grafana_source + name = local.grafana.app_name + endpoint = local.grafana.endpoints.grafana_source } } @@ -194,13 +392,13 @@ resource "juju_integration" "loki_grafana_dashboards_provider" { model_uuid = var.model_uuid application { - name = module.loki.app_name - endpoint = module.loki.endpoints.grafana_dashboard + name = local.loki.app_name + endpoint = local.loki.endpoints.grafana_dashboard } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.grafana_dashboard + name = local.grafana.app_name + endpoint = local.grafana.endpoints.grafana_dashboard } } @@ -208,13 +406,13 @@ resource "juju_integration" "loki_grafana_source" { model_uuid = var.model_uuid application { - name = module.loki.app_name - endpoint = module.loki.endpoints.grafana_source + name = local.loki.app_name + endpoint = local.loki.endpoints.grafana_source } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.grafana_source + name = local.grafana.app_name + endpoint = local.grafana.endpoints.grafana_source } } @@ -222,13 +420,13 @@ resource "juju_integration" "loki_self_monitoring_prometheus" { model_uuid = var.model_uuid application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.metrics_endpoint + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.metrics_endpoint } application { - name = module.loki.app_name - endpoint = module.loki.endpoints.metrics_endpoint + name = local.loki.app_name + endpoint = local.loki.endpoints.metrics_endpoint } } @@ -236,13 +434,13 @@ resource "juju_integration" "catalogue_alertmanager" { model_uuid = var.model_uuid application { - name = module.catalogue.app_name - endpoint = module.catalogue.endpoints.catalogue + name = local.catalogue.app_name + endpoint = local.catalogue.endpoints.catalogue } application { - name = module.alertmanager.app_name - endpoint = module.alertmanager.endpoints.catalogue + name = local.alertmanager.app_name + endpoint = local.alertmanager.endpoints.catalogue } } @@ -250,13 +448,13 @@ resource "juju_integration" "catalogue_grafana" { model_uuid = var.model_uuid application { - name = module.catalogue.app_name - endpoint = module.catalogue.endpoints.catalogue + name = local.catalogue.app_name + endpoint = local.catalogue.endpoints.catalogue } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.catalogue + name = local.grafana.app_name + endpoint = local.grafana.endpoints.catalogue } } @@ -264,13 +462,13 @@ resource "juju_integration" "catalogue_prometheus" { model_uuid = var.model_uuid application { - name = module.catalogue.app_name - endpoint = module.catalogue.endpoints.catalogue + name = local.catalogue.app_name + endpoint = local.catalogue.endpoints.catalogue } application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.catalogue + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.catalogue } } @@ -278,13 +476,13 @@ resource "juju_integration" "alertmanager_ingress" { model_uuid = var.model_uuid application { - name = module.ingress_configurator.app_name - endpoint = module.ingress_configurator.endpoints.ingress + name = local.ingress_configurator.app_name + endpoint = local.ingress_configurator.endpoints.ingress } application { - name = module.alertmanager.app_name - endpoint = module.alertmanager.endpoints.ingress + name = local.alertmanager.app_name + endpoint = local.alertmanager.endpoints.ingress } } @@ -292,13 +490,13 @@ resource "juju_integration" "catalogue_ingress" { model_uuid = var.model_uuid application { - name = module.ingress_configurator.app_name - endpoint = module.ingress_configurator.endpoints.ingress + name = local.ingress_configurator.app_name + endpoint = local.ingress_configurator.endpoints.ingress } application { - name = module.catalogue.app_name - endpoint = module.catalogue.endpoints.ingress + name = local.catalogue.app_name + endpoint = local.catalogue.endpoints.ingress } } @@ -306,13 +504,13 @@ resource "juju_integration" "grafana_ingress" { model_uuid = var.model_uuid application { - name = module.ingress_configurator.app_name - endpoint = module.ingress_configurator.endpoints.ingress + name = local.ingress_configurator.app_name + endpoint = local.ingress_configurator.endpoints.ingress } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.ingress + name = local.grafana.app_name + endpoint = local.grafana.endpoints.ingress } } @@ -320,13 +518,13 @@ resource "juju_integration" "prometheus_ingress" { model_uuid = var.model_uuid application { - name = module.ingress_configurator.app_name - endpoint = module.ingress_configurator.endpoints.ingress + name = local.ingress_configurator.app_name + endpoint = local.ingress_configurator.endpoints.ingress } application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.ingress + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.ingress } } @@ -334,13 +532,13 @@ resource "juju_integration" "loki_ingress" { model_uuid = var.model_uuid application { - name = module.ingress_configurator.app_name - endpoint = module.ingress_configurator.endpoints.ingress + name = local.ingress_configurator.app_name + endpoint = local.ingress_configurator.endpoints.ingress } application { - name = module.loki.app_name - endpoint = module.loki.endpoints.ingress + name = local.loki.app_name + endpoint = local.loki.endpoints.ingress } } @@ -348,13 +546,13 @@ resource "juju_integration" "alertmanager_certificates" { model_uuid = var.model_uuid application { - name = module.ssc.app_name - endpoint = module.ssc.provides.certificates + name = local.ssc.app_name + endpoint = local.ssc.provides.certificates } application { - name = module.alertmanager.app_name - endpoint = module.alertmanager.endpoints.certificates + name = local.alertmanager.app_name + endpoint = local.alertmanager.endpoints.certificates } } @@ -362,13 +560,13 @@ resource "juju_integration" "catalogue_certificates" { model_uuid = var.model_uuid application { - name = module.ssc.app_name - endpoint = module.ssc.provides.certificates + name = local.ssc.app_name + endpoint = local.ssc.provides.certificates } application { - name = module.catalogue.app_name - endpoint = module.catalogue.endpoints.certificates + name = local.catalogue.app_name + endpoint = local.catalogue.endpoints.certificates } } @@ -376,13 +574,13 @@ resource "juju_integration" "grafana_certificates" { model_uuid = var.model_uuid application { - name = module.ssc.app_name - endpoint = module.ssc.provides.certificates + name = local.ssc.app_name + endpoint = local.ssc.provides.certificates } application { - name = module.grafana.app_name - endpoint = module.grafana.endpoints.certificates + name = local.grafana.app_name + endpoint = local.grafana.endpoints.certificates } } @@ -390,13 +588,13 @@ resource "juju_integration" "loki_certificates" { model_uuid = var.model_uuid application { - name = module.ssc.app_name - endpoint = module.ssc.provides.certificates + name = local.ssc.app_name + endpoint = local.ssc.provides.certificates } application { - name = module.loki.app_name - endpoint = module.loki.endpoints.certificates + name = local.loki.app_name + endpoint = local.loki.endpoints.certificates } } @@ -404,48 +602,48 @@ resource "juju_integration" "prometheus_certificates" { model_uuid = var.model_uuid application { - name = module.ssc.app_name - endpoint = module.ssc.provides.certificates + name = local.ssc.app_name + endpoint = local.ssc.provides.certificates } application { - name = module.prometheus.app_name - endpoint = module.prometheus.endpoints.certificates + name = local.prometheus.app_name + endpoint = local.prometheus.endpoints.certificates } } resource "juju_offer" "alertmanager_karma_dashboard" { name = "alertmanager-karma-dashboard" model_uuid = var.model_uuid - application_name = module.alertmanager.app_name + application_name = local.alertmanager.app_name endpoints = ["karma-dashboard"] } resource "juju_offer" "grafana_dashboards" { name = "grafana-dashboards" model_uuid = var.model_uuid - application_name = module.grafana.app_name + application_name = local.grafana.app_name endpoints = ["grafana-dashboard"] } resource "juju_offer" "loki_logging" { name = "loki-logging" model_uuid = var.model_uuid - application_name = module.loki.app_name + application_name = local.loki.app_name endpoints = ["logging"] } resource "juju_offer" "prometheus_receive_remote_write" { name = "prometheus-receive-remote-write" model_uuid = var.model_uuid - application_name = module.prometheus.app_name + application_name = local.prometheus.app_name endpoints = ["receive-remote-write"] } resource "juju_offer" "prometheus_metrics_endpoint" { name = "prometheus-metrics-endpoint" model_uuid = var.model_uuid - application_name = module.prometheus.app_name + application_name = local.prometheus.app_name endpoints = ["metrics-endpoint"] } diff --git a/deployments/cos-lite/ps7/outputs.tf b/deployments/cos-lite/ps7/outputs.tf index 2a4c042..2c38aeb 100644 --- a/deployments/cos-lite/ps7/outputs.tf +++ b/deployments/cos-lite/ps7/outputs.tf @@ -11,13 +11,13 @@ output "offers" { output "components" { value = { - alertmanager = module.alertmanager - catalogue = module.catalogue - grafana = module.grafana - loki = module.loki - prometheus = module.prometheus - ssc = module.ssc - ingress_configurator = module.ingress_configurator + alertmanager = local.alertmanager + catalogue = local.catalogue + grafana = local.grafana + loki = local.loki + prometheus = local.prometheus + ssc = local.ssc + ingress_configurator = local.ingress_configurator } description = "All Terraform charm modules which make up this product module" } From 5e10a0ee4d5353a31892d1a72473e42bbbe818af Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Wed, 22 Apr 2026 09:51:11 +0200 Subject: [PATCH 09/10] Upgrade provider for COS --- deployments/cos-lite/ps7/main.tf | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/deployments/cos-lite/ps7/main.tf b/deployments/cos-lite/ps7/main.tf index 393bd28..0ff5c25 100644 --- a/deployments/cos-lite/ps7/main.tf +++ b/deployments/cos-lite/ps7/main.tf @@ -126,7 +126,7 @@ resource "juju_offer" "ssc_certificates" { locals { ingress_configurator = { - app_name = juju_application.ingress_configurator.name + app_name = juju_application.ingress_configurator.name endpoints = { ingress = "ingress" haproxy_route = "haproxy-route" @@ -135,7 +135,7 @@ locals { } alertmanager = { - app_name = juju_application.alertmanager.name + app_name = juju_application.alertmanager.name endpoints = { catalogue = "catalogue" certificates = "certificates" @@ -151,7 +151,7 @@ locals { } catalogue = { - app_name = juju_application.catalogue.name + app_name = juju_application.catalogue.name endpoints = { certificates = "certificates" ingress = "ingress" @@ -161,7 +161,7 @@ locals { } grafana = { - app_name = juju_application.grafana.name + app_name = juju_application.grafana.name endpoints = { catalogue = "catalogue" certificates = "certificates" @@ -178,7 +178,7 @@ locals { } loki = { - app_name = juju_application.loki.name + app_name = juju_application.loki.name endpoints = { alertmanager = "alertmanager" ingress = "ingress" @@ -196,7 +196,7 @@ locals { } prometheus = { - app_name = juju_application.prometheus.name + app_name = juju_application.prometheus.name endpoints = { metrics_endpoint = "metrics-endpoint" alertmanager = "alertmanager" @@ -221,7 +221,7 @@ locals { tracing = "tracing" } provides = { - certificates = "certificates" + certificates = "certificates" "send-ca-cert" = "send-ca-cert" } offers = { @@ -650,24 +650,24 @@ resource "juju_offer" "prometheus_metrics_endpoint" { resource "juju_jaas_access_offer" "grafana_dashboard" { offer_url = juju_offer.grafana_dashboards.url access = "consumer" - users = var.grafana_consumers + groups = var.grafana_consumers } resource "juju_jaas_access_offer" "loki_logging" { offer_url = juju_offer.loki_logging.url access = "consumer" - users = var.loki_consumers + groups = var.loki_consumers } resource "juju_jaas_access_offer" "remote_write" { offer_url = juju_offer.prometheus_receive_remote_write.url access = "consumer" - users = var.remote_write_consumers + groups = var.remote_write_consumers } resource "juju_jaas_access_offer" "metrics_endpoint" { offer_url = juju_offer.prometheus_metrics_endpoint.url access = "consumer" - users = var.metrics_endpoint_consumers + groups = var.metrics_endpoint_consumers } From 5f4edc4715bcfce87deb09134e8604870b11b92b Mon Sep 17 00:00:00 2001 From: Arturo Seijas Date: Wed, 22 Apr 2026 10:10:20 +0200 Subject: [PATCH 10/10] Upgrade provider for COS --- deployments/falcosidekick/ps7/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployments/falcosidekick/ps7/main.tf b/deployments/falcosidekick/ps7/main.tf index 10c6785..fcb251f 100644 --- a/deployments/falcosidekick/ps7/main.tf +++ b/deployments/falcosidekick/ps7/main.tf @@ -69,6 +69,6 @@ resource "juju_offer" "falcosidekick_http_endpoint" { resource "juju_jaas_access_offer" "falcosidekick_http_endpoint" { offer_url = juju_offer.falcosidekick_http_endpoint.url access = "consumer" - users = var.falcosidekick_http_endpoint_consumers + groups = var.falcosidekick_http_endpoint_consumers }