Skip to content

Commit f500561

Browse files
init
0 parents  commit f500561

25 files changed

Lines changed: 863 additions & 0 deletions

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"

.github/workflows/checkov.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Checkov
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
tflint:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
name: Checkout source code
16+
17+
- name: Run Checkov action
18+
id: checkov
19+
uses: bridgecrewio/checkov-action@v12
20+
with:
21+
directory: .
22+
framework: terraform
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Teraform-Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
tflint:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
name: Checkout source code
16+
17+
- name: Run Terraform-Docs
18+
run: make test_documentation

.github/workflows/formatting.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Formatting
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
formatting:
11+
strategy:
12+
matrix:
13+
engine: ["opentofu", "terraform"]
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Install Terraform
19+
uses: hashicorp/setup-terraform@v3
20+
if: ${{ matrix.engine == 'terraform' }}
21+
22+
- name: Install OpenTofu
23+
uses: opentofu/setup-opentofu@v1
24+
if: ${{ matrix.engine == 'opentofu' }}
25+
26+
- name: Test Formatting
27+
run: make test_formatting TF_ENGINE=${{matrix.engine}}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Terraform Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
terraform_test:
11+
strategy:
12+
matrix:
13+
engine: ["opentofu", "terraform"]
14+
version: ["1.6", "1.7"]
15+
experimental: [false]
16+
include:
17+
- version: "1.8"
18+
engine: "opentofu"
19+
experimental: true
20+
- version: "1.8"
21+
engine: "terraform"
22+
experimental: false
23+
24+
continue-on-error: ${{ matrix.experimental }}
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: actions/checkout@v4
28+
29+
- name: Install Terraform
30+
uses: hashicorp/setup-terraform@v3
31+
if: ${{ matrix.engine == 'terraform' }}
32+
with:
33+
terraform_version: ${{ matrix.version }}
34+
35+
- name: Install OpenTofu
36+
uses: opentofu/setup-opentofu@v1
37+
if: ${{ matrix.engine == 'opentofu' }}
38+
with:
39+
tofu_version: ${{ matrix.version }}
40+
41+
- name: Run Terraform Tests
42+
run: make terraform_test TF_ENGINE=${{matrix.engine}}

.github/workflows/terratest.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Terratest
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
terratest:
11+
strategy:
12+
matrix:
13+
engine: ["opentofu", "terraform"]
14+
version: ["1.6", "1.7"]
15+
experimental: [false]
16+
include:
17+
- version: "1.8"
18+
engine: "opentofu"
19+
experimental: true
20+
- version: "1.8"
21+
engine: "terraform"
22+
experimental: false
23+
24+
continue-on-error: ${{ matrix.experimental }}
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: actions/checkout@v4
28+
29+
- name: Install Terraform
30+
uses: hashicorp/setup-terraform@v3
31+
if: ${{ matrix.engine == 'terraform' }}
32+
with:
33+
terraform_version: ${{ matrix.version }}
34+
terraform_wrapper: false
35+
36+
- name: Install OpenTofu
37+
uses: opentofu/setup-opentofu@v1
38+
if: ${{ matrix.engine == 'opentofu' }}
39+
with:
40+
tofu_version: ${{ matrix.version }}
41+
tofu_wrapper: false
42+
43+
- name: Run Terratest
44+
run: make terratest TF_ENGINE=${{matrix.engine}}

.github/workflows/tflint.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
tflint:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
name: Checkout source code
14+
15+
- uses: terraform-linters/setup-tflint@v3
16+
name: Setup TFLint
17+
18+
- name: Run TFLint
19+
run: make test_tflint

.github/workflows/trivy.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Trivy
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
tflint:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
name: Checkout source code
14+
15+
- name: Trivy
16+
uses: aquasecurity/trivy-action@master
17+
with:
18+
scan-type: "config"
19+
hide-progress: true
20+
exit-code: "1"

.github/workflows/validation.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Validation
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
validation:
9+
strategy:
10+
matrix:
11+
engine: ["opentofu", "terraform"]
12+
version: ["1.6", "1.7"]
13+
experimental: [false]
14+
include:
15+
- version: "1.8"
16+
engine: "opentofu"
17+
experimental: true
18+
- version: "1.8"
19+
engine: "terraform"
20+
experimental: false
21+
22+
continue-on-error: ${{ matrix.experimental }}
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
27+
- name: Install Terraform
28+
uses: hashicorp/setup-terraform@v3
29+
if: ${{ matrix.engine == 'terraform' }}
30+
with:
31+
terraform_version: ${{ matrix.version }}
32+
33+
- name: Install OpenTofu
34+
uses: opentofu/setup-opentofu@v1
35+
if: ${{ matrix.engine == 'opentofu' }}
36+
with:
37+
tofu_version: ${{ matrix.version }}
38+
39+
- name: Test Validation
40+
run: make test_validation TF_ENGINE=${{matrix.engine}}

.gitignore

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# ETC
2+
tfplan
3+
.terraform.lock.hcl
4+
5+
# General
6+
.DS_Store
7+
.AppleDouble
8+
.LSOverride
9+
10+
# Icon must end with two \r
11+
Icon
12+
13+
14+
# Thumbnails
15+
._*
16+
17+
# Files that might appear in the root of a volume
18+
.DocumentRevisions-V100
19+
.fseventsd
20+
.Spotlight-V100
21+
.TemporaryItems
22+
.Trashes
23+
.VolumeIcon.icns
24+
.com.apple.timemachine.donotpresent
25+
26+
# Directories potentially created on remote AFP share
27+
.AppleDB
28+
.AppleDesktop
29+
Network Trash Folder
30+
Temporary Items
31+
.apdisk
32+
33+
# Local .terraform directories
34+
**/.terraform/*
35+
36+
# .tfstate files
37+
*.tfstate
38+
*.tfstate.*
39+
40+
# Crash log files
41+
crash.log
42+
crash.*.log
43+
44+
# Exclude all .tfvars files, which are likely to contain sensitive data, such as
45+
# password, private keys, and other secrets. These should not be part of version
46+
# control as they are data points which are potentially sensitive and subject
47+
# to change depending on the environment.
48+
*.tfvars
49+
*.tfvars.json
50+
51+
# Ignore override files as they are usually used to override resources locally and so
52+
# are not checked in
53+
override.tf
54+
override.tf.json
55+
*_override.tf
56+
*_override.tf.json
57+
58+
# Include override files you do wish to add to version control using negated pattern
59+
# !example_override.tf
60+
61+
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
62+
# example: *tfplan*
63+
64+
# Ignore CLI configuration files
65+
.terraformrc
66+
terraform.rc

0 commit comments

Comments
 (0)