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)