Skip to content

Commit 1d1368f

Browse files
authored
Initial commit
0 parents  commit 1d1368f

16 files changed

+624
-0
lines changed

.github/CODEOWNERS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@jnonino @mfcaro

.github/FUNDING.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: jnonino
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/renovate.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": [
3+
"config:base"
4+
],
5+
"labels": ["enhancement"]
6+
}

.github/workflows/pipeline.yml

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Terraform
2+
on:
3+
push:
4+
branches: [main]
5+
pull_request:
6+
types: [opened, reopened, synchronize]
7+
branches: [main]
8+
release:
9+
types: [published]
10+
11+
jobs:
12+
check-format:
13+
runs-on: ubuntu-latest
14+
container: hashicorp/terraform
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
- name: Terraform Format Check
19+
run: terraform fmt -check -recursive -diff
20+
21+
validate:
22+
runs-on: ubuntu-latest
23+
container: hashicorp/terraform
24+
strategy:
25+
matrix: {
26+
dir: ['examples/test']
27+
}
28+
steps:
29+
- name: Checkout repository
30+
uses: actions/checkout@v4
31+
- name: Terraform Init
32+
run: terraform init -upgrade
33+
working-directory: ${{ matrix.dir }}
34+
- name: Terraform Validate
35+
run: terraform validate
36+
working-directory: ${{ matrix.dir }}
37+
38+
mock-plan:
39+
runs-on: ubuntu-latest
40+
container: hashicorp/terraform
41+
strategy:
42+
matrix: {
43+
dir: ['examples/test']
44+
}
45+
services:
46+
localstack:
47+
image: localstack/localstack
48+
env:
49+
SERVICES: apigateway,cloudformation,cloudwatch,dynamodb,es,firehose,iam,kinesis,lambda,route53,redshift,s3,secretsmanager,ses,sns,sqs,ssm,stepfunctions,sts
50+
ports:
51+
- 4566:4566
52+
steps:
53+
- name: Checkout repository
54+
uses: actions/checkout@v4
55+
- name: Terraform Init
56+
run: terraform init -upgrade
57+
working-directory: ${{ matrix.dir }}
58+
- name: Terraform Plan (Mock)
59+
run: terraform plan
60+
working-directory: ${{ matrix.dir }}
61+
62+
infracost:
63+
runs-on: ubuntu-latest
64+
name: Show infracost diff
65+
strategy:
66+
matrix: {
67+
dir: ['examples/test']
68+
}
69+
steps:
70+
- name: Check out repository
71+
uses: actions/checkout@v4
72+
- name: Run infracost diff
73+
uses: infracost/infracost-gh-action@master
74+
env:
75+
INFRACOST_API_KEY: ${{ secrets.INFRACOST_API_KEY }}
76+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
77+
with:
78+
path: ${{ matrix.dir }}

.gitignore

