This commit is contained in:
2025-07-24 13:10:12 -05:00
parent 18647902d4
commit adc0d0a7bb
6 changed files with 1150 additions and 921 deletions

View File

@@ -2,25 +2,25 @@
# Manual edits may be lost in future updates.
provider "registry.terraform.io/hashicorp/aws" {
version = "5.100.0"
constraints = ">= 4.33.0, >= 5.95.0, < 6.0.0"
version = "6.4.0"
constraints = ">= 6.0.0"
hashes = [
"h1:edXOJWE4ORX8Fm+dpVpICzMZJat4AX0VRCAy/xkcOc0=",
"zh:054b8dd49f0549c9a7cc27d159e45327b7b65cf404da5e5a20da154b90b8a644",
"zh:0b97bf8d5e03d15d83cc40b0530a1f84b459354939ba6f135a0086c20ebbe6b2",
"zh:1589a2266af699cbd5d80737a0fe02e54ec9cf2ca54e7e00ac51c7359056f274",
"zh:6330766f1d85f01ae6ea90d1b214b8b74cc8c1badc4696b165b36ddd4cc15f7b",
"zh:7c8c2e30d8e55291b86fcb64bdf6c25489d538688545eb48fd74ad622e5d3862",
"zh:99b1003bd9bd32ee323544da897148f46a527f622dc3971af63ea3e251596342",
"h1:hUzF9bzWMJKPJ3Q0b13sQAOTU5vHOc9m/S5HFPJl5Sk=",
"zh:05946a97a2d98d3a77f2dfb1133b39d61b1166f717f051a8aa44eca22a7446b0",
"zh:07278697234332b254e990fff84fa5608aabdb256a0dbed05dfe336905d385a1",
"zh:1b1ad46267c84fa474618048a9ad94a634cf5d0e5ec3c8e56a854638129ae4da",
"zh:1ff04914571b1dfa485358badbc81306e34d8ebec4aa1f96b8c1c3d2eb0e4d4a",
"zh:43d7fb899186ca1b355af908d0904ea94a1e06de220de0b9752f06465386f66f",
"zh:49ce34c359d5b05ba684482dace5e9c418f3beabcc2b0d129b21687cb7673cab",
"zh:4bbad3a23dd704b1548da40e9c81befb617a0c02e5a9776ef0eff5ef920881c5",
"zh:680aa4bd542c7a847f7df91cd1fa33fe8d19914aa80a2570ea6c82ab2d1f5740",
"zh:792a74fe4d6b501571c582c25067f7f4dbdce2305d559d09981e7f99025c98ef",
"zh:7c06b331b6a6f160d2d64245b9aee32922a9cb9947b7a9ad8c0ec93a702ecb1b",
"zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425",
"zh:9f8b909d3ec50ade83c8062290378b1ec553edef6a447c56dadc01a99f4eaa93",
"zh:aaef921ff9aabaf8b1869a86d692ebd24fbd4e12c21205034bb679b9caf883a2",
"zh:ac882313207aba00dd5a76dbd572a0ddc818bb9cbf5c9d61b28fe30efaec951e",
"zh:bb64e8aff37becab373a1a0cc1080990785304141af42ed6aa3dd4913b000421",
"zh:dfe495f6621df5540d9c92ad40b8067376350b005c637ea6efac5dc15028add4",
"zh:f0ddf0eaf052766cfe09dea8200a946519f653c384ab4336e2a4a64fdd6310e9",
"zh:f1b7e684f4c7ae1eed272b6de7d2049bb87a0275cb04dbb7cda6636f600699c9",
"zh:ff461571e3f233699bf690db319dfe46aec75e58726636a0d97dd9ac6e32fb70",
"zh:9f40add95d4f3e1c62df46bf37e13c30023d97eda47d4940904792f3b1a1827e",
"zh:b763c7c1bf5d8077d6499fd270cad249a712dd9522c6a6e4de49b278280806c5",
"zh:db69df59bef6f9d8bcb164414b4efa52c0c531c346d6b8b232917afa9b1c4a96",
"zh:dd9f98f64530386b8faaf9c55ec4b08e58725788c38683272a34684d82f866f7",
]
}

View File

