Skip to content

Commit 91ae7ba

Browse files
authored
Merge pull request #11 from hadagalikarthik/apply-nic-napv5
Updated code to use S3 bucket name and AWS region from GitHub secrets
2 parents 4d10a08 + 1671274 commit 91ae7ba

26 files changed

+201
-109
lines changed

.github/workflows/apply-nic-napv5.yml

+33-15
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ on:
33
push:
44
branches: apply-nic-napv5
55
env:
6-
AWS_REGION: us-east-1
6+
# AWS_REGION: us-east-1
7+
TF_VAR_AWS_S3_BUCKET_NAME: ${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}
8+
TF_VAR_AWS_REGION: ${{ secrets.TF_VAR_AWS_REGION }}
79
jobs:
810
terraform_bootstrap:
911
name: "Bootstrap S3/DynamoDB"
@@ -21,7 +23,7 @@ jobs:
2123
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
2224
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
2325
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
24-
aws-region: ${{ env.AWS_REGION }}
26+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
2527

2628
- name: Setup Terraform
2729
uses: hashicorp/setup-terraform@v3
@@ -66,15 +68,17 @@ jobs:
6668
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
6769
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
6870
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
69-
aws-region: ${{ env.AWS_REGION }}
71+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
7072

7173
- name: Setup Terraform
7274
uses: hashicorp/setup-terraform@v3
7375

7476

7577
- name: Initialize Terraform (S3 Backend)
7678
run: |
77-
terraform init
79+
terraform init \
80+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
81+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
7882
7983
- name: Terraform Plan
8084
if: github.event_name == 'pull_request' || github.event_name == 'push'
@@ -94,7 +98,6 @@ jobs:
9498
- name: Terraform Apply
9599
if: github.event_name == 'push' && github.ref == 'refs/heads/apply-nic-napv5' && steps.check_changes.outputs.has_changes == 'true'
96100
run: terraform apply -auto-approve tfplan
97-
98101

99102
terraform_eks:
100103
name: "AWS EKS"
@@ -113,14 +116,17 @@ jobs:
113116
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
114117
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
115118
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
116-
aws-region: ${{ env.AWS_REGION }}
119+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
117120

118121
- name: Setup Terraform
119122
uses: hashicorp/setup-terraform@v3
120123

121124

122125
- name: Terraform Init
123-
run: terraform init
126+
run: |
127+
terraform init \
128+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
129+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
124130
125131
- name: Terraform Plan
126132
if: github.event_name == 'pull_request' || github.event_name == 'push'
@@ -158,13 +164,16 @@ jobs:
158164
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
159165
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
160166
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
161-
aws-region: ${{ env.AWS_REGION }}
167+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
162168

163169
- name: Setup Terraform
164170
uses: hashicorp/setup-terraform@v3
165171

166172
- name: Terraform Init
167-
run: terraform init
173+
run: |
174+
terraform init \
175+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
176+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
168177
169178
- name: Terraform Plan
170179
if: github.event_name == 'pull_request' || github.event_name == 'push'
@@ -208,14 +217,17 @@ jobs:
208217
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
209218
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
210219
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
211-
aws-region: ${{ env.AWS_REGION }}
220+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
212221

213222
- name: Setup Terraform
214223
uses: hashicorp/setup-terraform@v3
215224

216225

217226
- name: Terraform Init (EKS)
218-
run: terraform init
227+
run: |
228+
terraform init \
229+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
230+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
219231
working-directory: ./eks-cluster
220232

221233
- name: Print EKS Terraform Outputs
@@ -306,7 +318,10 @@ jobs:
306318
kubectl cp ${{ github.workspace }}/policy/compiled_policy.tgz $NGINX_POD:/etc/app_protect/bundles/compiled_policy.tgz -n nginx-ingress
307319
308320
- name: Terraform Init
309-
run: terraform init
321+
run: |
322+
terraform init \
323+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
324+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
310325
311326
- name: Terraform Plan
312327
run: |
@@ -343,13 +358,16 @@ jobs:
343358
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
344359
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
345360
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
346-
aws-region: ${{ env.AWS_REGION }}
361+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
347362

