From 67a60d8f1120710b0e7f9ea0617cbeedda25f229 Mon Sep 17 00:00:00 2001 From: Michael Thamm Date: Mon, 23 Jun 2025 17:15:44 -0400 Subject: [PATCH 1/2] feat: COS certificates integrations (e-2-e TLS) --- terraform/cos/main.tf | 122 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/terraform/cos/main.tf b/terraform/cos/main.tf index e8fc74dd..a246a970 100644 --- a/terraform/cos/main.tf +++ b/terraform/cos/main.tf @@ -605,6 +605,128 @@ resource "juju_integration" "grafana_tracing_grafana_agent_traicing_provider" { } } +# Provided by Self-Signed-Certificates + +resource "juju_integration" "alertmanager_certificates" { + count = var.use_tls ? 1 : 0 + model = var.model + + application { + name = module.ssc[0].app_name + endpoint = module.ssc[0].provides.certificates + } + + application { + name = module.alertmanager.app_name + endpoint = module.alertmanager.endpoints.certificates + } +} + +resource "juju_integration" "catalogue_certificates" { + count = var.use_tls ? 1 : 0 + model = var.model + + application { + name = module.ssc[0].app_name + endpoint = module.ssc[0].provides.certificates + } + + application { + name = module.catalogue.app_name + endpoint = module.catalogue.endpoints.certificates + } +} + +resource "juju_integration" "grafana_certificates" { + count = var.use_tls ? 1 : 0 + model = var.model + + application { + name = module.ssc[0].app_name + endpoint = module.ssc[0].provides.certificates + } + + application { + name = module.grafana.app_name + endpoint = module.grafana.endpoints.certificates + } +} + +resource "juju_integration" "grafana_agent_certificates" { + count = var.use_tls ? 1 : 0 + model = var.model + + application { + name = module.ssc[0].app_name + endpoint = module.ssc[0].provides.certificates + } + + application { + name = module.grafana_agent.app_name + endpoint = module.grafana_agent.endpoints.certificates + } +} + +resource "juju_integration" "loki_certificates" { + count = var.use_tls ? 1 : 0 + model = var.model + + application { + name = module.ssc[0].app_name + endpoint = module.ssc[0].provides.certificates + } + + application { + name = module.loki.app_names.loki_coordinator + endpoint = module.loki.endpoints.certificates + } +} + +resource "juju_integration" "mimir_certificates" { + count = var.use_tls ? 1 : 0 + model = var.model + + application { + name = module.ssc[0].app_name + endpoint = module.ssc[0].provides.certificates + } + + application { + name = module.mimir.app_names.mimir_coordinator + endpoint = module.mimir.endpoints.certificates + } +} + +resource "juju_integration" "tempo_certificates" { + count = var.use_tls ? 1 : 0 + model = var.model + + application { + name = module.ssc[0].app_name + endpoint = module.ssc[0].provides.certificates + } + + application { + name = module.tempo.app_names.tempo_coordinator + endpoint = module.tempo.endpoints.certificates + } +} + +resource "juju_integration" "traefik_certificates" { + count = var.use_tls ? 1 : 0 + model = var.model + + application { + name = module.ssc[0].app_name + endpoint = module.ssc[0].provides.certificates + } + + application { + name = module.traefik.app_name + endpoint = module.traefik.endpoints.certificates + } +} + # -------------- # Offers -------------- resource "juju_offer" "alertmanager_karma_dashboard" { From 18e866487c1d7ebab61a62ba8a1aaad7ddfa210c Mon Sep 17 00:00:00 2001 From: Michael Thamm Date: Tue, 24 Jun 2025 11:16:43 -0400 Subject: [PATCH 2/2] fix: breaking 0.20.0 juju provider juju_offers endpoint -> endpoints (#62) --- terraform/cos-lite/main.tf | 8 ++++---- terraform/cos-lite/versions.tf | 2 +- terraform/cos/main.tf | 8 ++++---- terraform/cos/versions.tf | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/terraform/cos-lite/main.tf b/terraform/cos-lite/main.tf index 933f5bb7..f8674ace 100644 --- a/terraform/cos-lite/main.tf +++ b/terraform/cos-lite/main.tf @@ -441,26 +441,26 @@ resource "juju_offer" "alertmanager_karma_dashboard" { name = "alertmanager-karma-dashboard" model = var.model application_name = module.alertmanager.app_name - endpoint = "karma-dashboard" + endpoints = ["karma-dashboard"] } resource "juju_offer" "grafana_dashboards" { name = "grafana-dashboards" model = var.model application_name = module.grafana.app_name - endpoint = "grafana-dashboard" + endpoints = ["grafana-dashboard"] } resource "juju_offer" "loki_logging" { name = "loki-logging" model = var.model application_name = module.loki.app_name - endpoint = "logging" + endpoints = ["logging"] } resource "juju_offer" "prometheus_receive_remote_write" { name = "prometheus-receive-remote-write" model = var.model application_name = module.prometheus.app_name - endpoint = "receive-remote-write" + endpoints = ["receive-remote-write"] } diff --git a/terraform/cos-lite/versions.tf b/terraform/cos-lite/versions.tf index 77b64403..966e7577 100644 --- a/terraform/cos-lite/versions.tf +++ b/terraform/cos-lite/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { juju = { source = "juju/juju" - version = "~> 0.14" + version = ">= 0.20.0" } } } \ No newline at end of file diff --git a/terraform/cos/main.tf b/terraform/cos/main.tf index a246a970..0896e388 100644 --- a/terraform/cos/main.tf +++ b/terraform/cos/main.tf @@ -733,26 +733,26 @@ resource "juju_offer" "alertmanager_karma_dashboard" { name = "alertmanager-karma-dashboard" model = var.model application_name = module.alertmanager.app_name - endpoint = "karma-dashboard" + endpoints = ["karma-dashboard"] } resource "juju_offer" "grafana_dashboards" { name = "grafana-dashboards" model = var.model application_name = module.grafana.app_name - endpoint = "grafana-dashboard" + endpoints = ["grafana-dashboard"] } resource "juju_offer" "loki_logging" { name = "loki-logging" model = var.model application_name = module.loki.app_names.loki_coordinator - endpoint = "logging" + endpoints = ["logging"] } resource "juju_offer" "mimir_receive_remote_write" { name = "mimir-receive-remote-write" model = var.model application_name = module.mimir.app_names.mimir_coordinator - endpoint = "receive-remote-write" + endpoints = ["receive-remote-write"] } diff --git a/terraform/cos/versions.tf b/terraform/cos/versions.tf index cde98c1a..966e7577 100644 --- a/terraform/cos/versions.tf +++ b/terraform/cos/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { juju = { source = "juju/juju" - version = ">= 0.14.0" + version = ">= 0.20.0" } } } \ No newline at end of file