Skip to content
Snippets Groups Projects
Verified Commit a6f1e37c authored by Quentin Duchemin's avatar Quentin Duchemin
Browse files

[TLSCertsMonitor] Add service

parent 8ca3d341
No related branches found
No related tags found
No related merge requests found
Pipeline #60117 waiting for manual action
FROM alpine:3.9
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN apk add --no-cache python3 && \
python3 -m ensurepip && \
rm -r /usr/lib/python*/ensurepip && \
pip3 install --upgrade pip setuptools -r requirements.txt && \
rm -r /root/.cache \
&& mkdir /certs
ENV acme_file "/certs/acme.json"
ENV cert_root "/output"
ENV log_level "INFO"
COPY app/*.py ./
ENTRYPOINT python3 ./tls_certs_monitor.py --acme-file=${acme_file} --output-dir=${cert_root} --loglevel=${log_level}
# TLS Certs Monitor
## Explication
[TLS Certs Monitor](https://gitlab.utc.fr/picasoft/projets/tls-cert-monitor) est un outil permettant de faciliter la génération de certificats pour les services non-HTTPS.
En effet, notre reverse-proxy Traefik génère automatiquement des certificats pour chaque service indiquant le bon label dans le Docker Compose. En revanche, dans la version que nous utilisons, ce n'est qu'un reverse-proxy HTTP/HTTPS (web), il ne peut pas servir de frontend pour d'autres services TCP, comme le serveur LDAP, le serveur mail, une base de donnée, etc.
En revanche, sa facilité à générer des certificats et surtout le désir de centralisation de la gestion des certificats a poussé le développement de cet outil, qui évite de mettre en place un `certbot` par service, par exemple.
Basiquement, il va extraire les certificats générés par Traefik et les mettre à disposition des services.
La documentation complète est disponible [ici](https://gitlab.utc.fr/picasoft/projets/tls-cert-monitor)
## Déploiement
Il n'y a pas de configuration spécifique à ce service ; la configuration se fait sur les services supervisés. Il suffit de déployer ce conteneur avec un `docker-compose up -d` sur tous les hôtes souhaités (*i.e.* qui contiennent des services non-HTTPS qui ont besoin de certificats ; `monitoring` est le premier candidat avec le serveur mail et le serveur LDAP)
## Mise à jour
Il suffit de mettre à jour la variable d'environnement `TLS_CERTS_MONITOR_VERSION` dans le Dockerfile, quand une nouvelle release (tag) apparaît sur le dépôt.
generalwhitelist:
version: '3.7'
services:
tls-cert-monitor:
image: tls-cert-monitor:v1.4
container_name: tls-cert-monitor
volumes:
- /DATA/docker/traefik/certs/acme.json:/certs/acme.json
- /DATA/docker/tls/certs:/output
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment