From a71885a418bd334c0614fa2bb9f4beb2831809d1 Mon Sep 17 00:00:00 2001 From: saipavankumar0702 Date: Fri, 29 Aug 2025 16:48:49 +0530 Subject: [PATCH 1/7] Bucket name and cluster name updated --- .github/workflows/terraform.yaml | 78 ++++++++++++++++++++++++++++++++ terraform/eks-cluster.tf | 4 +- terraform/main.tf | 2 - terraform/outputs.tf | 2 +- terraform/terraform.tf | 9 ++-- terraform/variables.tf | 4 +- terraform/vpc.tf | 2 +- 7 files changed, 87 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/terraform.yaml diff --git a/.github/workflows/terraform.yaml b/.github/workflows/terraform.yaml new file mode 100644 index 000000000..95438a056 --- /dev/null +++ b/.github/workflows/terraform.yaml @@ -0,0 +1,78 @@ +name: "vprofile IAC" + +on: + push: + branches: + - main + - stage + paths: + - terraform/** + pull_request: + branches: + - main + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + BUCKET_TF_STATE: ${{ secrets.BUCKET_TF_STATE }} + AWS_REGION: "ap-south-1" + EKS_CLUSTER: "vprofile-eks" + +jobs: + terraform: + name: "Terraform Apply code changes" + runs-on: ubuntu-latest + defaults: + run: + shell: bash + working-directory: ./terraform + steps: + - name: "Checkout sourrce code" + uses: actions/checkout@v4 + # with: + # terraform_version: 1.7.5 + + - name: "Set up Terraform" + uses: hashicorp/setup-terraform@v2 + + - name: "Terraform Init" + id: init + run: terraform init -backend-config="bucket=${BUCKET_TF_STATE}" + + - name: Terraform Format + id: fmt + run: terraform fmt -check + + - name: "Terraform Validate" + id: validate + run: terraform validate + + - name: "Terraform Plan" + id: plan + run: terraform plan -no-color -input=false -out planfile + continue-on-error: true + + - name: "Teraform plan status" + if: steps.plan.outcome == 'failure' + run: echo "Terraform plan failed. Please fix the issues before applying." + + - name: "Terraform Apply" + id: apply + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + run: terraform apply -auto-approve -input=false -parallelism=1 planfile + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: "ap-south-1" + + - name: Get Kube config file + id: getconfig + if: steps.apply.outcome == 'success' + run: aws eks update-kubeconfig --name ${{env.EKS_CLUSTER}} --region ${{env.AWS_REGION}} + + - name: Install Ingress Controller + if: steps.apply.outcome == 'success' && steps.getconfig.outcome == 'success' + run: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/aws/deploy.yam diff --git a/terraform/eks-cluster.tf b/terraform/eks-cluster.tf index 2c4610920..703971585 100644 --- a/terraform/eks-cluster.tf +++ b/terraform/eks-cluster.tf @@ -3,7 +3,7 @@ module "eks" { version = "19.19.1" cluster_name = local.cluster_name - cluster_version = "1.27" + cluster_version = "1.32" vpc_id = module.vpc.vpc_id subnet_ids = module.vpc.private_subnets @@ -35,4 +35,4 @@ module "eks" { desired_size = 1 } } -} +} \ No newline at end of file diff --git a/terraform/main.tf b/terraform/main.tf index 94b6fc75a..5e93bd06c 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -12,5 +12,3 @@ data "aws_availability_zones" "available" {} locals { cluster_name = var.clusterName } - -## \ No newline at end of file diff --git a/terraform/outputs.tf b/terraform/outputs.tf index 7d55c64ae..bfa83fe29 100644 --- a/terraform/outputs.tf +++ b/terraform/outputs.tf @@ -17,4 +17,4 @@ output "region" { output "cluster_security_group_id" { description = "Security group ID for the Amazon Web Service EKS Cluster " value = module.eks.cluster_security_group_id -} +} \ No newline at end of file diff --git a/terraform/terraform.tf b/terraform/terraform.tf index 67b75c673..af9ced4a6 100644 --- a/terraform/terraform.tf +++ b/terraform/terraform.tf @@ -27,13 +27,10 @@ terraform { } backend "s3" { - bucket = "gitopsterrastate" + bucket = "vprofileactions0702" key = "terraform.tfstate" - region = "us-east-2" + region = "ap-south-1" } - required_version = "~> 1.6.3" + required_version = "~> 1.13.0" } -## -## -## diff --git a/terraform/variables.tf b/terraform/variables.tf index a41d982a0..e5c162411 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -1,11 +1,11 @@ variable "region" { description = "AWS region" type = string - default = "us-east-2" + default = "ap-south-1" } variable "clusterName" { description = "Name of the EKS cluster" type = string - default = "kitops-eks" + default = "vprofile-eks" } diff --git a/terraform/vpc.tf b/terraform/vpc.tf index 5775ce1c3..1ab2442ca 100644 --- a/terraform/vpc.tf +++ b/terraform/vpc.tf @@ -23,4 +23,4 @@ module "vpc" { "kubernetes.io/cluster/${local.cluster_name}" = "shared" "kubernetes.io/role/internal-elb" = 1 } -} +} \ No newline at end of file From 9eaedfad0a8cc907842ff697d1f02f26e5c24d30 Mon Sep 17 00:00:00 2001 From: saipavankumar0702 Date: Fri, 29 Aug 2025 17:36:56 +0530 Subject: [PATCH 2/7] stage test commit --- .github/workflows/{terraform.yaml => terraform.yml} | 8 +++++--- terraform/terraform.tf | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) rename .github/workflows/{terraform.yaml => terraform.yml} (94%) diff --git a/.github/workflows/terraform.yaml b/.github/workflows/terraform.yml similarity index 94% rename from .github/workflows/terraform.yaml rename to .github/workflows/terraform.yml index 95438a056..376437053 100644 --- a/.github/workflows/terraform.yaml +++ b/.github/workflows/terraform.yml @@ -10,13 +10,15 @@ on: pull_request: branches: - main + paths: + - terraform/** env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} BUCKET_TF_STATE: ${{ secrets.BUCKET_TF_STATE }} - AWS_REGION: "ap-south-1" - EKS_CLUSTER: "vprofile-eks" + AWS_REGION: ap-south-1 + EKS_CLUSTER: vprofile-eks jobs: terraform: @@ -66,7 +68,7 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: "ap-south-1" + aws-region: ap-south-1 - name: Get Kube config file id: getconfig diff --git a/terraform/terraform.tf b/terraform/terraform.tf index af9ced4a6..091ea59ef 100644 --- a/terraform/terraform.tf +++ b/terraform/terraform.tf @@ -34,3 +34,5 @@ terraform { required_version = "~> 1.13.0" } + +# fisrt edit \ No newline at end of file From 93680a9bf1fab19949368bc78a0a6cc9cb74e051 Mon Sep 17 00:00:00 2001 From: saipavankumar0702 Date: Fri, 29 Aug 2025 17:38:36 +0530 Subject: [PATCH 3/7] spelling edit fisrt changes to first --- terraform/terraform.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraform/terraform.tf b/terraform/terraform.tf index 091ea59ef..fa31ade0d 100644 --- a/terraform/terraform.tf +++ b/terraform/terraform.tf @@ -35,4 +35,4 @@ terraform { required_version = "~> 1.13.0" } -# fisrt edit \ No newline at end of file +# first edit \ No newline at end of file From 4a457d1e5eccf8801acb8209179750cbce8ceca2 Mon Sep 17 00:00:00 2001 From: saipavankumar0702 Date: Fri, 29 Aug 2025 18:11:52 +0530 Subject: [PATCH 4/7] modified ingress URL --- .github/workflows/terraform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index 376437053..c3c56844d 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -77,4 +77,4 @@ jobs: - name: Install Ingress Controller if: steps.apply.outcome == 'success' && steps.getconfig.outcome == 'success' - run: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/aws/deploy.yam + run: kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/aws/deploy.yaml From 656edf38806805dcc90fad38e99b169f670cf697 Mon Sep 17 00:00:00 2001 From: saipavankumar0702 Date: Fri, 29 Aug 2025 18:16:45 +0530 Subject: [PATCH 5/7] modified the steps in the terraform.yml file --- terraform/terraform.tf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/terraform/terraform.tf b/terraform/terraform.tf index fa31ade0d..0fb292e38 100644 --- a/terraform/terraform.tf +++ b/terraform/terraform.tf @@ -35,4 +35,5 @@ terraform { required_version = "~> 1.13.0" } -# first edit \ No newline at end of file +# first edit +# modified URL in last step of terraform.yml \ No newline at end of file From 434af81d2e2aeeb70731e7b71f6112a3b983b9f1 Mon Sep 17 00:00:00 2001 From: saipavankumar0702 Date: Fri, 29 Aug 2025 18:20:56 +0530 Subject: [PATCH 6/7] modifed the URL before script --- .github/workflows/terraform.yml | 2 +- terraform/terraform.tf | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index c3c56844d..730ef0b71 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -77,4 +77,4 @@ jobs: - name: Install Ingress Controller if: steps.apply.outcome == 'success' && steps.getconfig.outcome == 'success' - run: kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/aws/deploy.yaml + run: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/aws/deploy.yaml diff --git a/terraform/terraform.tf b/terraform/terraform.tf index 0fb292e38..f8a360b26 100644 --- a/terraform/terraform.tf +++ b/terraform/terraform.tf @@ -36,4 +36,5 @@ terraform { } # first edit -# modified URL in last step of terraform.yml \ No newline at end of file +# modified URL in last step of terraform.yml +# modifeid the URL before script \ No newline at end of file From 92a2e9da2c5e2faea4553300384bd0a5a5580646 Mon Sep 17 00:00:00 2001 From: saipavankumar0702 Date: Fri, 29 Aug 2025 18:30:14 +0530 Subject: [PATCH 7/7] just checking stage to main --- terraform/terraform.tf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/terraform/terraform.tf b/terraform/terraform.tf index f8a360b26..9e01e7512 100644 --- a/terraform/terraform.tf +++ b/terraform/terraform.tf @@ -37,4 +37,5 @@ terraform { # first edit # modified URL in last step of terraform.yml -# modifeid the URL before script \ No newline at end of file +# modifeid the URL before script +# checking only stage and main \ No newline at end of file