diff --git a/terraform/cos-lite/README.md b/terraform/cos-lite/README.md index e1e3b4ac..63f57131 100644 --- a/terraform/cos-lite/README.md +++ b/terraform/cos-lite/README.md @@ -37,8 +37,8 @@ This is a Terraform module facilitating the deployment of the COS Lite solution, | [model\_uuid](#input\_model\_uuid) | Reference to an existing model resource or data source for the model to deploy to | `string` | n/a | yes | | [prometheus](#input\_prometheus) | Application configuration for Prometheus. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "prometheus")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | | [risk](#input\_risk) | Risk level that the applications are (unless overwritten by individual channels) deployed from | `string` | `"edge"` | no | -| [ssc](#input\_ssc) | Application configuration for self-signed-certificates. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "ca")
channel = optional(string, "1/stable")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | -| [traefik](#input\_traefik) | Application configuration for Traefik. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "traefik")
channel = optional(string, "latest/stable")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | +| [ssc](#input\_ssc) | Application configuration for self-signed-certificates. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "ca")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | +| [traefik](#input\_traefik) | Application configuration for Traefik. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "traefik")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | ## Outputs diff --git a/terraform/cos-lite/locals.tf b/terraform/cos-lite/locals.tf index e1204dd0..a3907ac0 100644 --- a/terraform/cos-lite/locals.tf +++ b/terraform/cos-lite/locals.tf @@ -1,13 +1,19 @@ locals { tls_termination = var.external_certificates_offer_url != null ? true : false + traefik_base = "ubuntu@20.04" tracks = { - alertmanager = "0.31" - catalogue = "3.0" - grafana = "12.4" - loki = "3.7" - prometheus = "3.10" - ssc = "latest" - traefik = "latest" + alertmanager = "dev" + catalogue = "dev" + grafana = "dev" + loki = "dev" + prometheus = "dev" + # alertmanager = "0.31" + # catalogue = "3.0" + # grafana = "12.4" + # loki = "3.7" + # prometheus = "3.10" + ssc = "1" + traefik = "latest" } channels = { alertmanager = "${local.tracks.alertmanager}/${var.risk}" diff --git a/terraform/cos-lite/upgrades.tf b/terraform/cos-lite/upgrades.tf index 1d1d0587..dade7e62 100644 --- a/terraform/cos-lite/upgrades.tf +++ b/terraform/cos-lite/upgrades.tf @@ -39,5 +39,5 @@ data "juju_charm" "ssc_info" { data "juju_charm" "traefik_info" { charm = "traefik-k8s" channel = local.channels.traefik - base = var.base + base = local.traefik_base } diff --git a/terraform/cos-lite/variables.tf b/terraform/cos-lite/variables.tf index 40176124..0856498c 100644 --- a/terraform/cos-lite/variables.tf +++ b/terraform/cos-lite/variables.tf @@ -134,7 +134,6 @@ variable "prometheus" { variable "ssc" { type = object({ app_name = optional(string, "ca") - channel = optional(string, "1/stable") config = optional(map(string), {}) constraints = optional(string, "arch=amd64") revision = optional(number, null) @@ -148,7 +147,6 @@ variable "ssc" { variable "traefik" { type = object({ app_name = optional(string, "traefik") - channel = optional(string, "latest/stable") config = optional(map(string), {}) constraints = optional(string, "arch=amd64") revision = optional(number, null) diff --git a/terraform/cos/README.md b/terraform/cos/README.md index e9ab7ac8..68e2330d 100644 --- a/terraform/cos/README.md +++ b/terraform/cos/README.md @@ -51,13 +51,13 @@ This is a Terraform module facilitating the deployment of the COS solution, usin | [risk](#input\_risk) | Risk level that the applications are (unless overwritten by individual channels) deployed from | `string` | `"edge"` | no | | [s3\_access\_key](#input\_s3\_access\_key) | S3 access-key credential | `string` | n/a | yes | | [s3\_endpoint](#input\_s3\_endpoint) | S3 endpoint | `string` | n/a | yes | -| [s3\_integrator](#input\_s3\_integrator) | Application configuration for all S3-integrators in coordinated workers. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
channel = optional(string, "2/edge")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | +| [s3\_integrator](#input\_s3\_integrator) | Application configuration for all S3-integrators in coordinated workers. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | | [s3\_secret\_key](#input\_s3\_secret\_key) | S3 secret-key credential | `string` | n/a | yes | -| [ssc](#input\_ssc) | Application configuration for Self-signed-certificates. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "ca")
channel = optional(string, "1/stable")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | +| [ssc](#input\_ssc) | Application configuration for Self-signed-certificates. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "ca")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | | [tempo\_bucket](#input\_tempo\_bucket) | Tempo bucket name | `string` | `"tempo"` | no | | [tempo\_coordinator](#input\_tempo\_coordinator) | Application configuration for Tempo Coordinator. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 3)
})
| `{}` | no | | [tempo\_worker](#input\_tempo\_worker) | Application configuration for all Tempo workers. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
querier_config = optional(map(string), {})
query_frontend_config = optional(map(string), {})
ingester_config = optional(map(string), {})
distributor_config = optional(map(string), {})
compactor_config = optional(map(string), {})
metrics_generator_config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
compactor_worker_storage_directives = optional(map(string), {})
distributor_worker_storage_directives = optional(map(string), {})
ingester_worker_storage_directives = optional(map(string), {})
metrics_generator_worker_storage_directives = optional(map(string), {})
querier_worker_storage_directives = optional(map(string), {})
query_frontend_worker_storage_directives = optional(map(string), {})
compactor_units = optional(number, 3)
distributor_units = optional(number, 3)
ingester_units = optional(number, 3)
metrics_generator_units = optional(number, 3)
querier_units = optional(number, 3)
query_frontend_units = optional(number, 3)
})
| `{}` | no | -| [traefik](#input\_traefik) | Application configuration for Traefik. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "traefik")
channel = optional(string, "latest/stable")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | +| [traefik](#input\_traefik) | Application configuration for Traefik. For more details: https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application |
object({
app_name = optional(string, "traefik")
config = optional(map(string), {})
constraints = optional(string, "arch=amd64")
revision = optional(number, null)
storage_directives = optional(map(string), {})
units = optional(number, 1)
})
| `{}` | no | ## Outputs diff --git a/terraform/cos/locals.tf b/terraform/cos/locals.tf index bae1f726..526736a5 100644 --- a/terraform/cos/locals.tf +++ b/terraform/cos/locals.tf @@ -1,17 +1,26 @@ locals { clouds = ["aws", "self-managed"] # list of k8s clouds where this COS module can be deployed. tls_termination = var.external_certificates_offer_url != null ? true : false + traefik_base = "ubuntu@20.04" tracks = { - alertmanager = "0.31" - catalogue = "3.0" - grafana = "12.4" - loki = "3.7" - mimir = "3.0" - otelcol = "0.130" + alertmanager = "dev" + catalogue = "dev" + grafana = "dev" + loki = "dev" + mimir = "dev" + otelcol = "dev" + tempo = "dev" + + # alertmanager = "0.31" + # catalogue = "3.0" + # grafana = "12.4" + # loki = "3.7" + # mimir = "3.0" + # otelcol = "0.130" s3_integrator = "2" - ssc = "latest" - tempo = "2.10" - traefik = "latest" + ssc = "1" + # tempo = "2.10" + traefik = "latest" } channels = { alertmanager = "${local.tracks.alertmanager}/${var.risk}" diff --git a/terraform/cos/upgrades.tf b/terraform/cos/upgrades.tf index 429bcaa4..df3d2028 100644 --- a/terraform/cos/upgrades.tf +++ b/terraform/cos/upgrades.tf @@ -67,7 +67,7 @@ data "juju_charm" "ssc_info" { } data "juju_charm" "s3_integrator_info" { - charm = "s3-integrator-k8s" + charm = "s3-integrator" channel = local.channels.s3_integrator base = var.base } @@ -75,5 +75,5 @@ data "juju_charm" "s3_integrator_info" { data "juju_charm" "traefik_info" { charm = "traefik-k8s" channel = local.channels.traefik - base = var.base + base = local.traefik_base } diff --git a/terraform/cos/variables.tf b/terraform/cos/variables.tf index 3a337536..6e1d3ba9 100644 --- a/terraform/cos/variables.tf +++ b/terraform/cos/variables.tf @@ -238,7 +238,6 @@ variable "opentelemetry_collector" { variable "ssc" { type = object({ app_name = optional(string, "ca") - channel = optional(string, "1/stable") config = optional(map(string), {}) constraints = optional(string, "arch=amd64") revision = optional(number, null) @@ -251,7 +250,6 @@ variable "ssc" { variable "s3_integrator" { type = object({ - channel = optional(string, "2/edge") config = optional(map(string), {}) constraints = optional(string, "arch=amd64") revision = optional(number, null) @@ -304,7 +302,6 @@ variable "tempo_worker" { variable "traefik" { type = object({ app_name = optional(string, "traefik") - channel = optional(string, "latest/stable") config = optional(map(string), {}) constraints = optional(string, "arch=amd64") revision = optional(number, null)