From b6c0d65455e0aab55b77979f478f134b12a8859f Mon Sep 17 00:00:00 2001 From: Rodrigue Koffi Date: Tue, 26 Jul 2022 22:09:00 +0200 Subject: [PATCH] Support re-using existing cert-manager on cluster --- README.md | 8 ++++++++ examples/main.tf | 2 -- examples/workloads.tf | 10 +++------- main.tf | 2 ++ modules/core/opentelemetry-operator/main.tf | 1 + .../core/opentelemetry-operator/variables.tf | 5 +++++ variables.tf | 18 ++++++++++++------ 7 files changed, 31 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 9c7e0a0..d3f3ff1 100644 --- a/README.md +++ b/README.md @@ -86,3 +86,11 @@ No inputs. No outputs. + + + +### Design Questions + +1. fetching EKS auth as config map? and pass to module (version, etc) as object? +2. automatically pass config option as objects? (aws adot add-on: enable cert-manager, cert-manager version?) +3. Test case for every option possible? \ No newline at end of file diff --git a/examples/main.tf b/examples/main.tf index 6074eee..fb8950a 100644 --- a/examples/main.tf +++ b/examples/main.tf @@ -36,6 +36,4 @@ locals { tags = { Source = "github.com/aws-ia/terraform-aws-observability-accelerator" } - - } diff --git a/examples/workloads.tf b/examples/workloads.tf index e4124b3..dab53b8 100644 --- a/examples/workloads.tf +++ b/examples/workloads.tf @@ -1,7 +1,7 @@ module "eks_observability_accelerator" { - #source = "aws-ia/aws-observability-accelerator/terraform/eks" + #source = "aws-ia/terrarom-aws-observability-accelerator" source = "../" aws_region = var.aws_region @@ -9,13 +9,9 @@ module "eks_observability_accelerator" { # deploys AWS Distro for OpenTelemetry operator into the cluster enable_amazon_eks_adot = true - # amazon_eks_adot_config = object( - # enable_cert_manager = false - # ) - # # enable managed add-on for ADOT. Do we enforce this or let users - # # have their own configs for OTEL operator - # enable_amazon_eks_adot = true + # reusing existing certificate manager? defaults to true + enable_cert_manager = false # # -- or enable opentelemetry operator # enable_open_telemetry_operator = true diff --git a/main.tf b/main.tf index f178743..d9776be 100644 --- a/main.tf +++ b/main.tf @@ -9,6 +9,8 @@ module "adot_operator" { source = "./modules/core/opentelemetry-operator" count = var.enable_amazon_eks_adot ? 1 : 0 + enable_cert_manager = var.enable_cert_manager + kubernetes_version = local.eks_cluster_version addon_context = local.context } diff --git a/modules/core/opentelemetry-operator/main.tf b/modules/core/opentelemetry-operator/main.tf index 101c2a1..39427ea 100644 --- a/modules/core/opentelemetry-operator/main.tf +++ b/modules/core/opentelemetry-operator/main.tf @@ -1,5 +1,6 @@ module "cert_manager" { source = "github.com/aws-ia/terraform-aws-eks-blueprints/modules/kubernetes-addons/cert-manager" + count = var.enable_cert_manager ? 1 : 0 helm_config = { version = "v1.8.2" } addon_context = var.addon_context diff --git a/modules/core/opentelemetry-operator/variables.tf b/modules/core/opentelemetry-operator/variables.tf index 025dc0a..19c1f2d 100644 --- a/modules/core/opentelemetry-operator/variables.tf +++ b/modules/core/opentelemetry-operator/variables.tf @@ -20,6 +20,11 @@ variable "addon_context" { }) } +variable "enable_cert_manager" { + type = bool + default = true +} + variable "kubernetes_version" { type = string } diff --git a/variables.tf b/variables.tf index 7c18c30..d2b16d6 100644 --- a/variables.tf +++ b/variables.tf @@ -15,12 +15,6 @@ variable "aws_region" { type = string } -variable "enable_amazon_eks_adot" { - type = bool - default = true -} - - variable "irsa_iam_role_path" { description = "IAM role path for IRSA roles" type = string @@ -33,6 +27,18 @@ variable "irsa_iam_permissions_boundary" { default = "" } + +variable "enable_amazon_eks_adot" { + type = bool + default = true +} + +variable "enable_cert_manager" { + description = "Allow reusing an existing installation of cert-manager" + type = bool + default = true +} + variable "tags" { description = "Additional tags (e.g. `map('BusinessUnit`,`XYZ`)" type = map(string)