Skip to main content

Provider Registry

warning

Provider Registry is currently pending release and will be available soon!

The Harness IaCM Provider Registry allows you to securely publish and distribute custom providersAn OpenTofu or Terraform provider built and maintained by your organization, usually for internal APIs or services not available in the public registry.. Providers are signed with GPG keysA cryptographic key used to verify the authenticity and integrity of files. In this case, it ensures provider binaries have not been tampered with., compiled as binary filesExecutable program files produced after compiling source code (for example, Go or Java). OpenTofu or Terraform uses these binaries to interact with your infrastructure. for multiple platformsSupported platforms include Darwin/macOS (arm64, amd64), Linux (amd64), and Windows (amd64)., and made available for use in OpenTofu or Terraform configurations.

  • Found under IaCM > Registry (alongside Module Registry and GPG Keys).
  • Providers are published as compiled binaries for supported operating systems like macOS, Linux, or Windows.
  • GPG keys are required to sign provider binaries for verification.
Example use case

A DevOps team creates a custom provider to integrate OpenTofu with their internal APIs.
By publishing it in the Provider Registry, developers across macOS, Linux, and Windows can seamlessly consume the provider during tofu init without manually managing binaries.


Prerequisites

Before you begin, make sure you have:

  1. Access and permissions to IaCM and the Registry area in your Harness project.
  2. A local build environment to compile your provider into platform-specific binaries (for example, Go or Java toolchains).
  3. GPG tooling installed on your machine.

Provider Preparation

Provider Registry assumes that your binaries are already signed with a GPG key. If you need to generate one, you can use the industry standard GPG commands shown below.

GPG Key Setup

GPG keys are required to sign provider binaries before publishing.

Required values
  • Name
  • Key ID
  • ASCII armored public key

Follow the three steps below to generate a GPG key:

gpg --full-generate-key

If you need more information on how to generate GPG Keys, go to Generating a new GPG key for full instructions.

Add your GPG key to IaCM

  1. Go to IaCM > Registry > GPG Keys
  2. Click New GPG Key
  3. Enter the Name, Key ID, and ASCII armored public key as generated in the previous steps above.
  4. Click Save

File Requirements

Each provider version requires the following artifacts:

  • Compiled binaries for each supported OS/architecture.
  • A SHA256SUMS checksum file.
  • A SHA256SUMS.sig signature file.
shasum -a 256 * > SHA256SUMS

Provider Registration


Use Published Providers

Once published, providers can be consumed directly in Tofu/Terraform configuration:

For example:

terraform {
required_providers {
<provider-name> = {
source = "<provider-name>.app.harness.io/account/<harness-account-id>/<provider-name>"
version = "1.0.0"
}
}
}
provider "<provider-name>" {
# Configuration options
}

When you run the initOpenTofu/Terraform command used to initialize a configuration. It downloads and configures providers, modules, and other dependencies. command, OpenTofu/Terraform will automatically pull the correct binary for your operating system.


Troubleshooting

  • Version mismatches: Versions in your binary filenames must match the registry version exactly (e.g., 1.0.0 vs 1.0.1).
  • Missing files: Publishing requires all binaries, checksum, and signature files.

Next Steps

Explore other reusable features in IaCM: