Skip to content

Commit 6f1057e

Browse files
committed
build: Get licensing in order.
1 parent 52540b8 commit 6f1057e

24 files changed

+632
-55
lines changed

.licensei.cache

+224
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
2+
[[dependencies]]
3+
confidence = 1.0
4+
license = "MIT"
5+
name = "github.com/xo/terminfo"
6+
revision = "v0.0.0-20220910002029-abceb7e1c41e"
7+
type = "gomod"
8+
9+
[[dependencies]]
10+
confidence = 1.0
11+
license = "MIT"
12+
name = "github.com/gookit/color"
13+
revision = "v1.5.4"
14+
type = "gomod"
15+
16+
[[dependencies]]
17+
confidence = 1.0
18+
license = "BSD-2-Clause"
19+
name = "github.com/vmihailenco/msgpack/v5"
20+
revision = "v5.3.5"
21+
type = "gomod"
22+
23+
[[dependencies]]
24+
confidence = 1.0
25+
license = "BSD-2-Clause"
26+
name = "github.com/vmihailenco/tagparser/v2"
27+
revision = "v2.0.0"
28+
type = "gomod"
29+
30+
[[dependencies]]
31+
confidence = 1.0
32+
license = "MPL-2.0"
33+
name = "github.com/hashicorp/terraform-plugin-go"
34+
revision = "v0.19.0"
35+
type = "gomod"
36+
37+
[[dependencies]]
38+
confidence = 1.0
39+
license = "MPL-2.0"
40+
name = "github.com/hashicorp/terraform-plugin-framework"
41+
revision = "v1.4.0"
42+
type = "gomod"
43+
44+
[[dependencies]]
45+
confidence = 1.0
46+
license = "BSD-3-Clause"
47+
name = "golang.org/x/sys"
48+
revision = "v0.12.0"
49+
type = "gomod"
50+
51+
[[dependencies]]
52+
confidence = 1.0
53+
license = "MIT"
54+
name = "github.com/mattn/go-isatty"
55+
revision = "v0.0.19"
56+
type = "gomod"
57+
58+
[[dependencies]]
59+
confidence = 1.0
60+
license = "MIT"
61+
name = "github.com/mattn/go-colorable"
62+
revision = "v0.1.13"
63+
type = "gomod"
64+
65+
[[dependencies]]
66+
confidence = 1.0
67+
license = "MIT"
68+
name = "github.com/fatih/color"
69+
revision = "v1.15.0"
70+
type = "gomod"
71+
72+
[[dependencies]]
73+
confidence = 1.0
74+
license = "MIT"
75+
name = "github.com/hashicorp/go-hclog"
76+
revision = "v1.5.0"
77+
type = "gomod"
78+
79+
[[dependencies]]
80+
confidence = 1.0
81+
license = "MPL-2.0"
82+
name = "github.com/hashicorp/terraform-plugin-log"
83+
revision = "v0.9.0"
84+
type = "gomod"
85+
86+
[[dependencies]]
87+
confidence = 1.0
88+
license = "MIT"
89+
name = "github.com/mitchellh/go-testing-interface"
90+
revision = "v1.14.1"
91+
type = "gomod"
92+
93+
[[dependencies]]
94+
confidence = 0.0
95+
license = ""
96+
name = "google.golang.org/protobuf"
97+
revision = "v1.31.0"
98+
type = "gomod"
99+
100+
[[dependencies]]
101+
confidence = 1.0
102+
license = "BSD-3-Clause"
103+
name = "github.com/golang/protobuf"
104+
revision = "v1.5.3"
105+
type = "gomod"
106+
107+
[[dependencies]]
108+
confidence = 1.0
109+
license = "MPL-2.0"
110+
name = "github.com/hashicorp/go-plugin"
111+
revision = "v1.5.1"
112+
type = "gomod"
113+
114+
[[dependencies]]
115+
confidence = 1.0
116+
license = "BSD-3-Clause"
117+
name = "golang.org/x/net"
118+
revision = "v0.15.0"
119+
type = "gomod"
120+
121+
[[dependencies]]
122+
confidence = 1.0
123+
license = "Apache-2.0"
124+
name = "google.golang.org/grpc"
125+
revision = "v1.58.0"
126+
type = "gomod"
127+
128+
[[dependencies]]
129+
confidence = 1.0
130+
license = "Apache-2.0"
131+
name = "google.golang.org/genproto/googleapis/rpc"
132+
revision = "v0.0.0-20230913181813-007df8e322eb"
133+
type = "gomod"
134+
135+
[[dependencies]]
136+
confidence = 1.0
137+
license = "BSD-3-Clause"
138+
name = "golang.org/x/text"
139+
revision = "v0.13.0"
140+
type = "gomod"
141+
142+
[[dependencies]]
143+
confidence = 1.0
144+
license = "MPL-2.0"
145+
name = "github.com/hashicorp/yamux"
146+
revision = "v0.1.1"
147+
type = "gomod"
148+
149+
[[dependencies]]
150+
confidence = 1.0
151+
license = "Apache-2.0"
152+
name = "github.com/oklog/run"
153+
revision = "v1.1.0"
154+
type = "gomod"
155+
156+
[[dependencies]]
157+
confidence = 1.0
158+
license = "MPL-2.0"
159+
name = "github.com/hashicorp/go-uuid"
160+
revision = "v1.0.3"
161+
type = "gomod"
162+
163+
[[dependencies]]
164+
confidence = 1.0
165+
license = "MPL-2.0"
166+
name = "github.com/hashicorp/terraform-svchost"
167+
revision = "v0.1.1"
168+
type = "gomod"
169+
170+
[[dependencies]]
171+
confidence = 1.0
172+
license = "MPL-2.0"
173+
name = "github.com/hashicorp/terraform-registry-address"
174+
revision = "v0.2.2"
175+
type = "gomod"
176+
177+
[[dependencies]]
178+
confidence = 1.0
179+
license = "MIT"
180+
name = "github.com/northwood-labs/golang-utils/archstring"
181+
revision = "v0.0.0-20230302161720-ec685e2f274a"
182+
type = "gomod"
183+
184+
[[dependencies]]
185+
confidence = 1.0
186+
license = "BSD-2-Clause"
187+
name = "github.com/pkg/errors"
188+
revision = "v0.9.1"
189+
type = "gomod"
190+
191+
[[dependencies]]
192+
confidence = 1.0
193+
license = "MIT"
194+
name = "github.com/northwood-labs/golang-utils/exiterrorf"
195+
revision = "v0.0.0-20230302161720-ec685e2f274a"
196+
type = "gomod"
197+
198+
[[dependencies]]
199+
confidence = 1.0
200+
license = "MPL-2.0"
201+
name = "github.com/hashicorp/terraform-plugin-framework-validators"
202+
revision = "v0.12.0"
203+
type = "gomod"
204+
205+
[[dependencies]]
206+
confidence = 1.0
207+
license = "MIT"
208+
name = "github.com/lithammer/dedent"
209+
revision = "v1.1.0"
210+
type = "gomod"
211+
212+
[[dependencies]]
213+
confidence = 1.0
214+
license = "BSD-3-Clause"
215+
name = "github.com/spf13/pflag"
216+
revision = "v1.0.5"
217+
type = "gomod"
218+
219+
[[dependencies]]
220+
confidence = 1.0
221+
license = "Apache-2.0"
222+
name = "github.com/spf13/cobra"
223+
revision = "v1.7.0"
224+
type = "gomod"

