diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml new file mode 100644 index 000000000..7abc58645 --- /dev/null +++ b/.github/workflows/terraform.yml @@ -0,0 +1,66 @@ +name: "Vprofile IAC" + +on: + push: + branches: + - main + - stage + paths: + - terraform/** + pull_request: + branches: + - main + - stage + 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: us-east-2 + EKS_CLUSTER: vprofile-eks + +jobs: + terraform: + name: Apply Terraform Code + runs-on: ubuntu-latest + + defaults: + run: + shell: bash + working-directory: ./terraform + + steps: + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Setup Terraform + uses: hashicorp/setup-terraform@v2 + with: + terraform_version: 1.6.3 + + - name: Terraform Init + run: | + terraform init \ + -backend-config="bucket=${BUCKET_TF_STATE}" \ + -backend-config="region=${AWS_REGION}" + + - name: Terraform Format + run: terraform fmt -check + + - name: Terraform Validate + run: terraform validate + + - name: Terraform Plan + id: plan + run: terraform plan -no-color -input=false -out planfile + continue-on-error: true + + - name: Terraform Plan Status + if: steps.plan.outcome == 'failure' + run: exit 1 + + - name: Terraform Apply + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + run: terraform apply -auto-approve -parallelism=1 diff --git a/terraform/terraform.tf b/terraform/terraform.tf index 67b75c673..1351fb4af 100644 --- a/terraform/terraform.tf +++ b/terraform/terraform.tf @@ -27,7 +27,7 @@ terraform { } backend "s3" { - bucket = "gitopsterrastate" + bucket = "vpaction17" key = "terraform.tfstate" region = "us-east-2" } @@ -37,3 +37,4 @@ terraform { ## ## ## +## \ No newline at end of file diff --git a/terraform/variables.tf b/terraform/variables.tf index a41d982a0..7d8efe8d3 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -7,5 +7,7 @@ variable "region" { variable "clusterName" { description = "Name of the EKS cluster" type = string - default = "kitops-eks" + default = "vprofile-eks" } + +# trigger \ No newline at end of file