• Stars
    star
    118
  • Rank 299,923 (Top 6 %)
  • Language
    Go
  • License
    MIT License
  • Created over 6 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A private Terraform registry implementation as an alternative to the official registry.

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

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

Filesystem backend

Parameter Description Allowed Default
--filesystem.basepath Base path for module storage Any valid path

S3 backend

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]