.licensei.toml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
approved = [
2+
'apache-2.0',
3+
'bsd-2-clause',
4+
'bsd-3-clause',
5+
'isc',
6+
'mpl-2.0',
7+
'mit',
8+
]
9+
10+
ignored = ['google.golang.org/protobuf']
11+
12+
[header]
13+
template = """// Copyright 2023, Ryan Parman
14+
//
15+
// Licensed under the Apache License, Version 2.0 (the \"License\");
16+
// you may not use this file except in compliance with the License.
17+
// You may obtain a copy of the License at
18+
//
19+
// http://www.apache.org/licenses/LICENSE-2.0
20+
//
21+
// Unless required by applicable law or agreed to in writing, software
22+
// distributed under the License is distributed on an \"AS IS\" BASIS,
23+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24+
// See the License for the specific language governing permissions and
25+
// limitations under the License."""

.tfsec.yml

-4
This file was deleted.

CONTRIBUTING.md

+66-10
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ The majority of development is done on macOS, so we have some helpers set-up to
5353
| `style` | Changes that do not affect the meaning of the code (whitespace, formatting, etc.). |
5454
| `test` | Adding missing tests or correcting existing tests, benchmarks, fuzzing, etc. |
5555
56+
<!-- Code of Conduct? -->
57+
5658
## Contributing a code change
5759
5860
In order to contribute a code change, you should fork the repository, make your changes, and then submit a pull request. Crucially, all code changes should be preceded by an issue that you've been assigned to. If an issue for the change you'd like to introduce already exists, please communicate in the issue that you'd like to take ownership of it. If an issue doesn't yet exist, please create one expressing your interest in working on it and discuss it first, prior to working on the code. Code changes without a related issue will generally be rejected.
@@ -71,15 +73,12 @@ Git has a built-in flag to append this line automatically:
7173
git commit -s -m 'This is my commit message'
7274
```
7375
74-
You can find more details about the DCO checker in the [DCO app repo](https://github.com/dcoapp/app).
76+
You can find more details about the _Developer Certificate of Origin_ checker in the [DCO app repo](https://github.com/dcoapp/app).
7577
76-
Additionally, please update [the changelog](CHANGELOG.md) if you're making any user-facing changes.
78+
<!-- https://cla-assistant.io? -->
7779
7880
## Build provider from source
7981
80-
> [!IMPORTANT]
81-
> You probably want **"Install provider (as a user)"** instead.
82-
8382
This will build the provider for the current OS and CPU architecture, and install it into your Go binary path.
8483
8584
1. Clone this Git repository.
@@ -216,7 +215,7 @@ make bench
216215
Benchmark files are timestamped, so you can compare benchmark results across runs. See [benchstat documentation](https://pkg.go.dev/golang.org/x/perf/cmd/benchstat) to understand how to most effectively slice the results.
217216

218217
> [!NOTE]
219-
> If you put old before new, values in the right-most column represent the size of the decrease (negative values are better). If you reverse them and push new before old, values in the right-most column represent the size of the increase (positive values are better).
218+
> If you put old (previous) before new (current), values in the right-most column represent the size of the decrease (negative values are better). If you reverse them and push new (current) before old (previous), values in the right-most column represent the size of the increase (positive values are better).
220219

221220
```bash
222221
benchstat Current=__bench-{new}.out Previous=__bench-{old}.out
@@ -313,22 +312,23 @@ make docs-serve
313312
314313
## Running the debugger
315314
316-
> **IMPORTANT:** At present, we only provide support for debugging in VSCode. Debugging through other tools may work, but they are untested.
315+
> [!IMPORTANT]
316+
> At present, we only provide support for debugging in VS Code. Debugging through other tools may work, but they are untested.
317317
318-
If you are unfamiliar with using VSCode's debugging functionality for Go, see:
318+
If you are unfamiliar with using VS Code's debugging functionality for Go, see:
319319

