Dump ACME data from Traefik to certificates
Go to file
2019-04-23 22:32:48 +02:00
cmd feat(KV): support TLS. 2019-04-22 14:14:23 +02:00
docs feat(KV): support TLS. 2019-04-22 14:14:23 +02:00
dumper chore: simplify. 2019-04-22 14:14:39 +02:00
integrationtest add file case for integration test instructions & cleanup instructions (#17) 2019-04-23 22:32:48 +02:00
.dockerignore KV and commands (#8) 2019-04-20 21:56:15 +02:00
.gitignore chore: ignore binary. 2019-02-11 12:34:33 +01:00
.golangci.toml KV and commands (#8) 2019-04-20 21:56:15 +02:00
.goreleaser.yml KV and commands (#8) 2019-04-20 21:56:15 +02:00
.travis.yml chore: fix flaky CI. 2019-02-20 11:01:17 +01:00
Dockerfile KV and commands (#8) 2019-04-20 21:56:15 +02:00
go.mod feat: Support watch for file. (#15) 2019-04-22 04:28:18 +02:00
go.sum KV and commands (#8) 2019-04-20 21:56:15 +02:00
godownloader.sh chore: adds download script. 2019-04-04 21:29:26 +02:00
LICENSE chore: adds License. 2019-02-11 05:29:33 +01:00
main.go chore: prepare release v2.0.0 2019-04-20 22:24:57 +02:00
Makefile KV and commands (#8) 2019-04-20 21:56:15 +02:00
readme.md doc: adds features section. 2019-04-22 14:43:59 +02:00

traefik-certs-dumper

GitHub release Build Status Docker Information Go Report Card

Say Thanks!

Features

  • Supported sources:
    • file ("acme.json")
    • KV stores (Consul, Etcd, Zookeeper, Boltdb)
  • Watch changes:
    • from file ("acme.json")
    • from KV stores (Consul, Etcd, Zookeeper)
  • Output formats:
    • use domain as sub-directory (allow custom names and extensions)
    • flat (domain as filename)

Installation

Download / CI Integration

curl -sfL https://raw.githubusercontent.com/ldez/traefik-certs-dumper/master/godownloader.sh | bash -s -- -b $GOPATH/bin v1.5.0

From Binaries

You can use pre-compiled binaries:

  • To get the binary just download the latest release for your OS/Arch from the releases page
  • Unzip the archive.
  • Add traefik-certs-dumper in your PATH.

From Docker

docker run ldez/traefik-certs-dumper:<tag_name>

Usage

Examples

Simple Dump

$ traefik-certs-dumper file
dump
├──certs
│  └──my.domain.com.key
└──private
   ├──my.domain.com.crt
   └──letsencrypt.key

Change source and destination

$ traefik-certs-dumper file --source ./acme.json --dest ./dump/test
test
├──certs
│  └──my.domain.com.key
└──private
   ├──my.domain.com.crt
   └──letsencrypt.key

Use domain as sub-directory

$ traefik-certs-dumper file --domain-subdir=true
dump
├──my.domain.com
│  ├──certificate.crt
│  └──privatekey.key
└──private
   └──letsencrypt.key

Change file extension

$ traefik-certs-dumper file --domain-subdir=true --crt-ext=.pem --key-ext=.pem
dump
├──my.domain.com
│  ├──certificate.pem
│  └──privatekey.pem
└──private
   └──letsencrypt.key

Change file name

$ traefik-certs-dumper file --domain-subdir=true --crt-name=fullchain --key-name=privkey
dump
├──my.domain.com
│  ├──fullchain.crt
│  └──privkey.key
└──private
   └──letsencrypt.key

KV store

Consul

$ traefik-certs-dumper kv consul --endpoints localhost:8500

Etcd

$ traefik-certs-dumper kv etcd --endpoints localhost:2379

Boltdb

$ traefik-certs-dumper kv boltdb --endpoints /the/path/to/mydb.db

Zookeeper

$ traefik-certs-dumper kv zookeeper --endpoints localhost:2181