+166
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
# Created by https://www.toptal.com/developers/gitignore/api/linux,macos,windows,terraform,sublimetext,visualstudiocode
2+
# Edit at https://www.toptal.com/developers/gitignore?templates=linux,macos,windows,terraform,sublimetext,visualstudiocode
3+
4+
### Linux ###
5+
*~
6+
7+
# temporary files which can be created if a process still has a handle open of a deleted file
8+
.fuse_hidden*
9+
10+
# KDE directory preferences
11+
.directory
12+
13+
# Linux trash folder which might appear on any partition or disk
14+
.Trash-*
15+
16+
# .nfs files are created when an open file is removed but is still being accessed
17+
.nfs*
18+
19+
### macOS ###
20+
# General
21+
.DS_Store
22+
.AppleDouble
23+
.LSOverride
24+
25+
# Icon must end with two \r
26+
Icon
27+
28+
29+
# Thumbnails
30+
._*
31+
32+
# Files that might appear in the root of a volume
33+
.DocumentRevisions-V100
34+
.fseventsd
35+
.Spotlight-V100
36+
.TemporaryItems
37+
.Trashes
38+
.VolumeIcon.icns
39+
.com.apple.timemachine.donotpresent
40+
41+
# Directories potentially created on remote AFP share
42+
.AppleDB
43+
.AppleDesktop
44+
Network Trash Folder
45+
Temporary Items
46+
.apdisk
47+
48+
### macOS Patch ###
49+
# iCloud generated files
50+
*.icloud
51+
52+
### SublimeText ###
53+
# Cache files for Sublime Text
54+
*.tmlanguage.cache
55+
*.tmPreferences.cache
56+
*.stTheme.cache
57+
58+
# Workspace files are user-specific
59+
*.sublime-workspace
60+
61+
# Project files should be checked into the repository, unless a significant
62+
# proportion of contributors will probably not be using Sublime Text
63+
# *.sublime-project
64+
65+
# SFTP configuration file
66+
sftp-config.json
67+
sftp-config-alt*.json
68+
69+
# Package control specific files
70+
Package Control.last-run
71+
Package Control.ca-list
72+
Package Control.ca-bundle
73+
Package Control.system-ca-bundle
74+
Package Control.cache/
75+
Package Control.ca-certs/
76+
Package Control.merged-ca-bundle
77+
Package Control.user-ca-bundle
78+
oscrypto-ca-bundle.crt
79+
bh_unicode_properties.cache
80+
81+
# Sublime-github package stores a github token in this file
82+
# https://packagecontrol.io/packages/sublime-github
83+
GitHub.sublime-settings
84+
85+
### Terraform ###
86+
# Local .terraform directories
87+
**/.terraform/*
88+
89+
# .tfstate files
90+
*.tfstate
91+
*.tfstate.*
92+
93+
# Crash log files
94+
crash.log
95+
crash.*.log
96+
97+
# Exclude all .tfvars files, which are likely to contain sensitive data, such as
98+
# password, private keys, and other secrets. These should not be part of version
99+
# control as they are data points which are potentially sensitive and subject
100+
# to change depending on the environment.
101+
*.tfvars
102+
*.tfvars.json
103+
104+
# Ignore override files as they are usually used to override resources locally and so
105+
# are not checked in
106+
override.tf
107+
override.tf.json
108+
*_override.tf
109+
*_override.tf.json
110+
111+
# Include override files you do wish to add to version control using negated pattern
112+
# !example_override.tf
113+
114+
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
115+
# example: *tfplan*
116+
117+
# Ignore CLI configuration files
118+
.terraformrc
119+
terraform.rc
120+
121+
### VisualStudioCode ###
122+
.vscode/*
123+
!.vscode/settings.json
124+
!.vscode/tasks.json
125+
!.vscode/launch.json
126+
!.vscode/extensions.json
127+
!.vscode/*.code-snippets
128+
129+
# Local History for Visual Studio Code
130+
.history/
131+
132+
# Built Visual Studio Code Extensions
133+
*.vsix
134+
135+
### VisualStudioCode Patch ###
136+
# Ignore all local history of files
137+
.history
138+
.ionide
139+
140+
### Windows ###
141+
# Windows thumbnail cache files
142+
Thumbs.db
143+
Thumbs.db:encryptable
144+
ehthumbs.db
145+
ehthumbs_vista.db
146+
147+
# Dump file
148+
*.stackdump
149+
150+
# Folder config file
151+
[Dd]esktop.ini
152+
153+
# Recycle Bin used on file shares
154+
$RECYCLE.BIN/
155+
156+
# Windows Installer files
157+
*.cab
158+
*.msi
159+
*.msix
160+
*.msm
161+
*.msp
162+
163+
# Windows shortcuts
164+
*.lnk
165+
166+
# End of https://www.toptal.com/developers/gitignore/api/linux,macos,windows,terraform,sublimetext,visualstudiocode

.pre-commit-config.yaml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
repos:
2+
- repo: https://github.com/antonbabenko/pre-commit-terraform
3+
rev: v1.71.0
4+
hooks:
5+
- id: terraform_docs
6+
- id: terraform_fmt
7+
- id: terraform_validate

.terraform.lock.hcl

+23
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)