From 4a5b3c01b3b65a5884fad491514dc607317e9fdd Mon Sep 17 00:00:00 2001 From: Neel050302 <104186890+Neel050302@users.noreply.github.com> Date: Mon, 12 Aug 2024 09:54:57 +1000 Subject: [PATCH 1/5] Create terraform.yml Signed-off-by: Neel050302 <104186890+Neel050302@users.noreply.github.com> --- .github/workflows/terraform.yml | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/terraform.yml diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml new file mode 100644 index 0000000..b11c444 --- /dev/null +++ b/.github/workflows/terraform.yml @@ -0,0 +1,52 @@ +name: 'Terraform' + +on: + push: + branches: [ "main" ] + pull_request: + +permissions: + contents: read + +jobs: + terraform: + name: 'Terraform' + runs-on: ubuntu-latest + environment: production + + defaults: + run: + shell: bash + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Terraform + uses: hashicorp/setup-terraform@v1 + with: + cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} + + - name: 'Set up Google Cloud credentials' + uses: google-github-actions/auth@v1 + with: + credentials_json: ${{ secrets.GCP_CREDENTIALS }} + + - name: 'Configure GCP Project' + run: gcloud config set project sit-23t1-project-echo-25288b9 + + - name: 'Configure GCP Region' + run: gcloud config set compute/region australia-southeast2 # Replace with your preferred region + + - name: Terraform Init + run: terraform init + + - name: Terraform Format + run: terraform fmt -check + + - name: Terraform Plan + run: terraform plan -input=false + + - name: Terraform Apply + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + run: terraform apply -auto-approve -input=false From ebb094ebfd5a8538aa8b2c4c49f77f42841a3635 Mon Sep 17 00:00:00 2001 From: Neel050302 <104186890+Neel050302@users.noreply.github.com> Date: Mon, 12 Aug 2024 09:57:25 +1000 Subject: [PATCH 2/5] Update terraform.yml Signed-off-by: Neel050302 <104186890+Neel050302@users.noreply.github.com> --- .github/workflows/terraform.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index b11c444..6aafc51 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -27,11 +27,6 @@ jobs: with: cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} - - name: 'Set up Google Cloud credentials' - uses: google-github-actions/auth@v1 - with: - credentials_json: ${{ secrets.GCP_CREDENTIALS }} - - name: 'Configure GCP Project' run: gcloud config set project sit-23t1-project-echo-25288b9 From f99582f3cb5f4cad485fde2a8be7100c2436cca9 Mon Sep 17 00:00:00 2001 From: Neel050302 <104186890+Neel050302@users.noreply.github.com> Date: Mon, 12 Aug 2024 11:37:59 +1000 Subject: [PATCH 3/5] Update terraform.yml add github secrect Signed-off-by: Neel050302 <104186890+Neel050302@users.noreply.github.com> --- .github/workflows/terraform.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index 6aafc51..13e069e 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -27,11 +27,16 @@ jobs: with: cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} + - name: 'Set up Google Cloud credentials' + uses: google-github-actions/auth@v1 + with: + credentials_json: ${{ secrets.GCP_CREDENTIALS }} + - name: 'Configure GCP Project' run: gcloud config set project sit-23t1-project-echo-25288b9 - name: 'Configure GCP Region' - run: gcloud config set compute/region australia-southeast2 # Replace with your preferred region + run: gcloud config set compute/region australia-southeast2 - name: Terraform Init run: terraform init From 2ab4eac2e33bf6a9f21775a07f640bae140c73fb Mon Sep 17 00:00:00 2001 From: Neel050302 <104186890+Neel050302@users.noreply.github.com> Date: Mon, 12 Aug 2024 11:43:33 +1000 Subject: [PATCH 4/5] Create main.tf Signed-off-by: Neel050302 <104186890+Neel050302@users.noreply.github.com> --- main.tf | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 main.tf diff --git a/main.tf b/main.tf new file mode 100644 index 0000000..c324850 --- /dev/null +++ b/main.tf @@ -0,0 +1,21 @@ +provider "google" { + project = "sit-23t1-project-echo-25288b9" + region = "australia-southeast2" +} + +resource "google_compute_instance" "default" { + name = "simple-instance" + machine_type = "n1-standard-1" + zone = "australia-southeast2-a" + + boot_disk { + initialize_params { + image = "debian-cloud/debian-9" + } + } + + network_interface { + network = "default" + access_config {} + } +} From 4dc35079cd6a50d1b243bd7a4edf14abd4c829d7 Mon Sep 17 00:00:00 2001 From: Neel050302 <104186890+Neel050302@users.noreply.github.com> Date: Mon, 12 Aug 2024 12:11:46 +1000 Subject: [PATCH 5/5] Update terraform.yml Signed-off-by: Neel050302 <104186890+Neel050302@users.noreply.github.com> --- .github/workflows/terraform.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index 13e069e..3fe1368 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -38,6 +38,7 @@ jobs: - name: 'Configure GCP Region' run: gcloud config set compute/region australia-southeast2 + # No need to change directory since Terraform files are in the root directory - name: Terraform Init run: terraform init