From df3cca838115ee6fdab71e31d2a8324b91f8f9e4 Mon Sep 17 00:00:00 2001 From: Rodrigo Bersa Date: Wed, 19 Apr 2023 10:18:36 -0700 Subject: [PATCH 01/17] Refactor Fargate Fluentbit --- locals.tf | 3 ++ main.tf | 113 +++++++++++++++++++++++++++++++++++++++++++++++---- variables.tf | 35 ++++++++++------ 3 files changed, 129 insertions(+), 22 deletions(-) diff --git a/locals.tf b/locals.tf index 2b989fcb..158ff6aa 100644 --- a/locals.tf +++ b/locals.tf @@ -80,6 +80,9 @@ locals { gatekeeper = var.enable_gatekeeper && var.enable_gatekeeper_gitops ? { enable = true } : null + fargateFluentbit = var.enable_fargate_fluentbit && var.enable_fargate_fluentbit_gitops ? { + enable = true + } : null } addon_context = { diff --git a/main.tf b/main.tf index ce543ad7..08e20395 100644 --- a/main.tf +++ b/main.tf @@ -2556,8 +2556,8 @@ module "gatekeeper" { # https://github.com/open-policy-agent/gatekeeper/blob/master/charts/gatekeeper/Chart.yaml name = try(var.gatekeeper.name, local.cluster_proportional_autoscaler_name) description = try(var.gatekeeper.description, "A Helm chart to install Gatekeeper") - namespace = try(var.gatekeeper.namespace, "gatekeeper-system") - create_namespace = try(var.gatekeeper.create_namespace, true) + namespace = try(var.gatekeeper.namespace, "kube-system") + create_namespace = try(var.gatekeeper.create_namespace, false) chart = local.gatekeeper_name chart_version = try(var.gatekeeper.chart_version, "3.12.0") repository = try(var.gatekeeper.repository, "https://open-policy-agent.github.io/gatekeeper/charts") @@ -2653,6 +2653,87 @@ module "vpa" { tags = var.tags } + +################################################################################ +# Fargate Fluentbit +################################################################################ +# Help on Fargate Logging with Fluentbit and CloudWatch +# https://docs.aws.amazon.com/eks/latest/userguide/fargate-logging.html +locals { + fargate_fluentbit_name = "fargate_fluentbit" + fargate_fluentbit_cwlog_group = "/${var.cluster_name}/fargate-fluentbit-logs" + fargate_fluentebit_cwlog_stream_prefix = "fargate-logs-" + default_config = { + output_conf = <<-EOF + [OUTPUT] + Name cloudwatch_logs + Match * + region ${local.region} + log_group_name ${local.fargate_fluentbit_cwlog_group} + log_stream_prefix ${local.fargate_fluentbit_cwlog_stream_prefix} + auto_create_group true + EOF + filters_conf = <<-EOF + [FILTER] + Name parser + Match * + Key_Name log + Parser regex + Preserve_Key True + Reserve_Data True + EOF + parsers_conf = <<-EOF + [PARSER] + Name regex + Format regex + Regex ^(?