This commit is contained in:
Fernandez Ludovic 2021-11-22 22:56:56 +01:00
parent 28a60c7fc8
commit 50df102ec8

View File

@ -131,6 +131,40 @@ dump
└──letsencrypt.key
```
## Hook
Hook can be a one liner passed as a string, or a file for more complex post-hook scenarios.
For the former, create a file (ex: `hook.sh`) and mount it, then pass `sh hooksh` as a parameter to `--post-hook`.
Here is a docker-compose example:
```yml
version: '3.7'
services:
# ...
traefik-certs-dumper:
image: ldez/traefik-certs-dumper:v2.7.4
container_name: traefik-certs-dumper
entrypoint: sh -c '
apk add jq
; while ! [ -e /data/acme.json ]
|| ! [ `jq ".[] | .Certificates | length" /data/acme.json` != 0 ]; do
sleep 1
; done
&& traefik-certs-dumper file --version v2 --watch
--source /data/acme.json --dest /data/certs
--post-hook "sh /hook.sh"'
labels:
traefik.enable: false
volumes:
- ./letsencrypt:/data
- ./hook.sh:/hook.sh
# ...
```
### KV store
#### Consul
@ -156,29 +190,3 @@ $ traefik-certs-dumper kv boltdb --endpoints /the/path/to/mydb.db
```console
$ traefik-certs-dumper kv zookeeper --endpoints localhost:2181
```
## Hook example
Hook can be a one liner passed as a string, or a file for more complex post-hook scenarios. For the former, create a file hook.sh and mount it, then pass "sh hooksh" as a parameter to --post-hook.
Here is a docker-compose example:
```console
traefik-certs-dumper:
image: ldez/traefik-certs-dumper:v2.7.0
container_name: traefik-certs-dumper
entrypoint: sh -c '
apk add jq
; while ! [ -e /data/acme.json ]
|| ! [ `jq ".[] | .Certificates | length" /data/acme.json` != 0 ]; do
sleep 1
; done
&& ls /data/certs/chat.talbot.audio
&& traefik-certs-dumper file --version v2 --domain-subdir --crt-ext=.pem --key-ext=.pem --watch --source /data/acme.json --dest /data/certs/ --post-hook "sh /traefik-certs-dumper/hook.sh"'
labels:
- "traefik.enable=false"
volumes:
- "./letsencrypt-data:/data"
- "./traefik-certs-dumper-data:/traefik-certs-dumper"
- "./out-data:/out-data"
```