Home

Awesome

Gitter chat

Anthology, a private Terraform Registry

Description

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.

How to use

Using Docker

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

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

AWS + terraform

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!

Command line parameters

Common parameters

ParameterDescriptionAllowedDefault
--portPort to listen on1-655351234
--backendBackend to use.[memory, filesystem, s3]
--ssl.certificatePath to the server certificateAny valid path
--ssl.keyPath to the server certificateAny valid path

Filesystem backend

ParameterDescriptionAllowedDefault
--filesystem.basepathBase path for module storageAny valid path

S3 backend

ParameterDescriptionAllowedDefault
--s3.bucketName of the S3 bucket for storageAny valid s3 bucket name
--s3.endpointAlternative S3 endpointhttp[s]://[hostname]:[port]