Skip to content

Commit 2b54080

Browse files
committed
docs: Updated the README.
1 parent 0c4b16a commit 2b54080

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

README.md

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Terraform/OpenTofu Provider: Core Functions
1+
# Core Functions
22

33
[![Terraform Docs](https://img.shields.io/badge/Terraform-Docs-7B42BC?style=for-the-badge)](https://registry.terraform.io/providers/northwood-labs/corefunc/latest/docs)
44
[![OpenTofu Docs](https://img.shields.io/badge/OpenTofu-Docs-FEDA15?style=for-the-badge)](https://search.opentofu.org/provider/northwood-labs/corefunc/latest)
@@ -16,39 +16,30 @@
1616

1717
## Overview
1818

19-
Utilities that should have been Terraform/OpenTofu _core functions_.
19+
Core functions with identical implementations for [Terraform], [OpenTofu], [Terratest], and other software in the so-called _Terra/Fu_ ecosystem.
2020

21-
While some of these _can_ be implemented in HCL, some of them begin to push up against the limits of Terraform and the HCL2 configuration language. We also perform testing using the [Terratest](https://terratest.gruntwork.io) framework on a regular basis. Exposing these functions as both a Go library as well as a Terraform/OpenTofu provider enables us to use the same functionality in both our Terraform/OpenTofu applies as well as while using a testing framework.
21+
While some of these _can_ be implemented in HCL, some of them begin to push up against the limits of Terraform and the HCL2 configuration language. Exposing these functions as both a Go library as well as a Terraform/OpenTofu provider enables us to use the same functionality in both our Terraform/OpenTofu applies as well as while using a testing framework.
2222

23-
> [!NOTE]
24-
> While it’s common knowledge that Terraform is great at standing up and managing Cloud infrastructure, it’s also good at running _anything with an API_. People regularly manage [code repositories], [DNS records], [feature flags], [identity and access management], [content delivery], [passwords], [monitoring], [alerts], [zero trust network access], [cryptographic signatures], and can even [order a pizza].
25-
>
26-
> This provider is more analogous to HashiCorp’s _utility_ providers such as [local], [external], and [archive].
27-
28-
Since earlier versions of Terraform/OpenTofu didn't have the concept of user-defined functions, the next step to open up the possibilities was to write a custom Provider which has the functions built-in, using existing support for inputs and outputs.
29-
30-
**This does not add new syntax or constructs.** Instead it uses the _existing_ concepts around Providers, Resources, Data Sources, Variables, Outputs, and Functions to expose new custom-built functionality.
31-
32-
The goal of this provider is not to call any APIs, but to provide pre-built functions in the form of _Data Sources_ or _Provider Functions_.
23+
The goal of this provider is not to call any network APIs, but to provide pre-built functions in the form of _Data Sources_ or _Provider Functions_.
3324

3425
## Vote for features!
3526

36-
[View the list of issues](https://github.com/northwood-labs/terraform-provider-corefunc/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc), and give a thumbs-up to the ones you'd like to see. This is how I prioritize the work.
27+
[View the list of issues](https://github.com/northwood-labs/terraform-provider-corefunc/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc), and give a thumbs-up to the ones you'd like to see. This is how we prioritize the work.
3728

3829
## Compatibility testing
3930

4031
* We have automated testing that runs on every commit and every pull request.
4132
* We intend for the Go libraries to work with all non-EOL versions of Go (i.e., current, current-1).
4233
* Built using the [Terraform Plugin Framework][TPF], which speaks [Terraform Protocol v6][tfproto6].
4334

44-
| Testing type | Details | Description |
45-
|--------------|-------------------|--------------------------------------------------------------------------------|
46-
| integration | Terraform 1.0–1.9 | Executes the provider with this release, pulling from `registry.terraform.io`. |
47-
| integration | OpenTofu 1.6–1.8 | Executes the provider with this release, pulling from `registry.opentofu.org`. |
48-
| unit | Go 1.22–1.23 | Tests using these versions. |
49-
| mutation | Go 1.22–1.23 | Tests using these versions. |
50-
| fuzz | Go 1.22–1.23 | Tests using these versions. |
51-
| terratest | Go 1.22–1.23 | Tests using these versions. |
35+
| Testing type | Details | Description |
36+
|--------------|--------------------|--------------------------------------------------------------------------------|
37+
| integration | Terraform 1.0–1.11 | Executes the provider with this release, pulling from `registry.terraform.io`. |
38+
| integration | OpenTofu 1.6–1.9 | Executes the provider with this release, pulling from `registry.opentofu.org`. |
39+
| unit | Go 1.23–1.24 | Tests using these versions. |
40+
| mutation | Go 1.23–1.24 | Tests using these versions. |
41+
| fuzz | Go 1.23–1.24 | Tests using these versions. |
42+
| terratest | Go 1.23–1.24 | Tests using these versions. |
5243

5344
## Usage Examples
5445

@@ -108,8 +99,11 @@ terraform-provider-corefunc version
10899
[identity and access management]: https://registry.terraform.io/providers/okta/okta/latest/docs
109100
[local]: https://registry.terraform.io/providers/hashicorp/local/latest/docs
110101
[monitoring]: https://registry.terraform.io/providers/DataDog/datadog/latest
102+
[OpenTofu]: https://opentofu.org
111103
[order a pizza]: https://registry.terraform.io/providers/MNThomson/dominos/latest/docs
112104
[passwords]: https://registry.terraform.io/providers/1Password/onepassword/latest/docs
105+
[Terraform]: https://terraform.io
106+
[Terratest]: https://terratest.gruntwork.io
113107
[tfproto6]: https://developer.hashicorp.com/terraform/plugin/terraform-plugin-protocol#protocol-version-6
114108
[TPF]: https://github.com/hashicorp/terraform-plugin-framework
115109
[zero trust network access]: https://registry.terraform.io/providers/zscaler/zpa/latest/docs

0 commit comments

Comments
 (0)