320320
* <https://code.visualstudio.com/docs/editor/debugging>
321321
* <https://github.com/golang/vscode-go/blob/master/docs/debugging.md>
322322

323323
To enable debugging for this Terraform provider:
324324

325-
1. In VSCode, open the extension pane for _Run and Debug_.
325+
1. In VS Code, open the extension pane for _Run and Debug_.
326326

327327
1. At the top of the pane, select _Debug Terraform Provider_ from the pulldown menu, then click the _Play_ icon (sideways triangle). The bottom statusbar will change color.
328328

329329
1. If the console does not open automatically, you can open it with `⌘ ⇧ P`, search for "debug", and select _Debug Console: Focus on Debug Console View_.
330330

331-
1. In the VSCode console, there will be a line of code that begins with `TF_REATTACH_PROVIDERS=` and then a JSON string. Copy the entire line, paste it into your Terminal, and **prefix** the command with the `export` keyword.
331+
1. In the VS Code console, there will be a line of code that begins with `TF_REATTACH_PROVIDERS=` and then a JSON string. Copy the entire line, paste it into your Terminal, and **prefix** the command with the `export` keyword.
332332

333333
```bash
334334
export TF_REATTACH_PROVIDERS='{"@TODO":…}'
@@ -353,3 +353,59 @@ To enable debugging for this Terraform provider:
353353
```bash
354354
unset TF_REATTACH_PROVIDERS
355355
```
356+
357+
## Code
358+
359+
### Dotfiles
360+
361+
| File | Description |
362+
|----------------------|------------------------------------------------------------------------------------------------------------------------------------|
363+
| `.github/` | GitHub repository project files. |
364+
| `.vscode/` | Standard configurations for VS Code users. (This is not the same as `.idea/` folders for JetBrains IDEs. This is actually useful.) |
365+
| `.dcignore` | Configuration file for the [Snyk IDE Extension]. |
366+
| `.editorconfig` | Configuration file for [EditorConfig]. |
367+
| `.gitattributes` | Configuration file for Git. Helps ensure that file types are processed appropriately. |
368+
| `.gitignore` | Configuration file for Git. Helps determine which files should be ignored by Git. |
369+
| `.golangci.yml` | Configuration file for [golangci-lint]. Helps ensure a high level of Go code quality. |
370+
| `.goreleaser.yml` | Configuration file for [GoReleaser]. |
371+
| `.markdownlint.json` | Configuration file for [Markdownlint]. |
372+
| `.tflint.hcl` | Configuration file for [tflint]. |
373+
| `.yamllint` | Configuration file for [yamllint]. |
374+
375+
### Project files
376+
377+
| File | Description |
378+
|------------------------------------|---------------------------------------------------------------------------|
379+
| `CHANGELOG.md` | The file containing the list of changes in each versionb of the software. |
380+
| `CONTRIBUTING.md` | This document. |
381+
| `find-go-bin.sh*` | Helps discover where installed Go executables live. |
382+
| `LICENSE` | The license for this project. |
383+
| `Makefile` | A list of repeatable tasks used for managing this project. |
384+
| `README.md` | User-facing documentation for the project. |
385+
| `terraform-registry-manifest.json` | A file that is required by the Terraform Registry. |
386+
| `VERSION` | The version of the release of the software. |
387+
388+
### Source code
389+
390+
| File | Description |
391+
|---------------------|------------------------------------------------------------------------------------------------------------------------|
392+
| `cmd/` | This provider also has a couple of subcommands. These are implemented using [Cobra]. |
393+
| `corefunc/` | The core Go library we provide to users. All core functionality is exposed through this library first. |
394+
| `corefuncprovider/` | The files which wrap the methods from the Go library as Terraform data sources. |
395+
| `docs/` | These are auto-generated from the `corefuncprovider/` files. |
396+
| `examples/` | These are HCL examples which implement the data sources, are used for real tests, and as examples used in the `docs/`. |
397+
| `templates/` | These are the templates used by the `tfplugindocs` app. |
398+
| `testfixtures/` | Fixtures used by the test suites for both the Go tests, as well as the Terraform tests. |
399+
| `tools/` | Includes the libraries that are part of the build process, but not part of the application. |
400+
| `go.mod` | Go modules definition. |
401+
| `go.sum` | Go modules checksums. |
402+
| `main.go` | Bootstraps the application binary. |
403+
404+
[Cobra]: https://cobra.dev
405+
[EditorConfig]: https://editorconfig.org
406+
[golangci-lint]: https://golangci-lint.run
407+
[GoReleaser]: https://goreleaser.com
408+
[Markdownlint]: https://www.npmjs.com/package/markdownlint-cli
409+
[Snyk IDE Extension]: https://docs.snyk.io/integrations/ide-tools/visual-studio-code-extension
410+
[tflint]: https://github.com/terraform-linters/tflint
411+
[yamllint]: https://github.com/adrienverge/yamllint

0 commit comments

Comments
 (0)