Skip to content

Commit dc93973

Browse files
Initial commit
0 parents  commit dc93973

35 files changed

+673
-0
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @rswrz @lixhunter @Phil-Thoennissen @neonwhiskers
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: "Bug Report"
2+
description: "File a bug report."
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thank you for taking the time to fill out this bug report!
10+
- type: textarea
11+
id: what-happened
12+
attributes:
13+
label: Bug Description
14+
description: "Also tell us, what did you expect to happen?"
15+
placeholder: "Tell us what you see!"
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: version
20+
attributes:
21+
label: Terraform-Version
22+
description: "What version of Terraform are you running?"
23+
placeholder: "Output of 'terraform version'"
24+
validations:
25+
required: true
26+
- type: textarea
27+
id: logs
28+
attributes:
29+
label: Relevant log output
30+
description: "Please copy and paste any relevant log output. This will be automatically formatted."
31+
render: shell
32+
- type: textarea
33+
id: error-message
34+
attributes:
35+
label: Relevant Error Messages
36+
description: "Please copy and paste any relevant error Messages. This will be automatically formatted."
37+
render: shell
38+
- type: textarea
39+
id: additional-info
40+
attributes:
41+
label: Additional Information
42+
description: "Please add any information that might be relevant in solving this bug."
43+
- type: checkboxes
44+
id: terms2
45+
attributes:
46+
label: Privacy Statement
47+
description: "I acknowledge that this is a public repository and confirm that I have not included any sensitive customer data, internal information, or proprietary details in this report."
48+
options:
49+
- label: I agree
50+
required: true
51+
- type: checkboxes
52+
id: terms
53+
attributes:
54+
label: Code of Conduct
55+
description: "By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/cloudeteer/terraform-governance?tab=coc-ov-file#code-of-conduct)."
56+
options:
57+
- label: I agree to follow this repository's Code of Conduct
58+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: "Feature Request"
2+
description: "Suggest a new feature or improvement."
3+
title: "[Feature Request]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thank you for taking the time to suggest a feature or improvement!
10+
- type: textarea
11+
id: feature-description
12+
attributes:
13+
label: Feature Description
14+
description: "Please describe the feature or improvement you would like to see."
15+
placeholder: "Provide a detailed explanation of the feature."
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: use-case
21+
attributes:
22+
label: Use Case
23+
description: "What is the problem this feature will solve or the benefit it will provide? How would you use it?"
24+
placeholder: "Explain the context and use case."
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: additional-info
30+
attributes:
31+
label: Additional Information
32+
description: "Any additional context or information that may help with this feature request."
33+
34+
- type: checkboxes
35+
id: terms2
36+
attributes:
37+
label: Privacy Statement
38+
description: "I acknowledge that this is a public repository and confirm that I have not included any sensitive customer data, internal information, or proprietary details in this request."
39+
options:
40+
- label: I agree
41+
required: true
42+
43+
- type: checkboxes
44+
id: terms
45+
attributes:
46+
label: Code of Conduct
47+
description: "By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/cloudeteer/terraform-governance?tab=coc-ov-file#code-of-conduct)."
48+
options:
49+
- label: I agree to follow this repository's Code of Conduct
50+
required: true
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Description
2+
<!--- Describe your changes in detail -->
3+
4+
## PR Checklist
5+
- [ ] I have checked if my changes close any open issues. If so please include appropriate [closing keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) below.
6+
- [ ] I have updated/added documentation written in a helpful and kind way to assist users that may be unfamiliar with the resource / data source.
7+
- [ ] I have checked for a proper tag for this PR: `breaking-change`, `feature`, `fix`, `other`, `ignore-release`
8+
- [ ] I have used a **meaningful** PR title to help maintainers and other users understand this change and help prevent duplicate work.
9+
10+
## Motivation and Context
11+
<!--- Why is this change required? What problem does it solve? -->
12+
<!--- If it fixes an open issue, please link to the issue here. -->
13+
14+
## Breaking Changes
15+
<!-- Does this break backwards compatibility with the current major version? -->
16+
<!-- If so, please provide an explanation why it is necessary. -->
17+

