Skip to content

Morga471 cluster #18

Merged
merged 5 commits into from
Feb 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lab/_envcommon/default-versions.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ locals {
# k8s-dashboard
################
dashboard_hostname = "k8s-dashboard"
k8s_dashboard_metrics_scraper = "1.0.8"
# k8s_dashboard_metrics_scraper = "1.0.8"
k8s_dashboard_version = "6.0.6"

################
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ dependencies {
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-eks-configuration.git?ref=outputs"
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-eks-configuration.git?ref=${include.root.inputs.release_version}"

extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
Expand Down Expand Up @@ -49,4 +49,5 @@ inputs = {
security_group_all_worker_mgmt_id = dependency.eks.outputs.security_group_all_worker_mgmt_id
subnets = dependency.eks.outputs.subnets
vpc_id = dependency.eks.outputs.vpc_id

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ include "root" {
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-eks-dns.git?ref=explictProvider"
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-eks-dns.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20s"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ include "root" {
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-grafana.git?ref=cert_clash"
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-grafana.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20s"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ include "root" {
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-istio.git?ref=outputs"
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-istio.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20s"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ dependencies {
paths = [
"../eks",
"../eks-config",
"../eks-metrics-server"
"../eks-metrics-server",
"../eks-dns"
]
}

Expand All @@ -30,7 +31,7 @@ dependency "eks-config" {
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-loki.git?ref=read_fix"
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-loki.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20s"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ dependencies {
paths = [
"../eks",
"../eks-config",
"../eks-metrics-server"
"../eks-metrics-server",
"../eks-dns"
]
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/cluster.hcl

# Set cluster specific variables. These are automatically pulled in to configure the remote state bucket in the root
# terragrunt.hcl configuration.
locals {
cluster_endpoint_public_access = true
cluster_name = "platform-eng-eks-mcm"
creator = "matthew.c.morgan@census.gov"
eks_instance_disk_size = 100
eks_ng_desired_size = 2
eks_ng_max_size = 10
eks_ng_min_size = 0
enable_cluster_creator_admin_permissions = true
terraform = true
terragrunt = true
tags = {
"slim:schedule" = "8:00-17:00"
"cluster:size" = "min:${local.eks_ng_min_size}-max:${local.eks_ng_max_size}-desired:${local.eks_ng_desired_size}"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-cert-mgr.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
oidc_provider_arn = "arn:aws-us-gov:iam::111111111111:oidc-provider/oidc.eks.us-gov-east-1.amazonaws.com/id/0000000000000000AAAAAAAAAAAAAAAA"
}
}

dependency "eks_config" {
config_path = "../eks-config"
skip_outputs = true
}

inputs = {
cluster_name = dependency.eks.outputs.cluster_name
cluster_mailing_list = dependency.eks.inputs.creator
oidc_provider_arn = dependency.eks.outputs.oidc_provider_arn
profile = include.root.inputs.aws_profile
region = include.root.inputs.aws_region
cert_manager_helm_chart = include.root.inputs.cert_manager_helm_chart
cert_manager_cainjector_tag = include.root.inputs.cert_manager_cainjector_tag
cert_manager_controller_tag = include.root.inputs.cert_manager_controller_tag
cert_manager_startupapicheck_tag = include.root.inputs.cert_manager_startupapicheck_tag
cert_manager_webhook_tag = include.root.inputs.cert_manager_webhook_tag
cluster_issuer_name = include.root.inputs.cluster_issuer_name
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# lab/development/us-gov-east-1/vpc/platform-eng-eks-mcm/eks-config/terragrunt.hcl

include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-eks-configuration.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_certificate_authority_data = [{ data = "THISISAVERYLONGCERTSTRINGTHATGOESHEREFORSURENODYEP" }]
cluster_endpoint = "https://12345ABCDEE42BF9C24D4C362D1DC.sk1.us-gov-east-1.eks.amazonaws.com"
cluster_name = "a-cluster-name"
eks_managed_node_groups_autoscaling_group_names = ["eks-eks-a-cluster-name-node_group-0000000000000000000000000-5ac8a5e3-14dd-c043-2cc9-f4b6ffb36d32"]
oidc_provider_arn = "arn:aws-us-gov:iam::111111111111:oidc-provider/oidc.eks.us-gov-east-1.amazonaws.com/id/0000000000000000AAAAAAAAAAAAAAAA"
security_group_all_worker_mgmt_id = "sg-00b0000000000000"
subnets = ["subnet-00000000000000001", "subnet-00000000000000002", "subnet-00000000000000003"]
token = [{ token = "THISISTHETOKENTHATDOESNTEXISTTHEREAREMANYLIKEITBUTHISONEISFORACLUSTER" }]
vpc_id = "a-vpc-id"
}
}

inputs = {
profile = include.root.inputs.aws_profile
region = include.root.inputs.aws_region
vpc_id = dependency.eks.outputs.vpc_id
cluster_name = dependency.eks.outputs.cluster_name
subnets = dependency.eks.outputs.subnets
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
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-eks-dns.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
subnets = ["subnet-abcdefgh", "subnet-12345678", "subnet-ab12cd34"]
}
}

dependency "istio" {
config_path = "../eks-istio"
mock_outputs = {
istio_ingress_lb = {
dns_name = "a1111111111111111111111111111111-2bbbbbbbbbbbbbbb.elb.us-gov-east-1.amazonaws.com"
zone_id = "ZABC123456DEF"
}
}
}

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
route53_endpoints = include.root.inputs.route53_endpoints
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-grafana.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
}
}

