Files
terraform-aws-observability…/modules/eks-container-insights/locals.tf
T
Rodrigue Koffi 43f1d5865a Temporarily disable lint rule (#218)
* Lint: Skip flaky module

* Force test on the module

* Temporary disable unused_declaration
2023-08-11 17:24:51 +02:00

78 lines
3.0 KiB
Terraform

data "aws_partition" "current" {}
data "aws_caller_identity" "current" {}
data "aws_region" "current" {}
data "aws_eks_cluster" "eks_cluster" {
name = var.eks_cluster_id
}
data "aws_iam_policy" "irsa" {
arn = "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy"
}
locals {
name = "adot-exporter-for-eks-on-ec2"
service_account = try(var.helm_config.service_account, "${local.name}-sa")
set_values = [
{
name = "serviceAccount.name"
value = local.service_account
},
{
name = "serviceAccount.create"
value = false
}
]
# https://github.com/aws-observability/aws-otel-helm-charts/tree/main/charts/adot-exporter-for-eks-on-ec2
default_helm_config = {
name = local.name
chart = "adot-exporter-for-eks-on-ec2"
repository = "https://aws-observability.github.io/aws-otel-helm-charts"
version = var.adot_otel_helm_chart_verison
namespace = "amazon-metrics"
values = local.default_helm_values
description = "ADOT Helm Chart Deployment Configuration for Container Insights"
}
helm_config = merge(
local.default_helm_config,
var.helm_config
)
default_helm_values = [templatefile("${path.module}/values.yaml", {
aws_region = local.addon_context.aws_region_name
cluster_name = local.addon_context.eks_cluster_id
service_receivers = format("[\"%s\"]", var.service_receivers)
service_exporters = format("[\"%s\"]", var.service_exporters)
service_account = local.service_account
})]
irsa_config = {
kubernetes_namespace = local.helm_config["namespace"]
kubernetes_service_account = local.service_account
create_kubernetes_namespace = try(local.helm_config["create_namespace"], true)
create_kubernetes_service_account = true
create_service_account_secret_token = try(local.helm_config["create_service_account_secret_token"], false)
irsa_iam_policies = concat([data.aws_iam_policy.irsa.arn], var.irsa_policies)
}
eks_oidc_issuer_url = replace(data.aws_eks_cluster.eks_cluster.identity[0].oidc[0].issuer, "https://", "")
addon_context = {
aws_caller_identity_account_id = data.aws_caller_identity.current.account_id
aws_caller_identity_arn = data.aws_caller_identity.current.arn
aws_eks_cluster_endpoint = data.aws_eks_cluster.eks_cluster.endpoint
aws_partition_id = data.aws_partition.current.partition
aws_region_name = data.aws_region.current.name
eks_cluster_id = var.eks_cluster_id
eks_oidc_issuer_url = replace(data.aws_eks_cluster.eks_cluster.identity[0].oidc[0].issuer, "https://", "")
eks_oidc_provider_arn = "arn:${data.aws_partition.current.partition}:iam::${data.aws_caller_identity.current.account_id}:oidc-provider/${local.eks_oidc_issuer_url}"
tags = var.tags
irsa_iam_role_path = var.irsa_iam_role_path
irsa_iam_permissions_boundary = var.irsa_iam_permissions_boundary
}
}