Skip to content

Commit f0a980f

Browse files
refactor: reorganize repo into module-01 remote-state and module-02 ci-cd-oidc
1 parent 7d4bc2a commit f0a980f

14 files changed

Lines changed: 30 additions & 28 deletions

.github/workflows/terraform.yml

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,28 @@ name: terraform-oidc
22

33
on:
44
push:
5-
branches: ["main"]
5+
paths:
6+
- "infra/workload/01-local-state/**"
7+
- ".github/workflows/terraform.yml"
68
workflow_dispatch:
79

810
permissions:
911
id-token: write
1012
contents: read
1113

1214
env:
13-
TF_IN_AUTOMATION: true
14-
TF_INPUT: false
15+
TF_WORKING_DIR: infra/workload/01-local-state
16+
ARM_USE_OIDC: "true"
17+
ARM_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }}
18+
ARM_TENANT_ID: ${{ vars.AZURE_TENANT_ID }}
19+
ARM_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
1520

1621
jobs:
1722
plan:
18-
name: plan
1923
runs-on: ubuntu-latest
2024
defaults:
2125
run:
22-
working-directory: infra/workload/01-local-state
23-
shell: bash
24-
env:
25-
ARM_USE_OIDC: true
26-
ARM_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }}
27-
ARM_TENANT_ID: ${{ vars.AZURE_TENANT_ID }}
28-
ARM_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
26+
working-directory: ${{ env.TF_WORKING_DIR }}
2927

3028
steps:
3129
- name: Checkout
@@ -41,7 +39,7 @@ jobs:
4139
- name: Setup Terraform
4240
uses: hashicorp/setup-terraform@v3
4341
with:
44-
terraform_version: 1.14.2
42+
terraform_version: 1.6.6
4543

4644
- name: Terraform fmt (check)
4745
run: terraform fmt -check -recursive
@@ -53,28 +51,34 @@ jobs:
5351
run: terraform validate
5452

5553
- name: Terraform plan
56-
run: terraform plan -input=false -no-color
54+
run: terraform plan -no-color -out=tfplan
55+
56+
- name: Upload plan artifact
57+
uses: actions/upload-artifact@v4
58+
with:
59+
name: tfplan
60+
path: ${{ env.TF_WORKING_DIR }}/tfplan
5761

5862
apply:
59-
name: apply
6063
runs-on: ubuntu-latest
6164
needs: plan
6265
if: github.event_name == 'workflow_dispatch'
6366
environment: apply
67+
6468
defaults:
6569
run:
66-
working-directory: infra/workload/01-local-state
67-
shell: bash
68-
env:
69-
ARM_USE_OIDC: true
70-
ARM_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }}
71-
ARM_TENANT_ID: ${{ vars.AZURE_TENANT_ID }}
72-
ARM_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
70+
working-directory: ${{ env.TF_WORKING_DIR }}
7371

7472
steps:
7573
- name: Checkout
7674
uses: actions/checkout@v4
7775

76+
- name: Download plan artifact
77+
uses: actions/download-artifact@v4
78+
with:
79+
name: tfplan
80+
path: ${{ env.TF_WORKING_DIR }}
81+
7882
- name: Azure Login (OIDC)
7983
uses: azure/login@v2
8084
with:
@@ -85,10 +89,10 @@ jobs:
8589
- name: Setup Terraform
8690
uses: hashicorp/setup-terraform@v3
8791
with:
88-
terraform_version: 1.14.2
92+
terraform_version: 1.6.6
8993

9094
- name: Terraform init
9195
run: terraform init -input=false
9296

9397
- name: Terraform apply
94-
run: terraform apply -auto-approve -input=false -no-color
98+
run: terraform apply -auto-approve tfplan

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ crash.log
55
crash.*.log
66

77
terraform.tfvars
8-
*.auto.tfvars
8+
*.auto.tfvars
9+
10+
federated-credential.json

main.tf

Lines changed: 0 additions & 4 deletions
This file was deleted.

runbook/00-prerequisites.md renamed to runbook/module-01-remote-state/00-prerequisites.md

File renamed without changes.
File renamed without changes.

runbook/02-local-state-create.md renamed to runbook/module-01-remote-state/02-local-state-baseline.md

File renamed without changes.

runbook/03-migrate-to-remote-state.md renamed to runbook/module-01-remote-state/03-migrate-to-remote-state.md

File renamed without changes.

runbook/04-locking-test.md renamed to runbook/module-01-remote-state/04-locking-test.md

File renamed without changes.

runbook/module-02-ci-cd-oidc/01-app-registration-and-federation.md

Whitespace-only changes.

runbook/module-02-ci-cd-oidc/02-rbac-minimal-scope.md

Whitespace-only changes.

0 commit comments

Comments
 (0)