No description
  • Go 72.2%
  • Svelte 21%
  • TypeScript 5.5%
  • JavaScript 0.7%
  • Dockerfile 0.3%
  • Other 0.2%
Find a file
Valentin Deaconu aac0551f65
feat: add master API key configuration (#731)
feat: add master API key configuration for bootstrapping

Add --master-api-key flag that accepts a pre-shared key with full
access. Used via the X-API-Key header to bootstrap environments
without requiring web UI login. Authenticates as terralist-admin
with unrestricted access to all resources and actions.
2026-03-20 16:12:53 +02:00
.devcontainer feat: add support terraform submodules (#708) 2026-02-06 12:46:45 +02:00
.github fix(build): move tools to dedicated modfile (#729) 2026-03-18 14:08:01 +02:00
.vscode chore(build): Rework Taskfile (#556) 2025-08-25 13:00:19 +03:00
cmd/terralist feat: add master API key configuration (#731) 2026-03-20 16:12:53 +02:00
docs feat: add master API key configuration (#731) 2026-03-20 16:12:53 +02:00
e2e feat!: standalone API keys with RBAC policies (#730) 2026-03-20 16:08:38 +02:00
internal/server feat: add master API key configuration (#731) 2026-03-20 16:12:53 +02:00
pkg feat!: standalone API keys with RBAC policies (#730) 2026-03-20 16:08:38 +02:00
static feat(webui): Revamp the web UI (#94) 2023-04-21 21:57:10 +03:00
tools fix(build): move tools to dedicated modfile (#729) 2026-03-18 14:08:01 +02:00
web feat!: standalone API keys with RBAC policies (#730) 2026-03-20 16:08:38 +02:00
.gitignore fix(build): move tools to dedicated modfile (#729) 2026-03-18 14:08:01 +02:00
.go-version chore(deps): update dependency golang to v1.25.8 (#710) 2026-03-18 14:03:55 +02:00
.golangci.yml chore(deps): Upgrade golang to 1.25.2 (#618) 2025-10-11 20:26:34 +03:00
.goreleaser.yml feat!(build): Switch to pure-Go sqlite3 implementation (#362) 2024-11-27 13:05:12 +02:00
.mockery.yml feat!: Disable S3 ACLs by default (#623) 2025-10-11 22:55:09 +03:00
docker-entrypoint.sh fix(docker): Make docker-entrypoint.sh executable (#187) 2023-09-25 09:35:14 +03:00
Dockerfile chore(deps): update alpine docker tag to v3.23 (#685) 2026-02-06 13:57:41 +02:00
Dockerfile.test chore(deps): update dependency golang to v1.25.8 (#710) 2026-03-18 14:03:55 +02:00
go.mod fix(build): move tools to dedicated modfile (#729) 2026-03-18 14:08:01 +02:00
go.sum fix(build): move tools to dedicated modfile (#729) 2026-03-18 14:08:01 +02:00
LICENSE Add LICENSE (#10) 2022-07-14 11:03:25 +03:00
mkdocs.yml feat: add comprehensive Prometheus metrics and monitoring (#707) 2026-02-06 12:25:57 +02:00
README.md feat: Module documentation (#486) 2025-06-04 09:51:44 +03:00
Taskfile.yaml fix(build): move tools to dedicated modfile (#729) 2026-03-18 14:08:01 +02:00

Terralist

Latest Release

Terralist Logo

A truly private Terraform registry

About

Terralist is a private Terraform registry for providers and modules that follows the published HashiCorp protocols. It provides:

  • A secure way to distribute your confidential modules and providers;
  • A management interface to visualize artifacts (including modules documentation);

Highlights

  • Login Functionality (docs): Require a token to access the data. It is integrated with Terraform, so you can authenticate to the registry directly through Terraform:

    terraform login registry.terralist.io
    terraform logout registry.terralist.io
    

    It can also generate custom API keys for an authenticated user, which can be used in pipelines to upload and delete modules and in providers to fetch data.

  • Modules Registry: (docs) Stores modules data in a private storage (for example, an S3 bucket). When a download request is received, it calls the remote storage to generate a temporary public download URL and forwards it to the requester.

    Currently supported private storage:

    • AWS S3: uses a private S3 bucket
    • Azure Blob: uses a private Azure Storage Account
    • GCS: uses a private Google Storage bucket
    • Proxy: forwards the URL received at creation
  • Provider Registry: (docs) Similar with modules registry. Currently supported private storage:

    • AWS S3: uses a private S3 bucket
    • Azure Blob: uses a private Azure Storage Account
    • GCS: uses a private Google Storage bucket
    • Proxy: forwards the URL received at creation

Note: For Proxy storage mode, the URL management is up to you. If, for example, you are providing a git URL, then the same URL will be forwarded to the requester (Terraform).

Note: Terralist uses the same library Terraform uses to make downloads (go-getter), meaning that you can still use your favorite protocols while using Terralist. This is also an advantage for the Proxy mode users, which can use the same source that they would normally put in Terraform.

Disclaimer

This project is not meant to replace the public Terraform Registry. Its purpose is to mimic the public registry in a private environment.

Documentation

Check the official documentation on www.terralist.io.

Contributions

All contributions are welcome. If you want to contribute, open an issue or fork the repository and open a PR.