Before you begin, read through some of the Terraform documentation on Extending Terraform and Writing Custom Providers.
Finally the HashiCorp Provider Design Principles explore the underlying principles for the design choices of this provider.
To work on the provider, you'll need Go installed on your machine (version 1.10+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin
to your $PATH
.
To compile the provider, run make build
. This will build the provider and install the provider binary in the $GOPATH/bin
directory.
$ make build
...
$ $GOPATH/bin/terraform-provider-auth0
...
In order to test the provider, you can simply run make test
.
$ make test
In order to run the full suite of Acceptance tests, the following environment variables must be set:
AUTH0_DOMAIN=<your-auth0-tenant-domain>
AUTH0_CLIENT_ID=<your-auth0-client-id>
AUTH0_CLIENT_SECRET=<your-auth0-client-secret>
Then, run make testacc
.
Note: The acceptance tests make calls to a real Auth0 tenant, and create real resources. Certain tests, for example
for custom domains (TestAccCustomDomain
), also require a paid Auth0 subscription to be able to run successfully.
Note: At the time of writing, the following configuration steps are also required for the test tenant:
- The
Username-Password-Authentication
connection must have Requires Username option enabled for the user tests to successfully run.
The Auth0 provider folloows the Versioning and Changelog guidelines from HashiCorp.
Prepare for the release by updating the CHANGELOG.
To publish a new version, create a new git tag and push it.
git tag -a vX.Y.Z
git push origin vX.Y.Z
This will trigger the Release GitHub Action which creates a new release.