mirror of
https://github.com/storytold/terraform-aws-observability-accelerator.git
synced 2026-10-09 00:09:43 +00:00
Split base from modules
- Add infra as a example - Introduces a dependency issue between adot operator and workload collector
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
locals {
|
||||
name = "adot"
|
||||
eks_addon_role_name = "eks:addon-manager"
|
||||
eks_addon_clusterrole_name = "eks:addon-manager-otel"
|
||||
addon_namespace = "opentelemetry-operator-system"
|
||||
}
|
||||
@@ -7,11 +7,10 @@ module "cert_manager" {
|
||||
}
|
||||
|
||||
resource "kubernetes_namespace_v1" "adot" {
|
||||
count = local.create_namespace ? 1 : 0
|
||||
|
||||
metadata {
|
||||
# If using EKS addon, namespace must be "opentelemetry-operator-system"
|
||||
name = var.enable_amazon_eks_adot ? local.addon_namespace : try(var.helm_config.namespace, local.addon_namespace)
|
||||
name = local.addon_namespace
|
||||
|
||||
labels = {
|
||||
# Prerequisite for EKS addon
|
||||
@@ -21,19 +20,15 @@ resource "kubernetes_namespace_v1" "adot" {
|
||||
}
|
||||
|
||||
data "aws_eks_addon_version" "this" {
|
||||
count = var.enable_amazon_eks_adot ? 1 : 0
|
||||
|
||||
addon_name = local.name
|
||||
kubernetes_version = try(var.addon_config.kubernetes_version, var.kubernetes_version)
|
||||
most_recent = try(var.addon_config.most_recent, true)
|
||||
}
|
||||
|
||||
resource "aws_eks_addon" "adot" {
|
||||
count = var.enable_amazon_eks_adot ? 1 : 0
|
||||
|
||||
cluster_name = var.addon_context.eks_cluster_id
|
||||
addon_name = local.name
|
||||
addon_version = try(var.addon_config.addon_version, data.aws_eks_addon_version.this[0].version)
|
||||
addon_version = try(var.addon_config.addon_version, data.aws_eks_addon_version.this.version)
|
||||
resolve_conflicts = try(var.addon_config.resolve_conflicts, "OVERWRITE")
|
||||
service_account_role_arn = try(var.addon_config.service_account_role_arn, null)
|
||||
preserve = try(var.addon_config.preserve, true)
|
||||
@@ -43,8 +38,8 @@ resource "aws_eks_addon" "adot" {
|
||||
try(var.addon_config.tags, {}),
|
||||
# implicit dependency with roles
|
||||
{
|
||||
RoleVersion = try(kubernetes_role_v1.adot[0].metadata[0].resource_version, ""),
|
||||
ClusterRoleVersion = try(kubernetes_cluster_role_v1.adot[0].metadata[0].resource_version, "")
|
||||
RoleVersion = try(kubernetes_role_v1.adot.metadata[0].resource_version, ""),
|
||||
ClusterRoleVersion = try(kubernetes_cluster_role_v1.adot.metadata[0].resource_version, "")
|
||||
}
|
||||
)
|
||||
|
||||
@@ -52,11 +47,10 @@ resource "aws_eks_addon" "adot" {
|
||||
}
|
||||
|
||||
resource "kubernetes_role_v1" "adot" {
|
||||
count = var.enable_amazon_eks_adot ? 1 : 0
|
||||
|
||||
metadata {
|
||||
name = local.eks_addon_role_name
|
||||
namespace = kubernetes_namespace_v1.adot[0].metadata[0].name
|
||||
namespace = kubernetes_namespace_v1.adot.metadata[0].name
|
||||
}
|
||||
|
||||
rule {
|
||||
@@ -118,11 +112,10 @@ resource "kubernetes_role_v1" "adot" {
|
||||
}
|
||||
|
||||
resource "kubernetes_role_binding_v1" "adot" {
|
||||
count = var.enable_amazon_eks_adot ? 1 : 0
|
||||
|
||||
metadata {
|
||||
name = local.eks_addon_role_name
|
||||
namespace = kubernetes_namespace_v1.adot[0].metadata[0].name
|
||||
namespace = kubernetes_namespace_v1.adot.metadata[0].name
|
||||
}
|
||||
|
||||
subject {
|
||||
@@ -138,7 +131,6 @@ resource "kubernetes_role_binding_v1" "adot" {
|
||||
}
|
||||
|
||||
resource "kubernetes_cluster_role_v1" "adot" {
|
||||
count = var.enable_amazon_eks_adot ? 1 : 0
|
||||
|
||||
metadata {
|
||||
name = local.eks_addon_clusterrole_name
|
||||
@@ -153,7 +145,7 @@ resource "kubernetes_cluster_role_v1" "adot" {
|
||||
rule {
|
||||
api_groups = [""]
|
||||
resources = ["namespaces"]
|
||||
resource_names = [kubernetes_namespace_v1.adot[0].metadata[0].name]
|
||||
resource_names = [kubernetes_namespace_v1.adot.metadata[0].name]
|
||||
verbs = ["create", "delete", "get", "list", "patch", "update", "watch"]
|
||||
}
|
||||
rule {
|
||||
@@ -266,7 +258,6 @@ resource "kubernetes_cluster_role_v1" "adot" {
|
||||
}
|
||||
|
||||
resource "kubernetes_cluster_role_binding_v1" "adot" {
|
||||
count = var.enable_amazon_eks_adot ? 1 : 0
|
||||
|
||||
metadata {
|
||||
name = local.eks_addon_clusterrole_name
|
||||
@@ -283,15 +274,3 @@ resource "kubernetes_cluster_role_binding_v1" "adot" {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
module "helm_addon" {
|
||||
source = "github.com/aws-ia/terraform-aws-eks-blueprints/modules/kubernetes-addons/helm-addon"
|
||||
count = var.enable_opentelemetry_operator ? 1 : 0
|
||||
|
||||
helm_config = local.helm_config
|
||||
irsa_config = null
|
||||
addon_context = var.addon_context
|
||||
|
||||
depends_on = [module.cert_manager]
|
||||
}
|
||||
@@ -34,15 +34,3 @@ variable "addon_config" {
|
||||
type = any
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "enable_amazon_eks_adot" {
|
||||
description = "Enable Amazon EKS ADOT add-on"
|
||||
type = bool
|
||||
default = true
|
||||
}
|
||||
|
||||
variable "enable_opentelemetry_operator" {
|
||||
description = "Enable opentelemetry operator addon"
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
locals {
|
||||
name = "adot"
|
||||
eks_addon_role_name = "eks:addon-manager"
|
||||
eks_addon_clusterrole_name = "eks:addon-manager-otel"
|
||||
addon_namespace = "opentelemetry-operator-system"
|
||||
|
||||
create_namespace = var.enable_opentelemetry_operator ? true : try(var.helm_config.create_namespace, true)
|
||||
namespace = local.create_namespace ? kubernetes_namespace_v1.adot[0].metadata[0].name : try(var.helm_config.namespace, local.addon_namespace)
|
||||
|
||||
default_helm_config = {
|
||||
name = "opentelemetry"
|
||||
repository = "https://open-telemetry.github.io/opentelemetry-helm-charts"
|
||||
chart = "opentelemetry-operator"
|
||||
version = "0.10.0"
|
||||
namespace = local.namespace
|
||||
timeout = "1200"
|
||||
description = "ADOT Operator helm chart"
|
||||
values = []
|
||||
}
|
||||
|
||||
helm_config = merge(
|
||||
local.default_helm_config,
|
||||
var.helm_config
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user