348363
- name: Setup Terraform
349364
uses: hashicorp/setup-terraform@v3
350365

351366
- name: Terraform Init
352-
run: terraform init
367+
run: |
368+
terraform init \
369+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
370+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
353371
354372
- name: Terraform Validate
355373
run: terraform validate -no-color
@@ -383,4 +401,4 @@ jobs:
383401
else
384402
echo "external_name=$EXTERNAL_NAME" >> $GITHUB_ENV
385403
echo "NGINX Ingress External Name: $EXTERNAL_NAME"
386-
fi
404+
fi

.github/workflows/destroy-nic-napv5.yml

+30-13
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ on:
55
- destroy-nic-napv5
66
pull_request:
77
env:
8-
AWS_REGION: us-east-1
8+
# AWS_REGION: us-east-1
9+
TF_VAR_AWS_S3_BUCKET_NAME: ${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}
10+
TF_VAR_AWS_REGION: ${{ secrets.TF_VAR_AWS_REGION }}
911
jobs:
1012
terraform_arcadia:
1113
name: "Destroy Arcadia WebApp"
@@ -24,13 +26,16 @@ jobs:
2426
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
2527
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
2628
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
27-
aws-region: ${{ env.AWS_REGION }}
29+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
2830

2931
- name: Setup Terraform
3032
uses: hashicorp/setup-terraform@v3
3133

3234
- name: Terraform Init
33-
run: terraform init
35+
run: |
36+
terraform init \
37+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
38+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
3439
3540
- name: Terraform Validate
3641
run: terraform validate -no-color
@@ -71,13 +76,16 @@ jobs:
7176
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
7277
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
7378
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
74-
aws-region: ${{ env.AWS_REGION }}
79+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
7580

7681
- name: Setup Terraform
7782
uses: hashicorp/setup-terraform@v3
7883

7984
- name: Terraform Init
80-
run: terraform init
85+
run: |
86+
terraform init \
87+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
88+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
8189
8290
- name: Terraform Destroy
8391
run: terraform destroy -auto-approve -lock=false
@@ -99,13 +107,16 @@ jobs:
99107
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
100108
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
101109
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
102-
aws-region: ${{ env.AWS_REGION }}
110+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
103111

104112
- name: Setup Terraform
105113
uses: hashicorp/setup-terraform@v3
106114

107115
- name: Terraform Init
108-
run: terraform init
116+
run: |
117+
terraform init \
118+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
119+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
109120
110121
- name: Terraform Plan (Destroy)
111122
run: |
@@ -152,13 +163,16 @@ jobs:
152163
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
153164
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
154165
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
155-
aws-region: ${{ env.AWS_REGION }}
166+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
156167

157168
- name: Setup Terraform
158169
uses: hashicorp/setup-terraform@v3
159170

160171
- name: Terraform Init
161-
run: terraform init
172+
run: |
173+
terraform init \
174+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
175+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
162176
163177
- name: Terraform Plan (Destroy)
164178
if: github.event_name == 'pull_request' || github.event_name == 'push'
@@ -196,13 +210,16 @@ jobs:
196210
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
197211
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
198212
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
199-
aws-region: ${{ env.AWS_REGION }}
213+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
200214

201215
- name: Setup Terraform
202216
uses: hashicorp/setup-terraform@v3
203217

204218
- name: Terraform Init
205-
run: terraform init
219+
run: |
220+
terraform init \
221+
-backend-config="bucket=${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" \
222+
-backend-config="region=${{ secrets.TF_VAR_AWS_REGION }}"
206223
207224
- name: Terraform Plan (Destroy)
208225
if: github.event_name == 'pull_request' || github.event_name == 'push'
@@ -244,12 +261,12 @@ jobs:
244261
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
245262
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
246263
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
247-
aws-region: ${{ env.AWS_REGION }}
264+
aws-region: ${{ secrets.TF_VAR_AWS_REGION }}
248265

249266
- name: Set Bucket Name
250267
id: set_bucket
251268
run: |
252-
echo "bucket_name= your-unique-bucket-name" >> $GITHUB_OUTPUT
269+
echo "bucket_name= ${{ secrets.TF_VAR_AWS_S3_BUCKET_NAME }}" >> $GITHUB_OUTPUT
253270
254271
- name: Nuclear S3 Bucket Deletion
255272
run: |