@@ -2,7 +2,6 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "< 6.0.0"
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
// AWS Load Balancer Controller
resource "aws_iam_role" "aws-load-balancer-controller" {
name = "aws-load-balancer-controller"
resource "aws_iam_role" "aws_load_balancer_controller" {
name = "${var.cluster_name}-aws-load-balancer-controller-role"
assume_role_policy = jsonencode({
Version = "2012-10-17",
@@ -22,10 +22,7 @@ resource "aws_iam_role" "aws-load-balancer-controller" {
}
resource "aws_iam_policy" "AWSLoadBalancerControllerIAMPolicy" {
name = "AWSLoadBalancerControllerIAMPolicy"
// policy =
// file("${path.module}/aws-load-balancer-controller-iam-policy.json")
name = "${var.cluster_name}-AWSLoadBalancerControllerIAMPolicy"
policy = <<POLICY
{
@@ -282,14 +279,14 @@ resource "aws_iam_policy" "AWSLoadBalancerControllerIAMPolicy" {
POLICY
}
resource "aws_iam_role_policy_attachment" "aws-load-balancer-controller" {
role = aws_iam_role.aws-load-balancer-controller.name
resource "aws_iam_role_policy_attachment" "aws_load_balancer_controller" {
role = aws_iam_role.aws_load_balancer_controller.name
policy_arn = aws_iam_policy.AWSLoadBalancerControllerIAMPolicy.arn
}
// Cluster Autoscaler
resource "aws_iam_role" "cluster-autoscaler" {
name = "aws-cluster-autoscaler"
resource "aws_iam_role" "cluster_autoscaler" {
name = "${var.cluster_name}-aws-cluster-autoscaler-role"
assume_role_policy = jsonencode({
Version = "2012-10-17",
@@ -311,7 +308,7 @@ resource "aws_iam_role" "cluster-autoscaler" {
}
resource "aws_iam_policy" "ClusterAutoscalerIAMPolicy" {
name = "ClusterAutoscalerIAMPolicy"
name = "${var.cluster_name}-ClusterAutoscalerIAMPolicy"
policy = <<POLICY
{
@@ -342,14 +339,14 @@ resource "aws_iam_policy" "ClusterAutoscalerIAMPolicy" {
POLICY
}
resource "aws_iam_role_policy_attachment" "cluster-autoscaler" {
role = aws_iam_role.cluster-autoscaler.name
resource "aws_iam_role_policy_attachment" "cluster_autoscaler" {
role = aws_iam_role.cluster_autoscaler.name
policy_arn = aws_iam_policy.ClusterAutoscalerIAMPolicy.arn
}
// External DNS
resource "aws_iam_role" "external-dns" {
name = "external-dns"
resource "aws_iam_role" "external_dns" {
name = "${var.cluster_name}-external-dns-role"
assume_role_policy = jsonencode({
Version = "2012-10-17",
@@ -371,7 +368,7 @@ resource "aws_iam_role" "external-dns" {
}
resource "aws_iam_policy" "AllowExternalDNSUpdates" {
name = "AllowExternalDNSUpdates"
name = "${var.cluster_name}-AllowExternalDNSUpdates"
policy = <<POLICY
{
@@ -402,7 +399,7 @@ resource "aws_iam_policy" "AllowExternalDNSUpdates" {
POLICY
}
resource "aws_iam_role_policy_attachment" "external-dns" {
role = aws_iam_role.external-dns.name
resource "aws_iam_role_policy_attachment" "external_dns" {
role = aws_iam_role.external_dns.name
policy_arn = aws_iam_policy.AllowExternalDNSUpdates.arn
}

View File

@@ -1,10 +1,10 @@
module "eks" {
source = "terraform-aws-modules/eks/aws"
cluster_name = var.cluster_name
cluster_version = var.cluster_version
name = var.cluster_name
kubernetes_version = var.cluster_version
cluster_addons = {
addons = {
coredns = {}
eks-pod-identity-agent = {}
kube-proxy = {}
@@ -31,10 +31,14 @@ module "eks" {
min_size = var.min_size
max_size = var.max_size
desired_size = var.desired_size
metadata_options = {
http_put_response_hop_limit = 2
}
}
}
cluster_endpoint_public_access = true
cluster_endpoint_private_access = true
endpoint_public_access = true
endpoint_private_access = true
enable_cluster_creator_admin_permissions = true
}