From 61eafd1467eece68fc581c40595200f0df9b532d Mon Sep 17 00:00:00 2001 From: harik8 Date: Sun, 22 Jun 2025 18:53:01 +0200 Subject: [PATCH 01/23] add README.md --- workloads/acb/regional/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workloads/acb/regional/README.md b/workloads/acb/regional/README.md index de63743..0a54dd8 100644 --- a/workloads/acb/regional/README.md +++ b/workloads/acb/regional/README.md @@ -1 +1,4 @@ -# regional \ No newline at end of file +# regional + + + From 477fc36e05fc9cb1ec0d60167cf20990e1ee36ae Mon Sep 17 00:00:00 2001 From: harik8 Date: Sun, 22 Jun 2025 20:25:00 +0200 Subject: [PATCH 02/23] Add initial boilerplate --- aws/acb/main.tf | 3 +++ aws/acb/provider.tf | 17 +++++++++++++++++ aws/acb/terragrunt.hcl | 3 +++ 3 files changed, 23 insertions(+) create mode 100644 aws/acb/main.tf create mode 100644 aws/acb/provider.tf create mode 100644 aws/acb/terragrunt.hcl diff --git a/aws/acb/main.tf b/aws/acb/main.tf new file mode 100644 index 0000000..12c0dbe --- /dev/null +++ b/aws/acb/main.tf @@ -0,0 +1,3 @@ +terraform { + backend "s3" {} +} diff --git a/aws/acb/provider.tf b/aws/acb/provider.tf new file mode 100644 index 0000000..49acc32 --- /dev/null +++ b/aws/acb/provider.tf @@ -0,0 +1,17 @@ +# Generated by Terragrunt. Sig: nIlQXj57tbuaRZEa +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "5.100.0" + } + } +} + +provider "aws" { + region = "eu-north-1" + assume_role { + role_arn = "arn:aws:iam::155023195342:role/InfraAsCode" + session_name = "InfraAsCode" + } +} diff --git a/aws/acb/terragrunt.hcl b/aws/acb/terragrunt.hcl new file mode 100644 index 0000000..98220c3 --- /dev/null +++ b/aws/acb/terragrunt.hcl @@ -0,0 +1,3 @@ +include "root" { + path = find_in_parent_folders() +} \ No newline at end of file From f883311965db745bd44130199a908413df3d0eb2 Mon Sep 17 00:00:00 2001 From: harik8 Date: Sun, 22 Jun 2025 20:29:16 +0200 Subject: [PATCH 03/23] Add initial boilerplate --- aws/.boilerplate/boilerplate.yaml | 4 ++++ aws/.boilerplate/terragrunt.hcl | 7 +++++++ aws/terragrunt.hcl | 32 +++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 aws/.boilerplate/boilerplate.yaml create mode 100644 aws/.boilerplate/terragrunt.hcl create mode 100644 aws/terragrunt.hcl diff --git a/aws/.boilerplate/boilerplate.yaml b/aws/.boilerplate/boilerplate.yaml new file mode 100644 index 0000000..6238272 --- /dev/null +++ b/aws/.boilerplate/boilerplate.yaml @@ -0,0 +1,4 @@ +variables: +- name: TeamName +description: The name of the team using this module +type: string \ No newline at end of file diff --git a/aws/.boilerplate/terragrunt.hcl b/aws/.boilerplate/terragrunt.hcl new file mode 100644 index 0000000..42ecb16 --- /dev/null +++ b/aws/.boilerplate/terragrunt.hcl @@ -0,0 +1,7 @@ +include "root" { + path = find_in_parent_folders() +} + +input = { + TeamName = "test" +} \ No newline at end of file diff --git a/aws/terragrunt.hcl b/aws/terragrunt.hcl new file mode 100644 index 0000000..b0e14df --- /dev/null +++ b/aws/terragrunt.hcl @@ -0,0 +1,32 @@ +generate "provider" { + path = "provider.tf" + if_exists = "overwrite" + contents = < Date: Sun, 22 Jun 2025 20:37:11 +0200 Subject: [PATCH 04/23] Add initial boilerplate --- aws/.boilerplate/{boilerplate.yaml => boilerplate.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename aws/.boilerplate/{boilerplate.yaml => boilerplate.yml} (100%) diff --git a/aws/.boilerplate/boilerplate.yaml b/aws/.boilerplate/boilerplate.yml similarity index 100% rename from aws/.boilerplate/boilerplate.yaml rename to aws/.boilerplate/boilerplate.yml From b58e77031c39b7ef5f949242339a9f2e578b9a82 Mon Sep 17 00:00:00 2001 From: harik8 Date: Sun, 22 Jun 2025 20:38:51 +0200 Subject: [PATCH 05/23] Add initial boilerplate --- aws/.boilerplate/boilerplate.yml | 5 +++++ aws/.boilerplate/terragrunt.hcl | 1 + aws/acb/terragrunt.hcl | 2 +- aws/terragrunt.hcl | 35 +++++--------------------------- 4 files changed, 12 insertions(+), 31 deletions(-) diff --git a/aws/.boilerplate/boilerplate.yml b/aws/.boilerplate/boilerplate.yml index 6238272..1da6a61 100644 --- a/aws/.boilerplate/boilerplate.yml +++ b/aws/.boilerplate/boilerplate.yml @@ -1,4 +1,9 @@ variables: - name: TeamName description: The name of the team using this module +type: string + +variables: +- name: TeamId +description: The name of the team using this module type: string \ No newline at end of file diff --git a/aws/.boilerplate/terragrunt.hcl b/aws/.boilerplate/terragrunt.hcl index 42ecb16..895c979 100644 --- a/aws/.boilerplate/terragrunt.hcl +++ b/aws/.boilerplate/terragrunt.hcl @@ -4,4 +4,5 @@ include "root" { input = { TeamName = "test" + TeamId = "1" } \ No newline at end of file diff --git a/aws/acb/terragrunt.hcl b/aws/acb/terragrunt.hcl index 98220c3..b4cba33 100644 --- a/aws/acb/terragrunt.hcl +++ b/aws/acb/terragrunt.hcl @@ -1,3 +1,3 @@ include "root" { - path = find_in_parent_folders() + path = find_in_parent_folders() } \ No newline at end of file diff --git a/aws/terragrunt.hcl b/aws/terragrunt.hcl index b0e14df..cf2abc9 100644 --- a/aws/terragrunt.hcl +++ b/aws/terragrunt.hcl @@ -1,32 +1,7 @@ -generate "provider" { - path = "provider.tf" - if_exists = "overwrite" - contents = < Date: Sun, 22 Jun 2025 20:42:43 +0200 Subject: [PATCH 06/23] Add initial boilerplate --- aws/.boilerplate/boilerplate.yml | 25 ++++++++++++++++++------- aws/.boilerplate/terragrunt.hcl | 27 ++++++++++++++++++++++++++- aws/terragrunt.hcl | 1 + 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/aws/.boilerplate/boilerplate.yml b/aws/.boilerplate/boilerplate.yml index 1da6a61..23a0c68 100644 --- a/aws/.boilerplate/boilerplate.yml +++ b/aws/.boilerplate/boilerplate.yml @@ -1,9 +1,20 @@ variables: -- name: TeamName -description: The name of the team using this module -type: string + - name: name + prompt: "VPC name" + default: "my-vpc" -variables: -- name: TeamId -description: The name of the team using this module -type: string \ No newline at end of file + - name: cidr + prompt: "VPC CIDR" + default: "10.0.0.0/16" + + - name: enable_nat_gateway + prompt: "Enable NAT Gateway?" + default: false + + - name: single_nat_gateway + prompt: "Use single NAT Gateway?" + default: false + +module_version: + prompt: "Terraform AWS VPC module version" + default: "v5.17.0" diff --git a/aws/.boilerplate/terragrunt.hcl b/aws/.boilerplate/terragrunt.hcl index 895c979..4b7aad3 100644 --- a/aws/.boilerplate/terragrunt.hcl +++ b/aws/.boilerplate/terragrunt.hcl @@ -5,4 +5,29 @@ include "root" { input = { TeamName = "test" TeamId = "1" -} \ No newline at end of file +} + +terraform { + source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref={{ .ModuleVersion }}" +} + +include "root" { + path = find_in_parent_folders() +} + +locals { + azs = slice(data.aws_availability_zones.available.names, 0, 3) +} + +inputs = { + name = "{{ .Vars.name }}" + cidr = "{{ .Vars.cidr }}" + + azs = local.azs + enable_nat_gateway = {{ .Vars.enable_nat_gateway }} + single_nat_gateway = {{ .Vars.single_nat_gateway }} + + private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .Vars.cidr }}", 8, k + 8)] + public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .Vars.cidr }}", 12, k + 8)] + intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .Vars.cidr }}", 8, k + 12)] +} diff --git a/aws/terragrunt.hcl b/aws/terragrunt.hcl index cf2abc9..2bdc17b 100644 --- a/aws/terragrunt.hcl +++ b/aws/terragrunt.hcl @@ -4,4 +4,5 @@ include "root" { input = { TeamName = "test" + TeamId = "1" } \ No newline at end of file From 29a7ea896f525e3d2cf6d4d5eda6aa3769efc6f9 Mon Sep 17 00:00:00 2001 From: harik8 Date: Sun, 22 Jun 2025 20:44:04 +0200 Subject: [PATCH 07/23] Add initial boilerplate --- aws/.boilerplate/boilerplate.yml | 6 +++--- aws/.boilerplate/terragrunt.hcl | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/aws/.boilerplate/boilerplate.yml b/aws/.boilerplate/boilerplate.yml index 23a0c68..c864a81 100644 --- a/aws/.boilerplate/boilerplate.yml +++ b/aws/.boilerplate/boilerplate.yml @@ -15,6 +15,6 @@ variables: prompt: "Use single NAT Gateway?" default: false -module_version: - prompt: "Terraform AWS VPC module version" - default: "v5.17.0" +# module_version: +# prompt: "Terraform AWS VPC module version" +# default: "v5.17.0" diff --git a/aws/.boilerplate/terragrunt.hcl b/aws/.boilerplate/terragrunt.hcl index 4b7aad3..f8b8589 100644 --- a/aws/.boilerplate/terragrunt.hcl +++ b/aws/.boilerplate/terragrunt.hcl @@ -8,7 +8,7 @@ input = { } terraform { - source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref={{ .ModuleVersion }}" + source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" } include "root" { From 95400060d46ad529429aa5325420b9c113b5f0b2 Mon Sep 17 00:00:00 2001 From: harik8 Date: Sun, 22 Jun 2025 20:45:47 +0200 Subject: [PATCH 08/23] Add initial boilerplate --- aws/.boilerplate/terragrunt.hcl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/aws/.boilerplate/terragrunt.hcl b/aws/.boilerplate/terragrunt.hcl index f8b8589..71337cf 100644 --- a/aws/.boilerplate/terragrunt.hcl +++ b/aws/.boilerplate/terragrunt.hcl @@ -20,14 +20,14 @@ locals { } inputs = { - name = "{{ .Vars.name }}" - cidr = "{{ .Vars.cidr }}" + name = "{{ .name }}" + cidr = "{{ .cidr }}" azs = local.azs - enable_nat_gateway = {{ .Vars.enable_nat_gateway }} - single_nat_gateway = {{ .Vars.single_nat_gateway }} + enable_nat_gateway = {{ .enable_nat_gateway }} + single_nat_gateway = {{ .single_nat_gateway }} - private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .Vars.cidr }}", 8, k + 8)] - public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .Vars.cidr }}", 12, k + 8)] - intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .Vars.cidr }}", 8, k + 12)] + private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 8)] + public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 12, k + 8)] + intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 12)] } From 07efa45b46573e0ae110f7614a5f03e154f06785 Mon Sep 17 00:00:00 2001 From: harik8 Date: Sun, 22 Jun 2025 20:48:15 +0200 Subject: [PATCH 09/23] Add initial boilerplate --- aws/.boilerplate/tg.hcl | 24 ++++++++++++++++++++++++ aws/terragrunt.hcl | 27 ++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 aws/.boilerplate/tg.hcl diff --git a/aws/.boilerplate/tg.hcl b/aws/.boilerplate/tg.hcl new file mode 100644 index 0000000..09e60fb --- /dev/null +++ b/aws/.boilerplate/tg.hcl @@ -0,0 +1,24 @@ +terraform { + source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" +} + +include "root" { + path = find_in_parent_folders() +} + +locals { + azs = slice(data.aws_availability_zones.available.names, 0, 3) +} + +inputs = { + name = "{{ .name }}" + cidr = "{{ .cidr }}" + + azs = local.azs + enable_nat_gateway = {{ .enable_nat_gateway }} + single_nat_gateway = {{ .single_nat_gateway }} + + private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 8)] + public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 12, k + 8)] + intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 12)] +} \ No newline at end of file diff --git a/aws/terragrunt.hcl b/aws/terragrunt.hcl index 2bdc17b..3da2e49 100644 --- a/aws/terragrunt.hcl +++ b/aws/terragrunt.hcl @@ -5,4 +5,29 @@ include "root" { input = { TeamName = "test" TeamId = "1" -} \ No newline at end of file +} + +terraform { + source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" +} + +include "root" { + path = find_in_parent_folders() +} + +locals { + azs = slice(data.aws_availability_zones.available.names, 0, 3) +} + +inputs = { + name = "my-vpc" + cidr = "10.0.0.0/16" + + azs = local.azs + enable_nat_gateway = "false" + single_nat_gateway = "false" + + private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 8, k + 8)] + public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 12, k + 8)] + intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 8, k + 12)] +} From 18c397ad5985848d54e7bd4fe99cdc0b1f9a3788 Mon Sep 17 00:00:00 2001 From: harik8 Date: Thu, 26 Jun 2025 21:10:25 +0200 Subject: [PATCH 10/23] add vpc folder --- aws/.boilerplate/tg.hcl | 24 ---------------------- aws/.boilerplate/{ => vpc}/boilerplate.yml | 8 ++++---- aws/.boilerplate/{ => vpc}/terragrunt.hcl | 13 ------------ aws/terragrunt.hcl | 16 ++------------- 4 files changed, 6 insertions(+), 55 deletions(-) delete mode 100644 aws/.boilerplate/tg.hcl rename aws/.boilerplate/{ => vpc}/boilerplate.yml (72%) rename aws/.boilerplate/{ => vpc}/terragrunt.hcl (80%) diff --git a/aws/.boilerplate/tg.hcl b/aws/.boilerplate/tg.hcl deleted file mode 100644 index 09e60fb..0000000 --- a/aws/.boilerplate/tg.hcl +++ /dev/null @@ -1,24 +0,0 @@ -terraform { - source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" -} - -include "root" { - path = find_in_parent_folders() -} - -locals { - azs = slice(data.aws_availability_zones.available.names, 0, 3) -} - -inputs = { - name = "{{ .name }}" - cidr = "{{ .cidr }}" - - azs = local.azs - enable_nat_gateway = {{ .enable_nat_gateway }} - single_nat_gateway = {{ .single_nat_gateway }} - - private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 8)] - public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 12, k + 8)] - intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 12)] -} \ No newline at end of file diff --git a/aws/.boilerplate/boilerplate.yml b/aws/.boilerplate/vpc/boilerplate.yml similarity index 72% rename from aws/.boilerplate/boilerplate.yml rename to aws/.boilerplate/vpc/boilerplate.yml index c864a81..3f04791 100644 --- a/aws/.boilerplate/boilerplate.yml +++ b/aws/.boilerplate/vpc/boilerplate.yml @@ -1,7 +1,7 @@ variables: - name: name prompt: "VPC name" - default: "my-vpc" + default: "main" - name: cidr prompt: "VPC CIDR" @@ -15,6 +15,6 @@ variables: prompt: "Use single NAT Gateway?" default: false -# module_version: -# prompt: "Terraform AWS VPC module version" -# default: "v5.17.0" + - module_version: + prompt: "Terraform AWS VPC module version" + default: "v5.17.0" diff --git a/aws/.boilerplate/terragrunt.hcl b/aws/.boilerplate/vpc/terragrunt.hcl similarity index 80% rename from aws/.boilerplate/terragrunt.hcl rename to aws/.boilerplate/vpc/terragrunt.hcl index 71337cf..d9d9702 100644 --- a/aws/.boilerplate/terragrunt.hcl +++ b/aws/.boilerplate/vpc/terragrunt.hcl @@ -1,20 +1,7 @@ -include "root" { - path = find_in_parent_folders() -} - -input = { - TeamName = "test" - TeamId = "1" -} - terraform { source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" } -include "root" { - path = find_in_parent_folders() -} - locals { azs = slice(data.aws_availability_zones.available.names, 0, 3) } diff --git a/aws/terragrunt.hcl b/aws/terragrunt.hcl index 3da2e49..fdc8bf0 100644 --- a/aws/terragrunt.hcl +++ b/aws/terragrunt.hcl @@ -1,22 +1,10 @@ -include "root" { - path = find_in_parent_folders() -} - -input = { - TeamName = "test" - TeamId = "1" -} - terraform { source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" } -include "root" { - path = find_in_parent_folders() -} - locals { - azs = slice(data.aws_availability_zones.available.names, 0, 3) +# azs = slice(data.aws_availability_zones.available.names, 0, 3) + azs = ["","",""] } inputs = { From ba1831073ba96185a9de6c4e332d67d0e07d054c Mon Sep 17 00:00:00 2001 From: harik8 Date: Thu, 26 Jun 2025 21:19:57 +0200 Subject: [PATCH 11/23] add vpc folder --- aws/.boilerplate/vpc/boilerplate.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/aws/.boilerplate/vpc/boilerplate.yml b/aws/.boilerplate/vpc/boilerplate.yml index 3f04791..a46c03c 100644 --- a/aws/.boilerplate/vpc/boilerplate.yml +++ b/aws/.boilerplate/vpc/boilerplate.yml @@ -15,6 +15,6 @@ variables: prompt: "Use single NAT Gateway?" default: false - - module_version: - prompt: "Terraform AWS VPC module version" - default: "v5.17.0" + # - module_version: + # prompt: "Terraform AWS VPC module version" + # default: "v5.17.0" From bc90e3510802f6d3f0342d5b10b11b6cb8293369 Mon Sep 17 00:00:00 2001 From: harik8 Date: Thu, 26 Jun 2025 21:33:47 +0200 Subject: [PATCH 12/23] add vpc folder --- aws/.boilerplate/vpc/boilerplate.yml | 4 ---- aws/acb/terragrunt.hcl | 23 ++++++++++++++++++++--- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/aws/.boilerplate/vpc/boilerplate.yml b/aws/.boilerplate/vpc/boilerplate.yml index a46c03c..051b07c 100644 --- a/aws/.boilerplate/vpc/boilerplate.yml +++ b/aws/.boilerplate/vpc/boilerplate.yml @@ -1,18 +1,14 @@ variables: - name: name - prompt: "VPC name" default: "main" - name: cidr - prompt: "VPC CIDR" default: "10.0.0.0/16" - name: enable_nat_gateway - prompt: "Enable NAT Gateway?" default: false - name: single_nat_gateway - prompt: "Use single NAT Gateway?" default: false # - module_version: diff --git a/aws/acb/terragrunt.hcl b/aws/acb/terragrunt.hcl index b4cba33..f53d3e9 100644 --- a/aws/acb/terragrunt.hcl +++ b/aws/acb/terragrunt.hcl @@ -1,3 +1,20 @@ -include "root" { - path = find_in_parent_folders() -} \ No newline at end of file +terraform { + source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" +} + +locals { + azs = slice(data.aws_availability_zones.available.names, 0, 3) +} + +inputs = { + name = "main" + cidr = "10.0.0.0/16" + + azs = local.azs + enable_nat_gateway = "false" + single_nat_gateway = "false" + + private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 8, k + 8)] + public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 12, k + 8)] + intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 8, k + 12)] +} From 0edcaa37a01b998d6b206ddb268a3602db4792a7 Mon Sep 17 00:00:00 2001 From: harik8 Date: Thu, 26 Jun 2025 22:10:16 +0200 Subject: [PATCH 13/23] add vpc folder --- aws/.boilerplate/vpc/boilerplate.yml | 5 +- aws/.boilerplate/vpc/terragrunt.hcl | 8 +- aws/acb/terragrunt.hcl | 12 +- aws/acb/vars.yaml | 6 + aws/terragrunt.hcl | 43 +++--- workloads/README.md | 1 - workloads/acb/README.md | 1 - workloads/acb/global/README.md | 1 - workloads/acb/global/iam/.terraform.lock.hcl | 37 ----- workloads/acb/global/iam/backend.tf | 3 - workloads/acb/global/iam/data.tf | 6 - workloads/acb/global/iam/github.tf | 85 ------------ workloads/acb/global/iam/locals.tf | 4 - workloads/acb/global/iam/main.tf | 10 -- workloads/acb/global/iam/outputs.tf | 15 --- workloads/acb/global/iam/providers.tf | 8 -- workloads/acb/global/iam/variables.tf | 15 --- workloads/acb/regional/README.md | 4 - .../acb/regional/acm/.terraform.lock.hcl | 20 --- workloads/acb/regional/acm/backend.tf | 3 - workloads/acb/regional/acm/data.tf | 0 workloads/acb/regional/acm/locals.tf | 0 workloads/acb/regional/acm/main.tf | 21 --- workloads/acb/regional/acm/outputs.tf | 3 - workloads/acb/regional/acm/providers.tf | 8 -- workloads/acb/regional/acm/variables.tf | 35 ----- .../acb/regional/ecs/.terraform.lock.hcl | 20 --- workloads/acb/regional/ecs/backend.tf | 3 - workloads/acb/regional/ecs/data.tf | 19 --- .../acb/regional/ecs/files/app/Dockerfile | 24 ---- workloads/acb/regional/ecs/files/app/app.py | 17 --- .../regional/ecs/files/app/python-svc.json | 40 ------ .../regional/ecs/files/app/python-task.json | 35 ----- .../regional/ecs/files/app/requirements.txt | 2 - .../acb/regional/ecs/files/nginx/Dockerfile | 14 -- .../regional/ecs/files/nginx/nginx-svc.json | 47 ------- .../regional/ecs/files/nginx/nginx-task.json | 35 ----- .../ecs/files/nginx/nginx-update.json | 39 ------ .../acb/regional/ecs/files/nginx/nginx.conf | 38 ------ workloads/acb/regional/ecs/locals.tf | 10 -- workloads/acb/regional/ecs/main.tf | 47 ------- workloads/acb/regional/ecs/nlb.tf | 46 ------- workloads/acb/regional/ecs/outputs.tf | 7 - workloads/acb/regional/ecs/providers.tf | 8 -- workloads/acb/regional/ecs/sg.tf | 67 ---------- workloads/acb/regional/ecs/variables.tf | 25 ---- .../acb/regional/eks/.terraform.lock.hcl | 126 ------------------ workloads/acb/regional/eks/backend.tofu | 3 - workloads/acb/regional/eks/data.tofu | 31 ----- workloads/acb/regional/eks/eks_managed_ng.tf | 47 ------- workloads/acb/regional/eks/fargate.tf | 15 --- .../acb/regional/eks/files/karpenter.yaml | 59 -------- workloads/acb/regional/eks/files/pdb.yaml | 11 -- .../regional/eks/files/values/karpenter.yaml | 5 - .../acb/regional/eks/files/values/loki.yaml | 23 ---- .../acb/regional/eks/files/values/nginx.yaml | 15 --- workloads/acb/regional/eks/helm.tf | 111 --------------- workloads/acb/regional/eks/karpenter.tofu | 29 ---- workloads/acb/regional/eks/locals.tofu | 15 --- workloads/acb/regional/eks/main.tf | 86 ------------ workloads/acb/regional/eks/nlb.tofu | 48 ------- workloads/acb/regional/eks/outputs.tofu | 11 -- workloads/acb/regional/eks/providers.tf | 30 ----- .../acb/regional/eks/self_manged_ng.tofu | 41 ------ workloads/acb/regional/eks/sg.tofu | 53 -------- workloads/acb/regional/eks/variables.tofu | 25 ---- workloads/acb/regional/providers.tf | 8 -- .../regional/tf-backend/.terraform.lock.hcl | 20 --- workloads/acb/regional/tf-backend/backend.tf | 3 - workloads/acb/regional/tf-backend/data.tf | 0 workloads/acb/regional/tf-backend/locals.tf | 0 workloads/acb/regional/tf-backend/main.tf | 85 ------------ workloads/acb/regional/tf-backend/outputs.tf | 7 - .../acb/regional/tf-backend/providers.tf | 8 -- .../acb/regional/tf-backend/variables.tf | 24 ---- .../acb/regional/vpc/.terraform.lock.hcl | 20 --- workloads/acb/regional/vpc/backend.tf | 3 - workloads/acb/regional/vpc/data.tf | 21 --- workloads/acb/regional/vpc/locals.tf | 37 ----- workloads/acb/regional/vpc/main.tf | 117 ---------------- workloads/acb/regional/vpc/outputs.tf | 15 --- workloads/acb/regional/vpc/providers.tf | 1 - workloads/acb/regional/vpc/variables.tf | 27 ---- workloads/manage/README.md | 1 - workloads/manage/global/README.md | 1 - workloads/manage/regional/README.md | 1 - 86 files changed, 47 insertions(+), 2033 deletions(-) create mode 100644 aws/acb/vars.yaml delete mode 100644 workloads/README.md delete mode 100644 workloads/acb/README.md delete mode 100644 workloads/acb/global/README.md delete mode 100644 workloads/acb/global/iam/.terraform.lock.hcl delete mode 100644 workloads/acb/global/iam/backend.tf delete mode 100644 workloads/acb/global/iam/data.tf delete mode 100644 workloads/acb/global/iam/github.tf delete mode 100644 workloads/acb/global/iam/locals.tf delete mode 100644 workloads/acb/global/iam/main.tf delete mode 100644 workloads/acb/global/iam/outputs.tf delete mode 100644 workloads/acb/global/iam/providers.tf delete mode 100644 workloads/acb/global/iam/variables.tf delete mode 100644 workloads/acb/regional/README.md delete mode 100644 workloads/acb/regional/acm/.terraform.lock.hcl delete mode 100644 workloads/acb/regional/acm/backend.tf delete mode 100644 workloads/acb/regional/acm/data.tf delete mode 100644 workloads/acb/regional/acm/locals.tf delete mode 100644 workloads/acb/regional/acm/main.tf delete mode 100644 workloads/acb/regional/acm/outputs.tf delete mode 100644 workloads/acb/regional/acm/providers.tf delete mode 100644 workloads/acb/regional/acm/variables.tf delete mode 100644 workloads/acb/regional/ecs/.terraform.lock.hcl delete mode 100644 workloads/acb/regional/ecs/backend.tf delete mode 100644 workloads/acb/regional/ecs/data.tf delete mode 100644 workloads/acb/regional/ecs/files/app/Dockerfile delete mode 100644 workloads/acb/regional/ecs/files/app/app.py delete mode 100644 workloads/acb/regional/ecs/files/app/python-svc.json delete mode 100644 workloads/acb/regional/ecs/files/app/python-task.json delete mode 100644 workloads/acb/regional/ecs/files/app/requirements.txt delete mode 100644 workloads/acb/regional/ecs/files/nginx/Dockerfile delete mode 100644 workloads/acb/regional/ecs/files/nginx/nginx-svc.json delete mode 100644 workloads/acb/regional/ecs/files/nginx/nginx-task.json delete mode 100644 workloads/acb/regional/ecs/files/nginx/nginx-update.json delete mode 100644 workloads/acb/regional/ecs/files/nginx/nginx.conf delete mode 100644 workloads/acb/regional/ecs/locals.tf delete mode 100644 workloads/acb/regional/ecs/main.tf delete mode 100644 workloads/acb/regional/ecs/nlb.tf delete mode 100644 workloads/acb/regional/ecs/outputs.tf delete mode 100644 workloads/acb/regional/ecs/providers.tf delete mode 100644 workloads/acb/regional/ecs/sg.tf delete mode 100644 workloads/acb/regional/ecs/variables.tf delete mode 100644 workloads/acb/regional/eks/.terraform.lock.hcl delete mode 100644 workloads/acb/regional/eks/backend.tofu delete mode 100644 workloads/acb/regional/eks/data.tofu delete mode 100644 workloads/acb/regional/eks/eks_managed_ng.tf delete mode 100644 workloads/acb/regional/eks/fargate.tf delete mode 100644 workloads/acb/regional/eks/files/karpenter.yaml delete mode 100644 workloads/acb/regional/eks/files/pdb.yaml delete mode 100644 workloads/acb/regional/eks/files/values/karpenter.yaml delete mode 100644 workloads/acb/regional/eks/files/values/loki.yaml delete mode 100644 workloads/acb/regional/eks/files/values/nginx.yaml delete mode 100644 workloads/acb/regional/eks/helm.tf delete mode 100644 workloads/acb/regional/eks/karpenter.tofu delete mode 100644 workloads/acb/regional/eks/locals.tofu delete mode 100644 workloads/acb/regional/eks/main.tf delete mode 100644 workloads/acb/regional/eks/nlb.tofu delete mode 100644 workloads/acb/regional/eks/outputs.tofu delete mode 100644 workloads/acb/regional/eks/providers.tf delete mode 100644 workloads/acb/regional/eks/self_manged_ng.tofu delete mode 100644 workloads/acb/regional/eks/sg.tofu delete mode 100644 workloads/acb/regional/eks/variables.tofu delete mode 100644 workloads/acb/regional/providers.tf delete mode 100644 workloads/acb/regional/tf-backend/.terraform.lock.hcl delete mode 100644 workloads/acb/regional/tf-backend/backend.tf delete mode 100644 workloads/acb/regional/tf-backend/data.tf delete mode 100644 workloads/acb/regional/tf-backend/locals.tf delete mode 100644 workloads/acb/regional/tf-backend/main.tf delete mode 100644 workloads/acb/regional/tf-backend/outputs.tf delete mode 100644 workloads/acb/regional/tf-backend/providers.tf delete mode 100644 workloads/acb/regional/tf-backend/variables.tf delete mode 100644 workloads/acb/regional/vpc/.terraform.lock.hcl delete mode 100644 workloads/acb/regional/vpc/backend.tf delete mode 100644 workloads/acb/regional/vpc/data.tf delete mode 100644 workloads/acb/regional/vpc/locals.tf delete mode 100644 workloads/acb/regional/vpc/main.tf delete mode 100644 workloads/acb/regional/vpc/outputs.tf delete mode 120000 workloads/acb/regional/vpc/providers.tf delete mode 100644 workloads/acb/regional/vpc/variables.tf delete mode 100644 workloads/manage/README.md delete mode 100644 workloads/manage/global/README.md delete mode 100644 workloads/manage/regional/README.md diff --git a/aws/.boilerplate/vpc/boilerplate.yml b/aws/.boilerplate/vpc/boilerplate.yml index 051b07c..0e3b193 100644 --- a/aws/.boilerplate/vpc/boilerplate.yml +++ b/aws/.boilerplate/vpc/boilerplate.yml @@ -11,6 +11,5 @@ variables: - name: single_nat_gateway default: false - # - module_version: - # prompt: "Terraform AWS VPC module version" - # default: "v5.17.0" + - module_version: + default: "v5.17.0" diff --git a/aws/.boilerplate/vpc/terragrunt.hcl b/aws/.boilerplate/vpc/terragrunt.hcl index d9d9702..34410e0 100644 --- a/aws/.boilerplate/vpc/terragrunt.hcl +++ b/aws/.boilerplate/vpc/terragrunt.hcl @@ -1,11 +1,15 @@ -terraform { - source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" +include "root" { + path = find_in_parent_folders() } locals { azs = slice(data.aws_availability_zones.available.names, 0, 3) } +terraform { + source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref={{ .module_version }}" +} + inputs = { name = "{{ .name }}" cidr = "{{ .cidr }}" diff --git a/aws/acb/terragrunt.hcl b/aws/acb/terragrunt.hcl index f53d3e9..1aea052 100644 --- a/aws/acb/terragrunt.hcl +++ b/aws/acb/terragrunt.hcl @@ -8,13 +8,13 @@ locals { inputs = { name = "main" - cidr = "10.0.0.0/16" + cidr = "10.80.0.0/16" azs = local.azs - enable_nat_gateway = "false" - single_nat_gateway = "false" + enable_nat_gateway = true + single_nat_gateway = true - private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 8, k + 8)] - public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 12, k + 8)] - intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.0.0.0/16", 8, k + 12)] + private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 8)] + public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 12, k + 8)] + intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 12)] } diff --git a/aws/acb/vars.yaml b/aws/acb/vars.yaml new file mode 100644 index 0000000..ac21584 --- /dev/null +++ b/aws/acb/vars.yaml @@ -0,0 +1,6 @@ +--- +name: "main" +cidr: "10.80.0.0/16" +enable_nat_gateway: "true" +single_nat_gateway: "true" +module_version: "v5.17.0" \ No newline at end of file diff --git a/aws/terragrunt.hcl b/aws/terragrunt.hcl index fdc8bf0..39d0436 100644 --- a/aws/terragrunt.hcl +++ b/aws/terragrunt.hcl @@ -1,21 +1,32 @@ +generate "provider" { + path = "provider.tf" + if_exists = "overwrite" + contents = < Date: Thu, 26 Jun 2025 22:12:34 +0200 Subject: [PATCH 14/23] add vpc folder --- aws/.boilerplate/vpc/{terragrunt.hcl => vpc.hcl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename aws/.boilerplate/vpc/{terragrunt.hcl => vpc.hcl} (100%) diff --git a/aws/.boilerplate/vpc/terragrunt.hcl b/aws/.boilerplate/vpc/vpc.hcl similarity index 100% rename from aws/.boilerplate/vpc/terragrunt.hcl rename to aws/.boilerplate/vpc/vpc.hcl From 36f83e5af07ecb2caa8fc68ac40889fcf2511b19 Mon Sep 17 00:00:00 2001 From: harik8 Date: Thu, 26 Jun 2025 22:18:39 +0200 Subject: [PATCH 15/23] add vpc folder --- aws/.boilerplate/vpc/boilerplate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws/.boilerplate/vpc/boilerplate.yml b/aws/.boilerplate/vpc/boilerplate.yml index 0e3b193..3121af4 100644 --- a/aws/.boilerplate/vpc/boilerplate.yml +++ b/aws/.boilerplate/vpc/boilerplate.yml @@ -11,5 +11,5 @@ variables: - name: single_nat_gateway default: false - - module_version: + - name: module_version: default: "v5.17.0" From 8c433a21f54d02c9ce89c2d5713598236d6e038f Mon Sep 17 00:00:00 2001 From: harik8 Date: Thu, 26 Jun 2025 22:19:47 +0200 Subject: [PATCH 16/23] add vpc folder --- aws/.boilerplate/vpc/boilerplate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws/.boilerplate/vpc/boilerplate.yml b/aws/.boilerplate/vpc/boilerplate.yml index 3121af4..253aea4 100644 --- a/aws/.boilerplate/vpc/boilerplate.yml +++ b/aws/.boilerplate/vpc/boilerplate.yml @@ -11,5 +11,5 @@ variables: - name: single_nat_gateway default: false - - name: module_version: + - name: module_version default: "v5.17.0" From b6befceb5575bcd93c0070ef67ece54fa4f34acd Mon Sep 17 00:00:00 2001 From: harik8 Date: Thu, 26 Jun 2025 22:22:45 +0200 Subject: [PATCH 17/23] add vpc folder --- aws/.boilerplate/{vpc => }/boilerplate.yml | 0 aws/.boilerplate/{vpc => }/vpc.hcl | 0 aws/acb/vpc.hcl | 24 ++++++++++++++++++++++ 3 files changed, 24 insertions(+) rename aws/.boilerplate/{vpc => }/boilerplate.yml (100%) rename aws/.boilerplate/{vpc => }/vpc.hcl (100%) create mode 100644 aws/acb/vpc.hcl diff --git a/aws/.boilerplate/vpc/boilerplate.yml b/aws/.boilerplate/boilerplate.yml similarity index 100% rename from aws/.boilerplate/vpc/boilerplate.yml rename to aws/.boilerplate/boilerplate.yml diff --git a/aws/.boilerplate/vpc/vpc.hcl b/aws/.boilerplate/vpc.hcl similarity index 100% rename from aws/.boilerplate/vpc/vpc.hcl rename to aws/.boilerplate/vpc.hcl diff --git a/aws/acb/vpc.hcl b/aws/acb/vpc.hcl new file mode 100644 index 0000000..40bedbe --- /dev/null +++ b/aws/acb/vpc.hcl @@ -0,0 +1,24 @@ +include "root" { + path = find_in_parent_folders() +} + +locals { + azs = slice(data.aws_availability_zones.available.names, 0, 3) +} + +terraform { + source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" +} + +inputs = { + name = "main" + cidr = "10.80.0.0/16" + + azs = local.azs + enable_nat_gateway = true + single_nat_gateway = true + + private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 8)] + public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 12, k + 8)] + intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 12)] +} From d74d3a07af51f38de191ccad202afea227488a65 Mon Sep 17 00:00:00 2001 From: harik8 Date: Thu, 26 Jun 2025 23:19:04 +0200 Subject: [PATCH 18/23] add vpc folder --- aws/.boilerplate/{vpc.hcl => vpc.tf.tmpl} | 21 +++++++------------- aws/acb/provider.tf | 17 ---------------- aws/acb/terragrunt.hcl | 10 +++++++--- aws/acb/vpc.hcl | 24 ----------------------- aws/terragrunt.hcl | 14 +++---------- 5 files changed, 17 insertions(+), 69 deletions(-) rename aws/.boilerplate/{vpc.hcl => vpc.tf.tmpl} (59%) delete mode 100644 aws/acb/provider.tf delete mode 100644 aws/acb/vpc.hcl diff --git a/aws/.boilerplate/vpc.hcl b/aws/.boilerplate/vpc.tf.tmpl similarity index 59% rename from aws/.boilerplate/vpc.hcl rename to aws/.boilerplate/vpc.tf.tmpl index 34410e0..9721074 100644 --- a/aws/.boilerplate/vpc.hcl +++ b/aws/.boilerplate/vpc.tf.tmpl @@ -1,18 +1,7 @@ -include "root" { - path = find_in_parent_folders() -} - -locals { - azs = slice(data.aws_availability_zones.available.names, 0, 3) -} +module "vpc" { + source = "github.com/terraform-aws-modules/terraform-aws-vpc?ref=v5.8.1" -terraform { - source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref={{ .module_version }}" -} - -inputs = { - name = "{{ .name }}" - cidr = "{{ .cidr }}" + cidr = {{ .cidr }} azs = local.azs enable_nat_gateway = {{ .enable_nat_gateway }} @@ -22,3 +11,7 @@ inputs = { public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 12, k + 8)] intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 12)] } + +locals { + azs = ["","",""] +} \ No newline at end of file diff --git a/aws/acb/provider.tf b/aws/acb/provider.tf deleted file mode 100644 index 49acc32..0000000 --- a/aws/acb/provider.tf +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Terragrunt. Sig: nIlQXj57tbuaRZEa -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "5.100.0" - } - } -} - -provider "aws" { - region = "eu-north-1" - assume_role { - role_arn = "arn:aws:iam::155023195342:role/InfraAsCode" - session_name = "InfraAsCode" - } -} diff --git a/aws/acb/terragrunt.hcl b/aws/acb/terragrunt.hcl index 1aea052..93eb6d3 100644 --- a/aws/acb/terragrunt.hcl +++ b/aws/acb/terragrunt.hcl @@ -1,9 +1,13 @@ -terraform { - source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" +include "root" { + path = find_in_parent_folders() } locals { - azs = slice(data.aws_availability_zones.available.names, 0, 3) + azs = ["","",""] +} + +terraform { + source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" } inputs = { diff --git a/aws/acb/vpc.hcl b/aws/acb/vpc.hcl deleted file mode 100644 index 40bedbe..0000000 --- a/aws/acb/vpc.hcl +++ /dev/null @@ -1,24 +0,0 @@ -include "root" { - path = find_in_parent_folders() -} - -locals { - azs = slice(data.aws_availability_zones.available.names, 0, 3) -} - -terraform { - source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" -} - -inputs = { - name = "main" - cidr = "10.80.0.0/16" - - azs = local.azs - enable_nat_gateway = true - single_nat_gateway = true - - private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 8)] - public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 12, k + 8)] - intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 12)] -} diff --git a/aws/terragrunt.hcl b/aws/terragrunt.hcl index 39d0436..8fdfa68 100644 --- a/aws/terragrunt.hcl +++ b/aws/terragrunt.hcl @@ -2,22 +2,14 @@ generate "provider" { path = "provider.tf" if_exists = "overwrite" contents = < Date: Thu, 26 Jun 2025 23:26:44 +0200 Subject: [PATCH 19/23] add vpc folder --- aws/.boilerplate/boilerplate.yml | 2 ++ aws/.boilerplate/{vpc.tf.tmpl => vpc.tf} | 6 +++--- aws/acb/terragrunt.hcl | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) rename aws/.boilerplate/{vpc.tf.tmpl => vpc.tf} (78%) diff --git a/aws/.boilerplate/boilerplate.yml b/aws/.boilerplate/boilerplate.yml index 253aea4..64383bf 100644 --- a/aws/.boilerplate/boilerplate.yml +++ b/aws/.boilerplate/boilerplate.yml @@ -6,9 +6,11 @@ variables: default: "10.0.0.0/16" - name: enable_nat_gateway + type: bool default: false - name: single_nat_gateway + type: bool default: false - name: module_version diff --git a/aws/.boilerplate/vpc.tf.tmpl b/aws/.boilerplate/vpc.tf similarity index 78% rename from aws/.boilerplate/vpc.tf.tmpl rename to aws/.boilerplate/vpc.tf index 9721074..7af7f89 100644 --- a/aws/.boilerplate/vpc.tf.tmpl +++ b/aws/.boilerplate/vpc.tf @@ -1,11 +1,11 @@ module "vpc" { source = "github.com/terraform-aws-modules/terraform-aws-vpc?ref=v5.8.1" - cidr = {{ .cidr }} + cidr = "{{ .cidr }}" azs = local.azs - enable_nat_gateway = {{ .enable_nat_gateway }} - single_nat_gateway = {{ .single_nat_gateway }} + enable_nat_gateway = "{{ .enable_nat_gateway }}" + single_nat_gateway = "{{ .single_nat_gateway }}" private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 8)] public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 12, k + 8)] diff --git a/aws/acb/terragrunt.hcl b/aws/acb/terragrunt.hcl index 93eb6d3..1dfb805 100644 --- a/aws/acb/terragrunt.hcl +++ b/aws/acb/terragrunt.hcl @@ -3,7 +3,7 @@ include "root" { } locals { - azs = ["","",""] + azs = ["", "", ""] } terraform { From b2484653c423b694cf0775f553a942790a3d7235 Mon Sep 17 00:00:00 2001 From: harik8 Date: Fri, 27 Jun 2025 23:04:00 +0200 Subject: [PATCH 20/23] Add gomplate --- .gitignore | 3 +++ aws/.boilerplate/boilerplate.yml | 17 ----------------- aws/.boilerplate/vpc.tf | 17 ----------------- aws/acb/main.tf | 3 --- aws/acb/terragrunt.hcl | 24 ------------------------ aws/acb/vars.yaml | 6 ------ aws/terragrunt.hcl | 24 ------------------------ tmpl/backend.tf.tmpl | 5 +++++ tmpl/data.tf.tmpl | 5 +++++ tmpl/locals.tf.tmpl | 5 +++++ tmpl/vpc.tf.tmpl | 23 +++++++++++++++++++++++ workloads/acb/.gomplate.yaml | 8 ++++++++ workloads/acb/.vars.yaml | 6 ++++++ 13 files changed, 55 insertions(+), 91 deletions(-) delete mode 100644 aws/.boilerplate/boilerplate.yml delete mode 100644 aws/.boilerplate/vpc.tf delete mode 100644 aws/acb/main.tf delete mode 100644 aws/acb/terragrunt.hcl delete mode 100644 aws/acb/vars.yaml delete mode 100644 aws/terragrunt.hcl create mode 100644 tmpl/backend.tf.tmpl create mode 100644 tmpl/data.tf.tmpl create mode 100644 tmpl/locals.tf.tmpl create mode 100644 tmpl/vpc.tf.tmpl create mode 100644 workloads/acb/.gomplate.yaml create mode 100644 workloads/acb/.vars.yaml diff --git a/.gitignore b/.gitignore index 8af2821..488186e 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,6 @@ terraform.rc # Ignore .env folder **/.env/* **/test/* + +# Ignore gomplate generated .tf files +**/workloads/*/*.tf diff --git a/aws/.boilerplate/boilerplate.yml b/aws/.boilerplate/boilerplate.yml deleted file mode 100644 index 64383bf..0000000 --- a/aws/.boilerplate/boilerplate.yml +++ /dev/null @@ -1,17 +0,0 @@ -variables: - - name: name - default: "main" - - - name: cidr - default: "10.0.0.0/16" - - - name: enable_nat_gateway - type: bool - default: false - - - name: single_nat_gateway - type: bool - default: false - - - name: module_version - default: "v5.17.0" diff --git a/aws/.boilerplate/vpc.tf b/aws/.boilerplate/vpc.tf deleted file mode 100644 index 7af7f89..0000000 --- a/aws/.boilerplate/vpc.tf +++ /dev/null @@ -1,17 +0,0 @@ -module "vpc" { - source = "github.com/terraform-aws-modules/terraform-aws-vpc?ref=v5.8.1" - - cidr = "{{ .cidr }}" - - azs = local.azs - enable_nat_gateway = "{{ .enable_nat_gateway }}" - single_nat_gateway = "{{ .single_nat_gateway }}" - - private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 8)] - public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 12, k + 8)] - intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("{{ .cidr }}", 8, k + 12)] -} - -locals { - azs = ["","",""] -} \ No newline at end of file diff --git a/aws/acb/main.tf b/aws/acb/main.tf deleted file mode 100644 index 12c0dbe..0000000 --- a/aws/acb/main.tf +++ /dev/null @@ -1,3 +0,0 @@ -terraform { - backend "s3" {} -} diff --git a/aws/acb/terragrunt.hcl b/aws/acb/terragrunt.hcl deleted file mode 100644 index 1dfb805..0000000 --- a/aws/acb/terragrunt.hcl +++ /dev/null @@ -1,24 +0,0 @@ -include "root" { - path = find_in_parent_folders() -} - -locals { - azs = ["", "", ""] -} - -terraform { - source = "git::https://github.com/terraform-aws-modules/terraform-aws-vpc.git//?ref=v5.17.0" -} - -inputs = { - name = "main" - cidr = "10.80.0.0/16" - - azs = local.azs - enable_nat_gateway = true - single_nat_gateway = true - - private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 8)] - public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 12, k + 8)] - intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 12)] -} diff --git a/aws/acb/vars.yaml b/aws/acb/vars.yaml deleted file mode 100644 index ac21584..0000000 --- a/aws/acb/vars.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: "main" -cidr: "10.80.0.0/16" -enable_nat_gateway: "true" -single_nat_gateway: "true" -module_version: "v5.17.0" \ No newline at end of file diff --git a/aws/terragrunt.hcl b/aws/terragrunt.hcl deleted file mode 100644 index 8fdfa68..0000000 --- a/aws/terragrunt.hcl +++ /dev/null @@ -1,24 +0,0 @@ -generate "provider" { - path = "provider.tf" - if_exists = "overwrite" - contents = < Date: Fri, 27 Jun 2025 23:32:54 +0200 Subject: [PATCH 21/23] Add gomplate --- workloads/acb/terragrunt.hcl | 3 +++ workloads/terragrunt.hcl | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 workloads/acb/terragrunt.hcl create mode 100644 workloads/terragrunt.hcl diff --git a/workloads/acb/terragrunt.hcl b/workloads/acb/terragrunt.hcl new file mode 100644 index 0000000..b4cba33 --- /dev/null +++ b/workloads/acb/terragrunt.hcl @@ -0,0 +1,3 @@ +include "root" { + path = find_in_parent_folders() +} \ No newline at end of file diff --git a/workloads/terragrunt.hcl b/workloads/terragrunt.hcl new file mode 100644 index 0000000..1303c44 --- /dev/null +++ b/workloads/terragrunt.hcl @@ -0,0 +1,33 @@ +generate "provider" { + path = "provider.tf" + if_exists = "overwrite" + contents = < Date: Fri, 27 Jun 2025 23:36:35 +0200 Subject: [PATCH 22/23] Add gomplate --- {workloads => aws}/acb/.gomplate.yaml | 0 aws/acb/.terraform.lock.hcl | 19 +++++++++++++++++++ {workloads => aws}/acb/.vars.yaml | 0 aws/acb/backend.tf | 5 +++++ aws/acb/data.tf | 5 +++++ aws/acb/locals.tf | 6 ++++++ aws/acb/provider.tf | 18 ++++++++++++++++++ {workloads => aws}/acb/terragrunt.hcl | 0 aws/acb/variables.tf | 10 ++++++++++ aws/acb/vpc.tf | 23 +++++++++++++++++++++++ {workloads => aws}/terragrunt.hcl | 0 tmpl/variables.tf | 4 ++++ tmpl/vpc.tf.tmpl | 2 +- 13 files changed, 91 insertions(+), 1 deletion(-) rename {workloads => aws}/acb/.gomplate.yaml (100%) create mode 100644 aws/acb/.terraform.lock.hcl rename {workloads => aws}/acb/.vars.yaml (100%) create mode 100644 aws/acb/backend.tf create mode 100644 aws/acb/data.tf create mode 100644 aws/acb/locals.tf create mode 100644 aws/acb/provider.tf rename {workloads => aws}/acb/terragrunt.hcl (100%) create mode 100644 aws/acb/variables.tf create mode 100644 aws/acb/vpc.tf rename {workloads => aws}/terragrunt.hcl (100%) create mode 100644 tmpl/variables.tf diff --git a/workloads/acb/.gomplate.yaml b/aws/acb/.gomplate.yaml similarity index 100% rename from workloads/acb/.gomplate.yaml rename to aws/acb/.gomplate.yaml diff --git a/aws/acb/.terraform.lock.hcl b/aws/acb/.terraform.lock.hcl new file mode 100644 index 0000000..852b873 --- /dev/null +++ b/aws/acb/.terraform.lock.hcl @@ -0,0 +1,19 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/hashicorp/aws" { + version = "6.0.0" + constraints = ">= 5.46.0, 6.0.0" + hashes = [ + "h1:F7kc3XB2ssSExi7YIpkAvJsHHYypBXeNZ2LzKPX5ZLg=", + "zh:44c81d55a1844333a50fb36dd51938201fbd4e8a3da71880c7df11bc0eaa251a", + "zh:4d206f13982f539704998c76c2083bdb95f63c9a4d3ac8b4d2d152c4d874efca", + "zh:5e5e6b4cf921abf55c69b7ed33450a98de8bed611082c4272e9bba81a965d81c", + "zh:5fe449164de2f3507bada48e94dc07e192e24b644ebdb431fcd4e09168cab46c", + "zh:66efb8c840cedc830dee28994040d84eb74c353b97e86a33874f22471ec21deb", + "zh:b1e93ddf1557c84ddddba2a67ef908de2ac75414af7d0cc7f9cef86401c36a71", + "zh:b850aa20bdc8d63dca39f7b3f6b313649a28a78f66a9f79ef24f2a9b6c9b2247", + "zh:e58ace0225a8750d82f557bd54225898a784783dae6a378fcb7fffcf7b589315", + "zh:ffcadc0505dd7510f3fb14df5e4b33c2786df8039a902f0fcd2cdca81514b282", + ] +} diff --git a/workloads/acb/.vars.yaml b/aws/acb/.vars.yaml similarity index 100% rename from workloads/acb/.vars.yaml rename to aws/acb/.vars.yaml diff --git a/aws/acb/backend.tf b/aws/acb/backend.tf new file mode 100644 index 0000000..5893f61 --- /dev/null +++ b/aws/acb/backend.tf @@ -0,0 +1,5 @@ +## Generated by gomplate at 2025-06-27 23:12:30.364661443 +0200 CEST m=+0.019095216 + +terraform { + backend "s3" {} +} \ No newline at end of file diff --git a/aws/acb/data.tf b/aws/acb/data.tf new file mode 100644 index 0000000..7eff0d7 --- /dev/null +++ b/aws/acb/data.tf @@ -0,0 +1,5 @@ +## Generated by gomplate at 2025-06-27 23:12:30.364871759 +0200 CEST m=+0.019305533 + +data "aws_caller_identity" "current" {} + +data "aws_availability_zones" "available" {} \ No newline at end of file diff --git a/aws/acb/locals.tf b/aws/acb/locals.tf new file mode 100644 index 0000000..5ffeedf --- /dev/null +++ b/aws/acb/locals.tf @@ -0,0 +1,6 @@ +## Generated by gomplate at 2025-06-27 23:12:30.364990052 +0200 CEST m=+0.019423826 + +locals { + azs = slice(data.aws_availability_zones.available.names, 0, 3) + aws_account_id = "123456777" +} \ No newline at end of file diff --git a/aws/acb/provider.tf b/aws/acb/provider.tf new file mode 100644 index 0000000..40ab5c8 --- /dev/null +++ b/aws/acb/provider.tf @@ -0,0 +1,18 @@ +# Generated by Terragrunt. Sig: nIlQXj57tbuaRZEa + +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.0.0" + } + } +} + +provider "aws" { + region = "eu-north-1" + assume_role { + role_arn = "arn:aws:iam::155023195342:role/InfraAsCode" + session_name = "InfraAsCode" + } +} diff --git a/workloads/acb/terragrunt.hcl b/aws/acb/terragrunt.hcl similarity index 100% rename from workloads/acb/terragrunt.hcl rename to aws/acb/terragrunt.hcl diff --git a/aws/acb/variables.tf b/aws/acb/variables.tf new file mode 100644 index 0000000..078f619 --- /dev/null +++ b/aws/acb/variables.tf @@ -0,0 +1,10 @@ +variable "aws_account_id" { + description = "The AWS account ID" + type = string +} + +variable "aws_region" { + description = "The AWS account ID" + type = string + default = "eu-north-1" +} \ No newline at end of file diff --git a/aws/acb/vpc.tf b/aws/acb/vpc.tf new file mode 100644 index 0000000..25f80a6 --- /dev/null +++ b/aws/acb/vpc.tf @@ -0,0 +1,23 @@ +## Generated by gomplate at 2025-06-27 23:12:30.365141772 +0200 CEST m=+0.019575545 + + +module "vpc" { + source = "github.com/terraform-aws-modules/terraform-aws-vpc?ref=v5.17.0" + + azs = local.azs + cidr = "10.80.0.0/16" + + enable_nat_gateway = true + single_nat_gateway = true + + private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 8)] + public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 12, k + 8)] + intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 12)] + + enable_ipv6 = false + public_subnet_assign_ipv6_address_on_creation = false + + public_subnet_ipv6_prefixes = [0, 1, 2] + private_subnet_ipv6_prefixes = [3, 4, 5] + intra_subnet_ipv6_prefixes = [6, 7, 8] +} diff --git a/workloads/terragrunt.hcl b/aws/terragrunt.hcl similarity index 100% rename from workloads/terragrunt.hcl rename to aws/terragrunt.hcl diff --git a/tmpl/variables.tf b/tmpl/variables.tf new file mode 100644 index 0000000..031585f --- /dev/null +++ b/tmpl/variables.tf @@ -0,0 +1,4 @@ +variable "aws_account_id" { + description = "The AWS account ID" + type = string +} \ No newline at end of file diff --git a/tmpl/vpc.tf.tmpl b/tmpl/vpc.tf.tmpl index 1934bc8..c95cb42 100644 --- a/tmpl/vpc.tf.tmpl +++ b/tmpl/vpc.tf.tmpl @@ -2,7 +2,7 @@ {{ $vpc := (ds "config").vpc }} module "vpc" { - source = "terraform-aws-modules/terraform-aws-vpc?ref={{ $vpc.version }}" + source = "github.com/terraform-aws-modules/terraform-aws-vpc?ref={{ $vpc.version }}" azs = local.azs cidr = "{{ $vpc.cidr }}" From 39b3726f84ab1af7cad3a817123cbc9c4649c041 Mon Sep 17 00:00:00 2001 From: harik8 Date: Fri, 27 Jun 2025 23:38:23 +0200 Subject: [PATCH 23/23] Add gomplate --- aws/acb/backend.tf | 5 ----- aws/acb/data.tf | 5 ----- aws/acb/locals.tf | 6 ------ aws/acb/provider.tf | 18 ------------------ aws/acb/variables.tf | 10 ---------- aws/acb/vpc.tf | 23 ----------------------- 6 files changed, 67 deletions(-) delete mode 100644 aws/acb/backend.tf delete mode 100644 aws/acb/data.tf delete mode 100644 aws/acb/locals.tf delete mode 100644 aws/acb/provider.tf delete mode 100644 aws/acb/variables.tf delete mode 100644 aws/acb/vpc.tf diff --git a/aws/acb/backend.tf b/aws/acb/backend.tf deleted file mode 100644 index 5893f61..0000000 --- a/aws/acb/backend.tf +++ /dev/null @@ -1,5 +0,0 @@ -## Generated by gomplate at 2025-06-27 23:12:30.364661443 +0200 CEST m=+0.019095216 - -terraform { - backend "s3" {} -} \ No newline at end of file diff --git a/aws/acb/data.tf b/aws/acb/data.tf deleted file mode 100644 index 7eff0d7..0000000 --- a/aws/acb/data.tf +++ /dev/null @@ -1,5 +0,0 @@ -## Generated by gomplate at 2025-06-27 23:12:30.364871759 +0200 CEST m=+0.019305533 - -data "aws_caller_identity" "current" {} - -data "aws_availability_zones" "available" {} \ No newline at end of file diff --git a/aws/acb/locals.tf b/aws/acb/locals.tf deleted file mode 100644 index 5ffeedf..0000000 --- a/aws/acb/locals.tf +++ /dev/null @@ -1,6 +0,0 @@ -## Generated by gomplate at 2025-06-27 23:12:30.364990052 +0200 CEST m=+0.019423826 - -locals { - azs = slice(data.aws_availability_zones.available.names, 0, 3) - aws_account_id = "123456777" -} \ No newline at end of file diff --git a/aws/acb/provider.tf b/aws/acb/provider.tf deleted file mode 100644 index 40ab5c8..0000000 --- a/aws/acb/provider.tf +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Terragrunt. Sig: nIlQXj57tbuaRZEa - -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "6.0.0" - } - } -} - -provider "aws" { - region = "eu-north-1" - assume_role { - role_arn = "arn:aws:iam::155023195342:role/InfraAsCode" - session_name = "InfraAsCode" - } -} diff --git a/aws/acb/variables.tf b/aws/acb/variables.tf deleted file mode 100644 index 078f619..0000000 --- a/aws/acb/variables.tf +++ /dev/null @@ -1,10 +0,0 @@ -variable "aws_account_id" { - description = "The AWS account ID" - type = string -} - -variable "aws_region" { - description = "The AWS account ID" - type = string - default = "eu-north-1" -} \ No newline at end of file diff --git a/aws/acb/vpc.tf b/aws/acb/vpc.tf deleted file mode 100644 index 25f80a6..0000000 --- a/aws/acb/vpc.tf +++ /dev/null @@ -1,23 +0,0 @@ -## Generated by gomplate at 2025-06-27 23:12:30.365141772 +0200 CEST m=+0.019575545 - - -module "vpc" { - source = "github.com/terraform-aws-modules/terraform-aws-vpc?ref=v5.17.0" - - azs = local.azs - cidr = "10.80.0.0/16" - - enable_nat_gateway = true - single_nat_gateway = true - - private_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 8)] - public_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 12, k + 8)] - intra_subnets = [for k in range(0, length(local.azs)) : cidrsubnet("10.80.0.0/16", 8, k + 12)] - - enable_ipv6 = false - public_subnet_assign_ipv6_address_on_creation = false - - public_subnet_ipv6_prefixes = [0, 1, 2] - private_subnet_ipv6_prefixes = [3, 4, 5] - intra_subnet_ipv6_prefixes = [6, 7, 8] -}