.github/workflows/module-ci.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: module-ci
2+
on:
3+
workflow_dispatch:
4+
schedule:
5+
- cron: "0 0 * * 0" # weekly on Sunday at 00:00
6+
pull_request:
7+
types:
8+
- opened
9+
- edited
10+
- synchronize
11+
- ready_for_review
12+
13+
jobs:
14+
module-ci:
15+
uses: cloudeteer/terraform-governance/.github/workflows/module-ci.yaml@main
16+
permissions:
17+
contents: read
18+
issues: write
19+
id-token: write
20+
secrets:
21+
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
22+
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
23+
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: module-manage-github
2+
on:
3+
push:
4+
branches:
5+
- main
6+
issues:
7+
types:
8+
- opened
9+
pull_request:
10+
types:
11+
- opened
12+
- labeled
13+
- unlabeled
14+
15+
jobs:
16+
module-manage-github:
17+
uses: cloudeteer/terraform-governance/.github/workflows/module-github.yaml@main
18+
permissions:
19+
contents: write
20+
pull-requests: read
21+
secrets: inherit

.gitignore

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Local .terraform directories
2+
**/.terraform/*
3+
.terraform.lock.hcl
4+
5+
# .tfstate files
6+
*.tfstate
7+
*.tfstate.*
8+
9+
# Crash log files
10+
crash.log
11+
crash.*.log
12+
13+
# Ignore override files as they are usually used to override resources locally and so
14+
# are not checked in
15+
override.tf
16+
override.tf.json
17+
*_override.tf
18+
*_override.tf.json
19+
20+
# Include override files you do wish to add to version control using negated pattern
21+
!tests_override.tf
22+
23+
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
24+
# example: *tfplan*
25+
26+
# Ignore CLI configuration files
27+
.terraformrc
28+
terraform.rc
29+
30+
# Ignore rc files
31+
.envrc

.pre-commit-config.yaml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v4.6.0
4+
hooks:
5+
- id: check-yaml
6+
- id: end-of-file-fixer
7+
- id: trailing-whitespace
8+
- repo: https://github.com/terraform-docs/terraform-docs
9+
rev: v0.19.0
10+
hooks:
11+
- id: terraform-docs-system
12+
args: ["."]
13+
- repo: local
14+
hooks:
15+
- id: tfsort
16+
name: Sort Terraform variables
17+
language: system
18+
types: [terraform]
19+
entry: bash -c 'for f in $@; do tfsort "$f"; done' --
20+
files: ^variables|outputs\.tf$
21+
- repo: https://github.com/antonbabenko/pre-commit-terraform
22+
rev: "v1.96.1"
23+
hooks:
24+
- id: terraform_fmt
25+
- id: terraform_tflint
26+
exclude: ^(examples|tests)/
27+
args:
28+
- --args=--config=__GIT_WORKING_DIR__/.tflint.hcl
29+
- --hook-config=--delegate-chdir
30+
- id: terraform_tflint
31+
alias: terraform_tflint_examples
32+
name: Terraform validate examples with tflint
33+
files: ^examples/
34+
args:
35+
- --args=--config=__GIT_WORKING_DIR__/.tflint.examples.hcl
36+
- --hook-config=--delegate-chdir
37+
38+
- id: terraform_tflint
39+
alias: terraform_tflint_tests
40+
name: Terraform validate tests with tflint
41+
files: ^tests/
42+
args:
43+
- --args=--config=__GIT_WORKING_DIR__/.tflint.tests.hcl
44+
- --hook-config=--delegate-chdir
45+
46+
- id: terraform_trivy
47+
exclude: ^(examples|tests)/
48+
args:
49+
- --args=--skip-dirs="examples/"
50+
- --args=--skip-dirs="tests/"

.terraform-docs.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
formatter: markdown document
2+
3+
settings:
4+
hide-empty: true
5+
lockfile: false
6+
7+
recursive:
8+
enabled: true
9+
path: modules
10+
11+
output:
12+
file: README.md
13+
14+
sort:
15+
enabled: true
16+
by: name
17+
18+
content: |-
19+
## Usage
20+
21+
{{ include "examples/usage/main.md" }}
22+
23+
```hcl
24+
{{ include "examples/usage/main.tf" }}
25+
```
26+
27+
{{ .Providers }}
28+
29+
{{ .Modules }}
30+
31+
{{ .Resources }}
32+
33+
{{ .Inputs }}
34+
35+
{{ .Outputs }}

0 commit comments

Comments
 (0)