Watches for changes to traefik acme json files and extracts certificates to a specific folder
Project description
Overview
This tool can be used to extract acme certificates (ex: lets encrupt) from traefik json files. The tool is design to watch for changes to a folder for any files that match a filespec (defaults to *,json however can be set to a specific file name) and when changes are detected it will process the file and extract any certificates that are in it to the specified output path
Installation
Python Script/Tool
Installation can be done via the python package installer tool pip
$ pip install traefik-certificate-exporter
Usage
usage: traefik-certificate-exporter [-h] [-c CONFIGFILE] [-d SETTINGS.DATAPATH] [-w] [-fs SETTINGS.FILESPEC] [-o SETTINGS.OUTPUTPATH] [--traefik-resolver-id SETTINGS.TRAEFIKRESOLVERID] [--flat] [--restart-container]
[--dry-run] [-r] [--include-resolvername-in-outputpath] [-ll {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-id [SETTINGS.DOMAINS.INCLUDE ...] | -xd [SETTINGS.DOMAINS.EXCLUDE ...]]
Extract traefik letsencrypt certificates.
options:
-h, --help show this help message and exit
-c CONFIGFILE, --config-file CONFIGFILE
the path to watch for changes (default: config.yaml)
-d SETTINGS.DATAPATH, --data-path SETTINGS.DATAPATH
the path that contains the acme json files
-w, --watch-for-changes
If specified, monitor and watch for changes to acme files
-fs SETTINGS.FILESPEC, --file-spec SETTINGS.FILESPEC
file that contains the traefik certificates
-o SETTINGS.OUTPUTPATH, --output-path SETTINGS.OUTPUTPATH
The folder to exports the certificates in to
--traefik-resolver-id SETTINGS.TRAEFIKRESOLVERID
Traefik certificate-resolver-id.
--flat If specified, all certificates into a single folder
--restart-container If specified, any container that are labeled with 'com.github.ravensorb.traefik-certificate-exporter.domain-restart=<DOMAIN>' will be restarted if the domain name of a generated certificates
matches the value of the lable. Multiple domains can be seperated by ','
--dry-run Don't write files and do not restart docker containers.
-r, --run-at-start Runs Export immediately on start (used with watch-for-changes).
--include-resolvername-in-outputpath
Added the resolvername in the path used to export the certificates (ignored if flat is specified).
-ll {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level (default: INFO)
-id [SETTINGS.DOMAINS.INCLUDE ...], --include-domains [SETTINGS.DOMAINS.INCLUDE ...]
If specified, only certificates that match domains in this list will be extracted
-xd [SETTINGS.DOMAINS.EXCLUDE ...], --exclude-domains [SETTINGS.DOMAINS.EXCLUDE ...]
If specified. certificates that match domains in this list will be ignored
Examples
Watch the letsencrypt folder for any changes to files matching acme-*.json and export any certs managed by the resolver called "resolver-http"
Script
Run it once and then exit
traefik-certificate-exporter \
-d /mnt/traefik-data/letsencrypt \
-o /mnt/certs \
-fs "acme-*.json" \
-r
Run it and watch for changes to the files
traefik-certificate-exporter \
-d /mnt/traefik-data/letsencrypt \
-o /mnt/certs \
-fs "acme-*.json"
-w
Credits
This tool is HEAVLY influenced by the excellent work of DanielHuisman and Marc Brückner
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file traefik_certificate_exporter-0.1.3.tar.gz
.
File metadata
- Download URL: traefik_certificate_exporter-0.1.3.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.10.6 Linux/5.15.0-112-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 398205e854d554096fd6ebe66e89557d3039182d303206775db6cc7ee55f5d03 |
|
MD5 | aaf446500d39f06ead02e082bec4fdb1 |
|
BLAKE2b-256 | e01d7fc5972de1bf0e0b60adf147629d7278cedf658c628c80bfb3b6bbe2b0a6 |
File details
Details for the file traefik_certificate_exporter-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: traefik_certificate_exporter-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.10.6 Linux/5.15.0-112-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f265e58ccfce525dd75189a552c90137af982b342065d4042b92d00c9998228 |
|
MD5 | 3cd39722937f7bead934fc4ce52546d8 |
|
BLAKE2b-256 | e07f795471c74828125f5cd7cd5c9627ca6f55a7bd94576ffd5e920312d2bb8f |