Anthology is a reimplementation of the Terraform Registry API, intended to be used when your modules can't, shouldn't or don't need to be public. For all means and purposes it works in the same way as the public registry.
Every release is automatically published to the Docker Hub. You can set commandline parameters by overriding the command.
running on port 80
, using my-module-bucket
for storage:
docker run -p 80:80 erikvanbrakel/anthology --port=80 --backend=s3 --s3.bucket=my-module-bucket
-
@todo - integrate mino storage for on-prem. implementation: stubbed in compose.
-
@todo - implement LetsEncrypt: https://letsencrypt.org/docs/staging-environment/ script the centos version: https://certbot.eff.org/lets-encrypt/centosrhel7-other | https://github.com/geerlingguy/ansible-role-certbot (apache r-proxy w/ vhost, nginx)
docker pull minio/mc
See also: https://github.com/rmb938/tf-registry/blob/master/hack/docker-compose.yaml
using docker-compose
version: '2.1'
services:
registry:
command: --port=80 --backend=s3 --s3.bucket=my-module-bucket
build: erikvanbrakel/anthology:latest
ports:
- 80:80
The easiest way to deploy is to use the anthology module in the public registry.
module "anthology" {
source = "erikvanbrakel/anthology/aws"
version = "0.0.2"
storage_bucket = "this-bucket-stores-my-modules"
tld = "example.com" # the registry will be hosted at registry.example.com
}
WARNING WARNING WARNING
This module provisions several resources, among which compute and storage components. This is not free, so make sure you are aware of the cost before provisioning!
Parameter | Description | Allowed | Default |
---|---|---|---|
--port | Port to listen on | 1-65535 | 1234 |
--backend | Backend to use. | [memory, filesystem, s3] | |
--ssl.certificate | Path to the server certificate | Any valid path | |
--ssl.key | Path to the server certificate | Any valid path |
Parameter | Description | Allowed | Default |
---|---|---|---|
--filesystem.basepath | Base path for module storage | Any valid path |
Parameter | Description | Allowed | Default |
---|---|---|---|
--s3.bucket | Name of the S3 bucket for storage | Any valid s3 bucket name | |
--s3.endpoint | Alternative S3 endpoint | http[s]://[hostname]:[port] |
Parameter | Description | Allowed | Default |
---|---|---|---|
--s3mino.bucket | Name of the S3 Mino bucket for storage | Any valid s3 Mino bucket name | |
--s3mino.endpoint | Alternative S3 Mino endpoint | http[s]://[hostname]:[port] |