From 12e8f7f446c2da8cef29e3f672ab97ade22de545 Mon Sep 17 00:00:00 2001 From: "Matthew C. Morgan" Date: Thu, 7 Nov 2024 19:51:32 -0500 Subject: [PATCH] even more --- lab/_envcommon/common-variables.hcl | 8 ++ lab/_envcommon/default-versions.hcl | 77 ++++++++++++++++--- .../eks-config/terragrunt.hcl | 1 + .../eks-dns/terragrunt.hcl | 17 ++-- .../eks-grafana/terragrunt.hcl | 18 +++-- .../eks-k8s-dashboard/terragrunt.hcl | 12 +-- .../eks-karpenter/terragrunt.hcl | 4 + .../eks-kiali/terragrunt.hcl.disable | 3 + .../eks-loki/terragrunt.hcl | 16 +++- .../eks-metrics-server/terragrunt.hcl | 8 +- .../eks-prometheus/terragrunt.hcl | 13 +++- 11 files changed, 137 insertions(+), 40 deletions(-) diff --git a/lab/_envcommon/common-variables.hcl b/lab/_envcommon/common-variables.hcl index aa8af71..3ea745d 100644 --- a/lab/_envcommon/common-variables.hcl +++ b/lab/_envcommon/common-variables.hcl @@ -12,4 +12,12 @@ locals { state_table_name = "tf_remote_state" terraform = true terragrunt = true + route53_endpoints = { + route53_main = { + "account_id" = "269244441389" + "alias" = "lab-gov-network-nonprod" + "us-gov-east-1" = "vpc-070595c5b133243dd" + "us-gov-west-1" = "vpc-08b7b4db6a5ddf9c1" + } + } } diff --git a/lab/_envcommon/default-versions.hcl b/lab/_envcommon/default-versions.hcl index c610034..41b15a9 100644 --- a/lab/_envcommon/default-versions.hcl +++ b/lab/_envcommon/default-versions.hcl @@ -1,9 +1,13 @@ # lab/_envcommon/default-versions.hcl locals { - eks_module_version = "20.28.0" - istio_ingress_version = "${local.release_version}" + ##################### + # Module Versions + ##################### + eks_module_version = "20.28.0" + istio_ingress_version = "${local.release_version}" custom_service_eks_account = "${local.release_version}" - cluster_version = "1.30.0" + cluster_version = "1.30.0" + ##################### # TF Providers ##################### @@ -15,30 +19,85 @@ locals { template_version = "2.2.0" random_version = "3.5.1" release_version = "0.1.1" + + ##################### + # EKS Config ##################### + kubectl_image_tag = "1.30.4" ################ # k8s-dashboard ################ - k8s_dashboard_version = "2.7.0" + dashboard_hostname = "dashboard" + k8s_dashboard_version = "2.7.0" k8s_dashboard_metrics_scraper = "1.0.8" - ################ ################ # Cert-Manager ################ - cert_manager_version = "1.16.1" - cert_manager_helm_chart = "${local.cert_manager_version}" + cluster_issuer_name = "cert-manager" cert_manager_cainjector_tag = "v${local.cert_manager_version}" cert_manager_controller_tag = "v${local.cert_manager_version}" + cert_manager_helm_chart = "${local.cert_manager_version}" cert_manager_startupapicheck_tag = "v${local.cert_manager_version}" + cert_manager_version = "1.16.1" cert_manager_webhook_tag = "v${local.cert_manager_version}" - cluster_issuer_name = "cert-manager" - ################ ################ # Istio ################ istio_version = "1.22.1" + ################ + # Grafana + ################ + download_dashboards_image_tag = "7.85.0" + grafana_chart_version = "8.5.0" + grafana_hostname = "grafana" + grafana_tag = "11.1.5" + init_chown_data_image_tag = "1.31.1" + + ################ + # Karpenter + ################ + karpenter_helm_chart = "1.0.6" + karpenter_tag = "1.0.6" + + ################ + # Kiali + ################ + kiali_operator_version = "1.73.0" + kiali_application_version = "v${local.kiali_operator_version}" + + ################ + # Loki + ################ + loki_chart_version = "6.10.2" + loki_tag = "3.1.1" + canary_tag = "3.0.0" + enterprise_logs_provisioner_tag = "v1.7.0" + gateway_tag = "1.25.2-alpine" + memcached_tag = "1.6.23-alpine" + exporter_tag = "v0.14.4" + sidecar_tag = "1.27.4" + + ################ + # Metrics Server + ################ + metrics_server_helm_chart = "3.12.1" + metrics_server_tag = "v0.7.1" + + ################ + # Prometheus + ################ + prometheus_chart_version = "25.26.0" + prometheus_server_tag = "v2.54.0" + prometheus_config_reloader_tag = "v0.75.2" + alertmanager_tag = "v0.27.0" + kube_state_metrics_tag = "v2.13.0" + node_exporter_tag = "v1.8.2" + pushgateway_tag = "v1.9.0" + + + } diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-config/terragrunt.hcl b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-config/terragrunt.hcl index 79f3f5c..d4a60db 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-config/terragrunt.hcl +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-config/terragrunt.hcl @@ -38,4 +38,5 @@ inputs = { security_group_all_worker_mgmt_id = dependency.eks.outputs.security_group_all_worker_mgmt_id eks_managed_node_groups_autoscaling_group_names = dependency.eks.outputs.eks_managed_node_groups_autoscaling_group_names oidc_provider_arn = dependency.eks.outputs.oidc_provider_arn + kubectl_image_tag = include.root.inputs.kubectl_image_tag } diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-dns/terragrunt.hcl b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-dns/terragrunt.hcl index b443699..6e28781 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-dns/terragrunt.hcl +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-dns/terragrunt.hcl @@ -30,12 +30,13 @@ dependency "istio" { } inputs = { - cluster_name = dependency.eks.inputs.cluster_name - istio_ingress_lb = dependency.istio.outputs.istio_ingress_lb - profile = include.root.inputs.aws_profile - region = include.root.inputs.aws_region - subnets = dependency.eks.outputs.subnets - tags = dependency.eks.inputs.tags - vpc_domain_name = dependency.eks.inputs.vpc_domain_name - vpc_name = dependency.eks.inputs.vpc_name + cluster_name = dependency.eks.inputs.cluster_name + istio_ingress_lb = dependency.istio.outputs.istio_ingress_lb + profile = include.root.inputs.aws_profile + region = include.root.inputs.aws_region + subnets = dependency.eks.outputs.subnets + tags = dependency.eks.inputs.tags + vpc_domain_name = dependency.eks.inputs.vpc_domain_name + vpc_name = dependency.eks.inputs.vpc_name + route53_endpoints = include.root.inputs.route53_endpoints } diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-grafana/terragrunt.hcl b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-grafana/terragrunt.hcl index 4f4bcac..65ab33f 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-grafana/terragrunt.hcl +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-grafana/terragrunt.hcl @@ -18,6 +18,7 @@ dependency "eks" { cluster_name = "a-cluster-name" } } + dependency "eks-loki" { config_path = "../eks-loki" mock_outputs = { @@ -25,12 +26,15 @@ dependency "eks-loki" { } } - inputs = { - profile = include.root.inputs.aws_profile - region = include.root.inputs.aws_region - cluster_name = dependency.eks.outputs.cluster_name - cluster_domain = dependency.eks.inputs.vpc_domain_name - public_hostname = "grafana" - rwo_storage_class = dependency.eks-loki.outputs.rwo_storage_class + profile = include.root.inputs.aws_profile + region = include.root.inputs.aws_region + cluster_name = dependency.eks.outputs.cluster_name + cluster_domain = dependency.eks.inputs.vpc_domain_name + public_hostname = include.root.inputs.grafana_hostname + rwo_storage_class = dependency.eks-loki.outputs.rwo_storage_class + grafana_chart_version = include.root.inputs.grafana_chart_version + grafana_tag = include.root.inputs.grafana_tag + download_dashboards_image_tag = include.root.inputs.download_dashboards_image_tag + init_chown_data_image_tag = include.root.inputs.init_chown_data_image_tag } diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-k8s-dashboard/terragrunt.hcl b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-k8s-dashboard/terragrunt.hcl index 1e7e537..cd1961b 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-k8s-dashboard/terragrunt.hcl +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-k8s-dashboard/terragrunt.hcl @@ -26,11 +26,11 @@ dependency "eks-loki" { } inputs = { - profile = include.root.inputs.aws_profile - region = include.root.inputs.aws_region - cluster_name = dependency.eks.outputs.cluster_name - cluster_domain = dependency.eks.inputs.vpc_domain_name - public_hostname = "dashboard" + profile = include.root.inputs.aws_profile + region = include.root.inputs.aws_region + cluster_name = dependency.eks.outputs.cluster_name + cluster_domain = dependency.eks.inputs.vpc_domain_name + public_hostname = include.root.inputs.dashboard_hostname + k8s_dashboard_version = include.root.inputs.k8s_dashboard_version # datasources = dependency.eks-loki.outputs.gateway_internal_endpoint - # k8s_dashboard_version = "v2.0.0" # NEW IDEA TO START PINNING VERSIONING OF COMPONENT TO TF MODULE VERSION } diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-karpenter/terragrunt.hcl b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-karpenter/terragrunt.hcl index 7e5ef48..6b1a862 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-karpenter/terragrunt.hcl +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-karpenter/terragrunt.hcl @@ -36,4 +36,8 @@ inputs = { karpenter_node_group_name = dependency.eks.outputs.node_group_name oidc_provider_arn = dependency.eks.outputs.oidc_provider_arn vpc_id = dependency.eks.outputs.vpc_id + karpenter_helm_chart = include.root.inputs.karpenter_helm_chart + karpenter_tag = include.root.inputs.karpenter_tag + kubectl_tag = include.root.inputs.kubectl_image_tag + } diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-kiali/terragrunt.hcl.disable b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-kiali/terragrunt.hcl.disable index c59f9ac..1e04fe0 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-kiali/terragrunt.hcl.disable +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-kiali/terragrunt.hcl.disable @@ -54,6 +54,9 @@ dependency "eks-grafana" { } inputs = { + kiali_operator_version = include.root.inputs.kiali_operator_version + kiali_application_version = include.root.inputs.kiali_application_version + profile = include.root.inputs.aws_profile cluster_domain = dependency.eks.inputs.vpc_domain_name operators_namespace = "operators" diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-loki/terragrunt.hcl b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-loki/terragrunt.hcl index 6c225ff..2c6b6be 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-loki/terragrunt.hcl +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-loki/terragrunt.hcl @@ -29,8 +29,16 @@ dependency "eks-prometheus" { } inputs = { - profile = include.root.inputs.aws_profile - region = include.root.inputs.aws_region - cluster_name = dependency.eks.outputs.cluster_name - oidc_provider_arn = dependency.eks.outputs.oidc_provider_arn + profile = include.root.inputs.aws_profile + region = include.root.inputs.aws_region + cluster_name = dependency.eks.outputs.cluster_name + oidc_provider_arn = dependency.eks.outputs.oidc_provider_arn + loki_chart_version = include.root.inputs.loki_chart_version + loki_tag = include.root.inputs.loki_tag + canary_tag = include.root.inputs.canary_tag + enterprise_logs_provisioner_tag = include.root.inputs.enterprise_logs_provisioner_tag + gateway_tag = include.root.inputs.gateway_tag + memcached_tag = include.root.inputs.memcached_tag + exporter_tag = include.root.inputs.exporter_tag + sidecar_tag = include.root.inputs.sidecar_tag } diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-metrics-server/terragrunt.hcl b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-metrics-server/terragrunt.hcl index c0e5408..387653b 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-metrics-server/terragrunt.hcl +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-metrics-server/terragrunt.hcl @@ -25,7 +25,9 @@ dependency "eks_config" { } inputs = { - profile = include.root.inputs.aws_profile - cluster_name = dependency.eks.outputs.cluster_name - region = include.root.inputs.aws_region + profile = include.root.inputs.aws_profile + cluster_name = dependency.eks.outputs.cluster_name + region = include.root.inputs.aws_region + metrics_server_helm_chart = include.root.inputs.metrics_server_helm_chart + metrics_server_tag = include.root.inputs.metrics_server_tag } diff --git a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-prometheus/terragrunt.hcl b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-prometheus/terragrunt.hcl index 5fa3d05..e6c54b1 100644 --- a/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-prometheus/terragrunt.hcl +++ b/lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-prometheus/terragrunt.hcl @@ -25,7 +25,14 @@ dependency "eks-dns" { } inputs = { - profile = include.root.inputs.aws_profile - region = include.root.inputs.aws_region - cluster_name = dependency.eks.outputs.cluster_name + profile = include.root.inputs.aws_profile + region = include.root.inputs.aws_region + cluster_name = dependency.eks.outputs.cluster_name + prometheus_chart_version = include.root.inputs.prometheus_chart_version + prometheus_server_tag = include.root.inputs.prometheus_server_tag + prometheus_config_reloader_tag = include.root.inputs.prometheus_config_reloader_tag + alertmanager_tag = include.root.inputs.alertmanager_tag + kube_state_metrics_tag = include.root.inputs.kube_state_metrics_tag + node_exporter_tag = include.root.inputs.node_exporter_tag + pushgateway_tag = include.root.inputs.pushgateway_tag }