env zero Provider Registry
The env zero Provider Registry is a private registry for Terraform providers, allowing you to privately share and reuse Terraform providers within your organization. You can access your organization’s provider registry through theRegistry link in the left sidebar, and choosing the Providers tab:

Publishing A Provider
NOTEThis guide assumes you already have a provider set up, preferably with
goreleaser.Creating A Provider
As an env zero admin (or with a custom role with theCreate & Edit Providers permission), you should have permission to create a provider.
Navigate to Registry on the navigation bar, and click the Providers tab. There you will see the Create New Provider button:

Provider’s typeYour provider’s type is essentially its name, and should match your provider’s files. For example, if your binaries look like
terraform-provider-aws_1.1.1_linux_amd64.zip, then your provider’s type should be aws.NoteYour binaries’ names should match this format -
<type>_<semver>_<anything>_<you>_<want>.zip, like the example above terraform-provider-aws_1.1.1_linux_amd64.zipCreating A GPG Key
Terraform uses GPG keys in order to authenticate the identity of the entity that complied and signed the binaries of the provider.Normally, when creating a release, you should provide goreleaser with your GPG_FINGERPRINT, which should also be set on env zero. For more information regarding how to generate your GPG Key, check out GitHub’s guide. Once you have your key generated, you’ll need to create it on env zero. Navigate to
Organization Settings > Keys and scroll down to GPG Keys. You will see the Add GPG Key button:

GPG Key IDGPG Key ID is referring to the GPG_FINGERPRINT, the same one you provided
goreleaser with. its a 16 charecters hexadecimal string, that is calculated by summerizing your key content, and it should be unique per key.Releasing A Version
As part of your CI you should have a version releaser setup. Terraform recommends usinggoreleaser, and so do we. You can make sure your .goreleaser file is configured correctly following this guide by Terraform
Assuming you have a version complied and ready to ship, you will need to upload the binaries you wish to support.
Creating A Version
The first step on the release is creating a version in env zero, following the Version API Reference.Uploading A Version
If creating a version was done correctly, you will receive a URL (valid for 1 hour) to which you can upload yourzip, SHA256SUMS and SHA256SUMS.sig files. Note that for each file type you will need a specific content-type header:
zip-application/zipSHA256SUMS-application/octet-streamSHA256SUMS.sig-application/pgp-signature
cURL request:
To watch your provider’s versions, navigate to its page on env zero by clicking its card.

Platforms tab will show you the supported binaries.

Using A Provider
Now that your provider is set up every user in your organization with theView Providers permission (available by default to organization user) can start using it from within env zero, or outside of it.
Set up the provider in your Terraform file by copying and pasting the following block.