diff --git a/README.md b/README.md index b8da41c..c07eedf 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Name | Description --- | --- | Terraform | >= v0.14.9 Helm provider | >= 2.1.0 -Kubernetes provider | >= v2.1.0 +Kubernetes provider | >= v2.0.1 ## Usage ``` diff --git a/locals.tf b/locals.tf new file mode 100644 index 0000000..ced1830 --- /dev/null +++ b/locals.tf @@ -0,0 +1,32 @@ +locals { + default = { + aws = { + template = "${path.module}/templates/aws_loki.yaml" + vars = { + S3_REGION = var.s3_region + S3_NAME = var.s3_name + } + }, + azure = { + template = "${path.module}/templates/azure_loki.yaml" + vars = { + ACCOUNT_KEY = var.storage_account_access_key + ACCOUNT_NAME = var.storage_account_name + CONTAINER_NAME = var.container_name + } + }, + gcp = { + template = "${path.module}/templates/gcp_loki.yaml" + vars = { + GCS_BUCKET_NAME = var.gcs_bucket_name + } + }, + local = { + template = "${path.module}/templates/local_loki.yaml" + vars = { + LOCAL_STORAGE_PATH = "/data/loki/chunks" + RETENTION_PERIOD = var.local_storage_retention_period + } + } + } +} \ No newline at end of file diff --git a/loki.tf b/loki.tf index dad891d..66db637 100644 --- a/loki.tf +++ b/loki.tf @@ -12,14 +12,6 @@ resource "kubernetes_service_account" "loki" { } } -# Generate config -data "template_file" "loki_config" { - for_each = local.default - - template = local.default[var.provider_type].template - vars = local.default[var.provider_type].vars -} - # Add config to secret resource "kubernetes_secret" "loki" { metadata { @@ -32,14 +24,14 @@ resource "kubernetes_secret" "loki" { } data = { - "loki.yaml" = data.template_file.loki_config[var.provider_type].rendered + "loki.yaml" = templatefile(local.default[var.provider_type].template, local.default[var.provider_type].vars) } } # Deploy loki as stateful-set module "loki_stateful_set" { source = "terraform-iaac/stateful-set/kubernetes" - version = "1.3.1" + version = "1.4.2" image = var.loki_docker_image name = var.loki_name @@ -124,7 +116,7 @@ module "loki_stateful_set" { module "loki_service" { source = "terraform-iaac/service/kubernetes" - version = "1.0.3" + version = "1.0.4" app_name = module.loki_stateful_set.name app_namespace = module.loki_stateful_set.namespace diff --git a/promtail.tf b/promtail.tf index 4206d57..c1138c5 100644 --- a/promtail.tf +++ b/promtail.tf @@ -17,7 +17,7 @@ resource "kubernetes_config_map" "promtail" { # Deploy per node module "promtail_daemonset" { source = "terraform-iaac/daemonset/kubernetes" - version = "1.3.1" + version = "1.4.2" image = var.promtail_docker_image name = var.promtail_name @@ -30,12 +30,9 @@ module "promtail_daemonset" { resources = var.promtail_resources - env_field = [ - { - name = "HOSTNAME" - field_path = "spec.nodeName" + env_field = { + "HOSTNAME" = "spec.nodeName" } - ] internal_port = var.promtail_internal_port security_context = [ diff --git a/variables.tf b/variables.tf index 799fe1b..22c034c 100644 --- a/variables.tf +++ b/variables.tf @@ -1,36 +1,3 @@ -locals { - default = { - aws = { - template = file("${path.module}/templates/aws_loki.yaml") - vars = { - S3_REGION = var.s3_region - S3_NAME = var.s3_name - } - }, - azure = { - template = file("${path.module}/templates/azure_loki.yaml") - vars = { - ACCOUNT_KEY = var.storage_account_access_key - ACCOUNT_NAME = var.storage_account_name - CONTAINER_NAME = var.container_name - } - }, - gcp = { - template = file("${path.module}/templates/gcp_loki.yaml") - vars = { - GCS_BUCKET_NAME = var.gcs_bucket_name - } - }, - local = { - template = file("${path.module}/templates/local_loki.yaml") - vars = { - LOCAL_STORAGE_PATH = "/data/loki/chunks" - RETENTION_PERIOD = var.local_storage_retention_period - } - } - } -} - # Resources for services variable "loki_resources" { description = "(Optional) Compute Resources required by loki container. CPU/RAM requests" @@ -58,7 +25,7 @@ variable "loki_name" { default = "loki" } variable "loki_docker_image" { - default = "grafana/loki:2.5.0" + default = "grafana/loki:2.7.1" } variable "loki_termination_grace_period_seconds" { default = 4800 @@ -84,7 +51,7 @@ variable "promtail_name" { default = "promtail" } variable "promtail_docker_image" { - default = "grafana/promtail:2.5.0" + default = "grafana/promtail:2.7.1" } variable "promtail_internal_port" { diff --git a/versions.tf b/versions.tf index bed8f14..f850b5f 100644 --- a/versions.tf +++ b/versions.tf @@ -2,7 +2,7 @@ terraform { required_version = ">= 0.14.1" required_providers { - kubernetes = ">= 1.11.0" + kubernetes = ">= 2.0.1" helm = ">= 2.1.0" } } \ No newline at end of file