Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
kubernetes-addons.tf 6.42 KiB
Newer Older
Vara Bonthu's avatar
Vara Bonthu committed
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: MIT-0
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this
 * software and associated documentation files (the "Software"), to deal in the Software
 * without restriction, including without limitation the rights to use, copy, modify,
 * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

Vara Bonthu's avatar
Vara Bonthu committed
module "metrics_server" {
  count                     = var.create_eks && var.metrics_server_enable ? 1 : 0
  source                    = "./kubernetes-addons/metrics-server"
  metrics_server_helm_chart = var.metrics_server_helm_chart
Vara Bonthu's avatar
Vara Bonthu committed
  depends_on = [module.aws_eks]
}
Vara Bonthu's avatar
Vara Bonthu committed
module "cluster_autoscaler" {
  count                         = var.create_eks && var.cluster_autoscaler_enable ? 1 : 0
  source                        = "./kubernetes-addons/cluster-autoscaler"
  eks_cluster_id                = module.aws_eks.cluster_id
  cluster_autoscaler_helm_chart = var.cluster_autoscaler_helm_chart
Vara Bonthu's avatar
Vara Bonthu committed
  depends_on = [module.aws_eks]
}

module "traefik_ingress" {
  count              = var.create_eks && var.traefik_ingress_controller_enable ? 1 : 0
  source             = "./kubernetes-addons/traefik-ingress"
  traefik_helm_chart = var.traefik_helm_chart
Vara Bonthu's avatar
Vara Bonthu committed
  depends_on = [module.aws_eks]
}

module "prometheus" {
  count                 = var.create_eks && var.prometheus_enable ? 1 : 0
  source                = "./kubernetes-addons/prometheus"
  prometheus_helm_chart = var.prometheus_helm_chart
  #AWS Managed Prometheus Workspace
  aws_managed_prometheus_enable   = var.aws_managed_prometheus_enable
  amp_workspace_id                = var.aws_managed_prometheus_enable ? module.aws_managed_prometheus[0].amp_workspace_id : ""
  amp_ingest_role_arn             = var.aws_managed_prometheus_enable ? module.aws_managed_prometheus[0].service_account_amp_ingest_role_arn : ""
  service_account_amp_ingest_name = local.service_account_amp_ingest_name

  depends_on = [module.aws_eks]
}

module "lb_ingress_controller" {
  count                          = var.create_eks && var.aws_lb_ingress_controller_enable ? 1 : 0
  source                         = "./kubernetes-addons/lb-ingress-controller"
  eks_cluster_id                 = module.aws_eks.cluster_id
  lb_ingress_controller_helm_app = var.aws_lb_ingress_controller_helm_app
  eks_oidc_issuer_url            = module.aws_eks.cluster_oidc_issuer_url
  eks_oidc_provider_arn          = module.aws_eks.oidc_provider_arn
Vara Bonthu's avatar
Vara Bonthu committed

  depends_on = [module.aws_eks]
}

module "nginx_ingress" {
  count            = var.create_eks && var.nginx_ingress_controller_enable ? 1 : 0
  source           = "./kubernetes-addons/nginx-ingress"
  nginx_helm_chart = var.nginx_helm_chart

  depends_on = [module.aws_eks]
Vara Bonthu's avatar
Vara Bonthu committed
}

module "aws-for-fluent-bit" {
  count                        = var.create_eks && var.aws_for_fluentbit_enable ? 1 : 0
  source                       = "./kubernetes-addons/aws-for-fluentbit"
  aws_for_fluentbit_helm_chart = var.aws_for_fluentbit_helm_chart
  eks_cluster_id               = module.aws_eks.cluster_id
Vara Bonthu's avatar
Vara Bonthu committed
  depends_on = [module.aws_eks]
}

module "fargate_fluentbit" {
  count                    = var.create_eks && var.fargate_fluentbit_enable ? 1 : 0
  source                   = "./kubernetes-addons/fargate-fluentbit"
  eks_cluster_id           = module.aws_eks.cluster_id
  fargate_fluentbit_config = var.fargate_fluentbit_config
Vara Bonthu's avatar
Vara Bonthu committed

  depends_on = [module.aws_eks]
}
Vara Bonthu's avatar
Vara Bonthu committed
module "agones" {
  count                        = var.create_eks && var.agones_enable ? 1 : 0
  source                       = "./kubernetes-addons/agones"
  agones_helm_chart            = var.agones_helm_chart
  eks_worker_security_group_id = module.aws_eks.worker_security_group_id
Vara Bonthu's avatar
Vara Bonthu committed

  depends_on = [module.aws_eks]
}

module "spark-k8s-operator" {
  count                            = var.create_eks && var.spark_on_k8s_operator_enable ? 1 : 0
  source                           = "./kubernetes-addons/spark-k8s-operator"
  spark_on_k8s_operator_helm_chart = var.spark_on_k8s_operator_helm_chart

  depends_on = [module.aws_eks]
}

Vara Bonthu's avatar
Vara Bonthu committed
module "cert_manager" {
  count  = var.create_eks && (var.cert_manager_enable || var.enable_windows_support) ? 1 : 0
Vara Bonthu's avatar
Vara Bonthu committed
  source = "./kubernetes-addons/cert-manager"

  cert_manager_helm_chart = var.cert_manager_helm_chart
Vara Bonthu's avatar
Vara Bonthu committed
  depends_on = [module.aws_eks]
}
Vara Bonthu's avatar
Vara Bonthu committed
module "windows_vpc_controllers" {
  count  = var.create_eks && var.enable_windows_support ? 1 : 0
  source = "./kubernetes-addons/windows-vpc-controllers"

  windows_vpc_controllers_helm_chart = var.windows_vpc_controllers_helm_chart

Vara Bonthu's avatar
Vara Bonthu committed
  depends_on = [
    module.cert_manager, module.aws_eks
  ]
}

module "aws_opentelemetry_collector" {
  count  = var.create_eks && var.aws_open_telemetry_enable ? 1 : 0
  source = "./kubernetes-addons/aws-opentelemetry-eks"

  aws_open_telemetry_addon                      = var.aws_open_telemetry_addon
  aws_open_telemetry_mg_node_iam_role_arns      = var.create_eks && var.enable_managed_nodegroups ? values({ for nodes in sort(keys(var.managed_node_groups)) : nodes => join(",", module.aws_eks_managed_node_groups[nodes].managed_nodegroup_iam_role_name) }) : []
  aws_open_telemetry_self_mg_node_iam_role_arns = var.create_eks && var.enable_self_managed_nodegroups ? values({ for nodes in sort(keys(var.self_managed_node_groups)) : nodes => join(",", module.aws_eks_self_managed_node_groups[nodes].self_managed_node_group_iam_role_arns) }) : []
Vara Bonthu's avatar
Vara Bonthu committed
  depends_on = [module.aws_eks]
}

module "argocd" {
Vara Bonthu's avatar
Vara Bonthu committed
  count               = var.create_eks && var.argocd_enable ? 1 : 0
  source              = "./kubernetes-addons/argocd"
  argocd_helm_chart   = var.argocd_helm_chart
  argocd_applications = var.argocd_applications
  eks_cluster_name    = module.aws_eks.cluster_id

  depends_on = [module.aws_eks]
}

module "keda" {
  count           = var.create_eks && var.keda_enable ? 1 : 0
  source          = "./kubernetes-addons/keda"
  keda_helm_chart = var.keda_helm_chart

  depends_on = [module.aws_eks]
}