arcadia/backend.tf

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
terraform {
22
backend "s3" {
3-
bucket = "your-unique-bucket-name" # Replace with your actual bucket name
43
key = "arcadia/terraform.tfstate" # Path to state file
5-
region = "us-east-1" # AWS region
64
dynamodb_table = "terraform-lock-table" # DynamoDB table for state locking
75
encrypt = true # Encrypt state file at rest
86
}

arcadia/data.tf

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,28 @@
22
data "terraform_remote_state" "infra" {
33
backend = "s3"
44
config = {
5-
bucket = "your-unique-bucket-name" # Your S3 bucket name
5+
bucket = var.AWS_S3_BUCKET_NAME # Your S3 bucket name
66
key = "infra/terraform.tfstate" # Path to infra's state file
7-
region = "us-east-1" # AWS region
7+
region = var.AWS_REGION # AWS region
88
}
99
}
1010

1111

1212
data "terraform_remote_state" "nap" {
1313
backend = "s3"
1414
config = {
15-
bucket = "your-unique-bucket-name" # Your S3 bucket name
15+
bucket = var.AWS_S3_BUCKET_NAME # Your S3 bucket name
1616
key = "nap/terraform.tfstate" # Path to NAP state file
17-
region = "us-east-1" # AWS region
17+
region = var.AWS_REGION # AWS region
1818
}
1919
}
2020

2121
data "terraform_remote_state" "eks" {
2222
backend = "s3"
2323
config = {
24-
bucket = "your-unique-bucket-name" # Your S3 bucket name
24+
bucket = var.AWS_S3_BUCKET_NAME # Your S3 bucket name
2525
key = "eks-cluster/terraform.tfstate" # Path to EKS state file
26-
region = "us-east-1" # AWS region
26+
region = var.AWS_REGION # AWS region
2727
}
2828
}
2929

arcadia/variables.tf

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
variable "AWS_REGION" {
2+
description = "aws region"
3+
type = string
4+
default = ""
5+
}
6+
7+
variable "AWS_S3_BUCKET_NAME" {
8+
description = "aws s3 bucket name"
9+
type = string
10+
default = ""
11+
}

eks-cluster/backend.tf

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
terraform {
22
backend "s3" {
3-
bucket = "your-unique-bucket-name" # Your S3 bucket name
43
key = "eks-cluster/terraform.tfstate" # Path to state file
5-
region = "us-east-1" # AWS region
64
dynamodb_table = "terraform-lock-table" # DynamoDB table for state locking
75
encrypt = true
86
}

eks-cluster/data.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
data "terraform_remote_state" "infra" {
22
backend = "s3"
33
config = {
4-
bucket = "your-unique-bucket-name" # Your S3 bucket name
4+
bucket = var.AWS_S3_BUCKET_NAME # Your S3 bucket name
55
key = "infra/terraform.tfstate" # Path to infra's state file
6-
region = "us-east-1" # AWS region
6+
region = var.AWS_REGION # AWS region
77
}
88
}
99

eks-cluster/variables.tf

+13-1
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,22 @@ variable "admin_src_addr" {
55
default = "0.0.0.0/0"
66
}
77

8+
variable "AWS_REGION" {
9+
description = "aws region"
10+
type = string
11+
default = ""
12+
}
13+
14+
variable "AWS_S3_BUCKET_NAME" {
15+
description = "aws s3 bucket name"
16+
type = string
17+
default = ""
18+
}
19+
820
variable "aws_region" {
921
description = "The AWS region to deploy the EKS cluster"
1022
type = string
11-
default = "us-east-1"
23+
default = "ap-south-1"
1224
}
1325

1426
#AWS

infra/backend.tf

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
terraform {
22
backend "s3" {
3-
bucket = "your-unique-bucket-name" # Your S3 bucket name
43
key = "infra/terraform.tfstate" # Path to state file
5-
region = "us-east-1" # AWS region
64
dynamodb_table = "terraform-lock-table" # DynamoDB table for state locking
75
encrypt = true
86
}

0 commit comments

Comments
 (0)