https://github.com/terralist/terralist
Terraform Private Registry for modules and providers manageable from a REST API
https://github.com/terralist/terralist
private-registry registry terraform terraform-login terraform-module terraform-provider
Last synced: 26 days ago
JSON representation
Terraform Private Registry for modules and providers manageable from a REST API
- Host: GitHub
- URL: https://github.com/terralist/terralist
- Owner: terralist
- License: mpl-2.0
- Created: 2022-01-03T08:11:35.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2026-03-30T09:33:47.000Z (28 days ago)
- Last Synced: 2026-03-30T09:35:24.308Z (28 days ago)
- Topics: private-registry, registry, terraform, terraform-login, terraform-module, terraform-provider
- Language: Go
- Homepage: http://www.terralist.io/
- Size: 3.08 MB
- Stars: 478
- Watchers: 10
- Forks: 45
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-opentofu - terralist - Private registry for providers and modules. (Tools / Registry)
- awesome-platform-engineering - terralist - Terraform Private Registry for modules and providers manageable from a REST API (Linting / Terraform)
- awesome-tf - terralist - Terraform Private Registry for modules and providers manageable from a REST API. (Self-Hosted Registries / Miscellaneous)
README
Terralist
A private Terraform/OpenTofu registry for modules and providers
---
[](https://github.com/terralist/terralist/releases/latest) [](https://github.com/terralist/terralist/actions/workflows/test.yml) [](https://go.dev/) [](https://opensource.org/licenses/MPL-2.0)
Terralist implements the [Terraform registry protocols](https://developer.hashicorp.com/terraform/internals/module-registry-protocol) and gives you a private, self-hosted registry with a web dashboard, RBAC, and support for multiple storage backends.
## Features
- **Private module and provider registry**: upload, version, and distribute Terraform/OpenTofu modules and providers within your organization
- **Web dashboard**: browse artifacts, view documentation, and manage authorities and API keys
- **RBAC**: fine-grained access control with built-in roles (`admin`, `readonly`, `anonymous`) and custom policies via [Casbin](https://casbin.org/)
- **Multiple OAuth providers**: authenticate via GitHub, GitLab, BitBucket, or any OIDC-compatible provider
- **API keys with scoped policies**: create API keys for CI/CD with per-key RBAC policies and organizational scopes
- **Storage backends**: store artifacts in AWS S3, Azure Blob, Google Cloud Storage, local filesystem, or proxy mode
- **Prometheus metrics**: monitor uploads, downloads, API key usage, storage operations, and HTTP request latency
- **Single binary**: no external dependencies, runs anywhere Go compiles to
## Quick start
```bash
# Download the latest release
curl -sL "https://github.com/terralist/terralist/releases/latest/download/terralist_$(go env GOOS)_$(go env GOARCH).zip" -o terralist.zip
unzip terralist.zip
# Create a minimal config
cat > config.yaml <