Registry proxy server for Hashicorp Terraform.
If you have HTTP file server with some terraform providers and directory structure like this: https://somedomain.com/terraform-provider-vault/3.3.1/terraform-provider-vault_3.3.1_linux_amd64.zip , using this software you can convert it to a terraform network mirror that uses the protocol described here - https://www.terraform.io/internals/provider-network-mirror-protocol.
You'll have to define routes in
config.yaml to setup mapping according to your server catalog structure.
By default this proxy configured to act as a terraform network mirror, but if you comment out
routes it will act as http file server for directory defined in
According to the mirror specification protocol the content must be served over HTTPS. To meet this requirement you can create self-signed certificates using
setup-ssl-certificates.sh, but this proxy can also run as HTTP server.
To configure caching of generated JSON files to speed up performance, a caching proxy with SSL termination (such as nginx) can be set up in front of this server. Note that by default this proxy runs on either 80 or 443 port which are priveleged ports.
|--config-file, -c||config.yaml||server configuration file path|
|--directory, -d||files||directory to serve|
|--host, -H||localhost||server host|
|--port, -p||80||server port|
|--ssl-check-hostname||False||enable hostname checking|
|--ssl-server-cert||server-cert.pem||server certificate file|
|--ssl-server-cert-key||server-key.pem||server certificate key file|