A private Terraform registry implementation with modular backends for hosting modules and providers.
Terraform Registry is an open-source implementation of the Terraform registry protocol that allows organizations to host their own private registry for Terraform modules and providers. It solves the problem of securely distributing and managing internal Terraform modules and providers without relying on public registries. The project supports modular store backends like GitHub and S3 for flexible integration with existing infrastructure.
DevOps engineers, platform teams, and organizations using Terraform who need to maintain private module and provider registries for internal infrastructure code.
It provides a fully customizable private registry that integrates with existing version control and storage systems, offering greater control and security over infrastructure code distribution compared to public registries.
A private Terraform registry with modular store backends.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports GitHub and S3 stores, enabling seamless integration with existing infrastructure like version control and cloud storage, as detailed in the README's store configurations.
Implements the full providers.v1 protocol, allowing private hosting of Terraform providers compatible with CLI v0.13+, including verification steps for GitHub releases.
Offers optional HTTP bearer token authentication for securing endpoints, with additional store-specific auth schemes and environment variable controls for downloads.
Can be run natively or via Docker, with extensive configuration options for logging, TLS, and environment variables, making deployment flexible across environments.
The login.v1 protocol is marked as not implemented in the features list, limiting advanced authentication integrations that some teams might need for seamless workflows.
APIs are not stable and may introduce breaking changes in minor versions before v1, as noted in the README warning, posing a risk for production deployments.
S3 store only supports modules.v1, not providers.v1, as shown in the stores table, making it unsuitable for provider distribution via S3 without additional workarounds.
Stores do not verify if repositories or S3 objects contain valid Terraform modules, relying entirely on client-side validation, which could lead to deployment errors.