Skip to content

Commit b5670d9

Browse files
committed
Initial commit
0 parents  commit b5670d9

270 files changed

Lines changed: 23613 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.copywrite.hcl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
schema_version = 1
2+
3+
project {
4+
license = "Apache-2.0"
5+
copyright_year = 2026
6+
}

.github/CODE_OF_CONDUCT.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Code of Conduct
2+
3+
HashiCorp Community Guidelines apply to you when interacting with the community here on GitHub and contributing code.
4+
5+
Please read the full text at https://www.hashicorp.com/community-guidelines

.github/dependabot.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# See GitHub's documentation for more information on this file:
2+
# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
3+
version: 2
4+
updates:
5+
# Maintain dependencies for Go modules
6+
- package-ecosystem: "gomod"
7+
directory: "/"
8+
schedule:
9+
# Check for updates to Go modules every weekday
10+
interval: "daily"
11+
groups:
12+
# Group all terraform-plugin-(go|sdk|framework|testing) dependencies together
13+
"terraform-plugin":
14+
patterns:
15+
- "github.com/hashicorp/terraform-plugin-*"
16+
- package-ecosystem: "gomod"
17+
directory: "/tools"
18+
schedule:
19+
interval: "daily"
20+
- package-ecosystem: "github-actions"
21+
directory: "/"
22+
groups:
23+
"github-actions":
24+
patterns:
25+
- "*" # Group all GitHub Actions dependencies together
26+
schedule:
27+
interval: "weekly"
28+
day: "monday"
29+
time: "09:00"
30+
timezone: "Etc/UTC"

.github/pull_request_template.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## Related Issue
2+
3+
Fixes # <!-- INSERT ISSUE NUMBER -->
4+
5+
## Description
6+
7+
In plain English, describe your approach to addressing the issue linked above. For example, if you made a particular design decision, let us know why you chose this path instead of another solution.
8+
9+
<!-- heimdall_github_prtemplate:grc-pci_dss-2024-01-05 -->
10+
## Rollback Plan
11+
12+
- [ ] If a change needs to be reverted, we will roll out an update to the code within 7 days.
13+
14+
## Changes to Security Controls
15+
16+
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.

.github/workflows/ci.yml

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
format:
15+
name: Format
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
21+
22+
- name: Set up Go
23+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
24+
with:
25+
go-version-file: go.mod
26+
cache: true
27+
cache-dependency-path: |
28+
go.sum
29+
tools/go.sum
30+
31+
- name: Check formatting
32+
run: |
33+
unformatted="$(gofmt -s -l -e .)"
34+
if [ -n "$unformatted" ]; then
35+
echo "The following files are not gofmt-formatted:"
36+
echo "$unformatted"
37+
exit 1
38+
fi
39+
40+
build:
41+
name: Build
42+
runs-on: ubuntu-latest
43+
44+
steps:
45+
- name: Checkout
46+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
47+
48+
- name: Set up Go
49+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
50+
with:
51+
go-version-file: go.mod
52+
cache: true
53+
cache-dependency-path: |
54+
go.sum
55+
tools/go.sum
56+
57+
- name: Build
58+
run: make build
59+
60+
test:
61+
name: Test
62+
runs-on: ubuntu-latest
63+
64+
steps:
65+
- name: Checkout
66+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
67+
68+
- name: Set up Go
69+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
70+
with:
71+
go-version-file: go.mod
72+
cache: true
73+
cache-dependency-path: |
74+
go.sum
75+
tools/go.sum
76+
77+
- name: Test
78+
run: make test
79+
80+
lint:
81+
name: Lint
82+
runs-on: ubuntu-latest
83+
84+
steps:
85+
- name: Checkout
86+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
87+
88+
- name: Set up Go
89+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
90+
with:
91+
go-version-file: go.mod
92+
cache: true
93+
cache-dependency-path: |
94+
go.sum
95+
tools/go.sum
96+
97+
- name: Lint
98+
uses: golangci/golangci-lint-action@82606bf257cbaff209d206a39f5134f0cfbfd2ee # v9.2.1
99+
100+
terraform-format:
101+
name: Terraform Format
102+
runs-on: ubuntu-latest
103+
104+
steps:
105+
- name: Checkout
106+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
107+
108+
- name: Set up Terraform
109+
uses: hashicorp/setup-terraform@dfe3c3f87815947d99a8997f908cb6525fc44e9e # v4.0.1
110+
with:
111+
terraform_wrapper: false
112+
113+
- name: Check example formatting
114+
run: terraform fmt -check -recursive examples
115+
116+
generated-docs:
117+
name: Generated Docs
118+
runs-on: ubuntu-latest
119+
120+
steps:
121+
- name: Checkout
122+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
123+
124+
- name: Set up Go
125+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
126+
with:
127+
go-version-file: go.mod
128+
cache: true
129+
cache-dependency-path: |
130+
go.sum
131+
tools/go.sum
132+
133+
- name: Set up Terraform
134+
uses: hashicorp/setup-terraform@dfe3c3f87815947d99a8997f908cb6525fc44e9e # v4.0.1
135+
with:
136+
terraform_wrapper: false
137+
138+
- name: Check generated docs
139+
run: |
140+
make generate
141+
git diff --exit-code -- docs examples
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
12+
jobs:
13+
release-please:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0
17+
with:
18+
config-file: release-please-config.json
19+
manifest-file: .release-please-manifest.json
20+
skip-labeling: true
21+
# Prelaunch: create/update the release PR, but do not create a tag or
22+
# GitHub Release. The provider artifact release remains an explicit tag.
23+
skip-github-release: true

.github/workflows/release.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
goreleaser:
13+
runs-on: ubuntu-latest
14+
environment: publish
15+
steps:
16+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
17+
with:
18+
fetch-depth: 0
19+
20+
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
21+
with:
22+
go-version-file: go.mod
23+
cache: true
24+
25+
- name: Check publish environment secrets
26+
env:
27+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
28+
PASSPHRASE: ${{ secrets.PASSPHRASE }}
29+
run: |
30+
test -n "$GPG_PRIVATE_KEY"
31+
test -n "$PASSPHRASE"
32+
33+
- name: Import GPG key
34+
id: import_gpg
35+
uses: crazy-max/ghaction-import-gpg@2dc316deee8e90f13e1a351ab510b4d5bc0c82cd # v7.0.0
36+
with:
37+
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
38+
passphrase: ${{ secrets.PASSPHRASE }}
39+
40+
- name: Run GoReleaser
41+
uses: goreleaser/goreleaser-action@5daf1e915a5f0af01ddbcd89a43b8061ff4f1a89 # v7.2.2
42+
with:
43+
distribution: goreleaser
44+
version: v2.16.0
45+
args: release --clean
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}

.github/workflows/test.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Test
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
test:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
17+
18+
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
19+
with:
20+
go-version-file: go.mod
21+
cache: true
22+
23+
- name: Check formatting
24+
run: test -z "$(gofmt -l .)"
25+
26+
- name: Run tests
27+
run: go test -v -cover -timeout=120s -parallel=10 ./...

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.terraform/
2+
*.tfstate
3+
*.tfstate.*
4+
bin/
5+
dist/
6+
*.log
7+
.DS_Store

.golangci.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: "2"
2+
linters:
3+
default: standard
4+
formatters:
5+
enable:
6+
- gofmt

0 commit comments

Comments
 (0)