English | 中文
A private, self-hosted Terraform provider registry and mirror for internal and air-gapped networks. Veritas Registry proxies and caches providers from upstream registries, accepts manual uploads for disconnected environments, and speaks the standard Terraform Registry and Provider Network Mirror protocols.
- Private, self-hosted registry for Terraform providers and modules
- Provider mirroring with automatic proxy/cache from upstream (e.g.
registry.terraform.io) - Manual provider upload for air-gapped environments
- Terraform Registry Protocol v1 and Provider Network Mirror Protocol
- Scheduled synchronization of upstream providers
- Token-based authentication and role-based access control
- Modern web UI (React, Tailwind)
- One-command deployment with Docker Compose; Kubernetes manifests included
Requirements: Docker 20.10+, Docker Compose 2.0+, ~2 GB RAM, ~10 GB disk.
git clone https://github.com/Veritas-Calculus/vc-terraform-registry.git
cd vc-terraform-registry
cp .env.example .env
# Edit .env and set two required secrets before first boot:
# AUTH_SECRETKEY (openssl rand -base64 32) - JWT signing key
# ADMIN_PASSWORD (openssl rand -base64 24) - initial admin password
# The server refuses to start in release mode without a strong signing key,
# and refuses to create the admin account without ADMIN_PASSWORD.
docker compose up -dThen open https://localhost:3443 (self-signed certificate; accept the warning).
The Terraform CLI requires HTTPS, so use the 3443 port. Sign in as admin with
the ADMIN_PASSWORD you set.
Ports: frontend HTTPS 3443, frontend HTTP 3000, backend API 127.0.0.1:8080.
- Deployment - Docker Compose, development mode, Kubernetes, common commands
- Configuration - environment variables and storage
- API and Terraform CLI - REST API, registry protocol, CLI configuration
- Provider mirror - mirroring, network mirror, popular providers
- Security - security posture, audit status, hardening guidance
- Packer integration (design) - research and design for Packer plugin distribution
Backend: Go 1.25, Gin, GORM, SQLite, JWT. Frontend: React 19, Vite 8, Tailwind CSS 4, React Router 8.
Issues and pull requests are welcome. Fork the repository, create a feature
branch, and open a pull request against main.
MIT. See LICENSE.