diff --git "a/.github\\workflows/terraform.yml" "b/.github\\workflows/terraform.yml" new file mode 100644 index 000000000..a09bd3b14 --- /dev/null +++ "b/.github\\workflows/terraform.yml" @@ -0,0 +1,62 @@ +name: "Vprofile IAC" +on: + push: + branches: + - main + - stage + paths: + - terraform/** + pull_request: + branches: + - main + paths: + - terraform/** + +env: + # Credentials for deployment to AWS + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + # S3 bucket for the Terraform state + BUCKET_TF_STATE: ${{ secrets.BUCKET_TF_STATE }} + AWS_REGION: us-east-2 + EKS_CLUSTER: vprofile-eks + +jobs: + terraform: + name: "Apply terraform code changes" + runs-on: ubuntu-latest + defaults: + run: + shell: bash + working-directory: ./terraform + + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Setup Terraform with specified version on the runner + uses: hashicorp/setup-terraform@v2 + # Uncomment and specify the Terraform version if needed + # with: + # terraform_version: 1.6.3 + + - 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: Terraform plan status + if: steps.plan.outcome == 'failure' + run: exit 1 diff --git a/terraform/main.tf b/terraform/main.tf index 94b6fc75a..29266e393 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -3,10 +3,16 @@ provider "kubernetes" { cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) } +#provider "aws" { + # region = var.region +#} + provider "aws" { - region = var.region + profile = "myprofile" # Specify your AWS CLI profile name here + region = var.region # Use the region variable } + data "aws_availability_zones" "available" {} locals { diff --git a/terraform/variables.tf b/terraform/variables.tf index a41d982a0..3eaea93c8 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -1,3 +1,6 @@ + + + variable "region" { description = "AWS region" type = string @@ -7,5 +10,5 @@ variable "region" { variable "clusterName" { description = "Name of the EKS cluster" type = string - default = "kitops-eks" + default = "vprofile-eks" }