dependency "eks-loki" {
config_path = "../eks-loki"
mock_outputs = {
rwo_storage_class = "gp3-encrypted"
}
}

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 = 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
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-istio.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
}
}
dependency "eks-karpenter" {
config_path = "../eks-karpenter"
skip_outputs = true
}

inputs = {
profile = include.root.inputs.aws_profile
region = include.root.inputs.aws_region
cluster_name = dependency.eks.outputs.cluster_name
istio_chart_version = include.root.inputs.istio_version
istio_version = include.root.inputs.istio_version
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-k8s-dashboard.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_name = "a-cluster-name"
vpc_domain_name = "example.com"
}
}

dependency "eks-loki" {
config_path = "../eks-loki"
skip_outputs = true
}

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 = include.root.inputs.dashboard_hostname
k8s_dashboard_version = include.root.inputs.k8s_dashboard_version
# datasources = dependency.eks-loki.outputs.gateway_internal_endpoint
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
include "root" {
path = find_in_parent_folders("root.hcl")
merge_strategy = "deep"
expose = true
}

terraform {
source = "git@github.e.it.census.gov:SCT-Engineering/tfmod-karpenter.git?ref=${include.root.inputs.release_version}"
extra_arguments "retry_lock" {
commands = get_terraform_commands_that_need_locking()
arguments = ["-lock-timeout=20m"]
}
}

dependency "eks" {
config_path = "../eks"
mock_outputs = {
cluster_endpoint = "https://0000000000000000AAAAAAAAAAAAAAAA.sk1.us-gov-east-1.eks.amazonaws.com"
cluster_name = "a-cluster-name"
node_group_name = "node_group_a-cluster-name"
oidc_provider_arn = "arn:aws-us-gov:iam::111111111111:oidc-provider/oidc.eks.us-gov-east-1.amazonaws.com/id/0000000000000000AAAAAAAAAAAAAAAA"
vpc_id = "a-vpc-name"
}
}

dependency "eks-config" {
config_path = "../eks-config"
skip_outputs = true
}

inputs = {
profile = include.root.inputs.aws_profile
region = include.root.inputs.aws_region
cluster_endpoint = dependency.eks.outputs.cluster_endpoint
cluster_name = dependency.eks.outputs.cluster_name
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

}
Loading