43 lines
2.7 KiB
Markdown
43 lines
2.7 KiB
Markdown
|
## Traefik
|
||
|
|
||
|
Ce dossier contient les ressources nécessaires pour lancer Traefik, un reverse proxy adapté pour Docker.
|
||
|
C'est la pièce la plus importante de l'infrastructure, puisque l'ensemble des communications HTTP(S) passent d'abord par Traefik, et il est aussi utilisé pour [générer des certificats pour les services TCP](../pica-tls-certs-monitor).
|
||
|
|
||
|
Ce service doit être lancé sur l'ensemble des machines de l'infrastructure.
|
||
|
|
||
|
### Configuration
|
||
|
|
||
|
La configuration a lieu dans le fichier [traefik.toml](./traefik.toml).
|
||
|
Notez que toute modification dans ce fichier impactera l'ensemble des machines, puisque le même fichier est utilisé pour l'ensemble des machines.
|
||
|
|
||
|
À des fins de tests, il peut être modifié localement sur les machines, mais doit toujours rester synchronisé avec ce dépôt à long terme.
|
||
|
|
||
|
Pour la génération des certificats, Traefik utilise Let's Encrypt. Il n'y a aucune configuration à faire de ce côté. Attention, le nombre de certificats générables est limité à 50 par semaine.
|
||
|
|
||
|
Si on lance plein de conteneurs de tests, on utilisera temporairement [l'environnement de qualification](https://letsencrypt.org/fr/docs/staging-environment/) de Let's Encrypt, en ajoutant la directive `caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"` sous la section `[acme]`.
|
||
|
|
||
|
### Lancement
|
||
|
|
||
|
Assurez-vous que le dossier `/DATA/docker/traefik/certs` existe.
|
||
|
C'est dans ce dossier que seront conservés tous les certificats générés par Traefik.
|
||
|
|
||
|
### Mise à jour
|
||
|
|
||
|
Il suffit de mettre à jour le tag de l'image dans Compose.
|
||
|
Attention, Traefik v2 introduit énormément de changements et [nous ne sommes pas certains](https://wiki.picasoft.net/doku.php?id=technique:adminsys:migration-traefik-v2) de la manière d'effectuer la migration.
|
||
|
|
||
|
Aussi, Traefik v1.6 est utilisé pour tenterd d'éviter un bug introduit dans la 1.7, qui rend certains services redémarrés inaccessibles (voir [cette discussion](https://team.picasoft.net/picasoft/pl/66aorsxhtffrjytyhnecn436wa)).
|
||
|
|
||
|
Avant toute mise à jour, il faudra discuter avec l'équipe technique et modifier ce README le cas échéant.
|
||
|
|
||
|
### Todo
|
||
|
|
||
|
*Voir si on peut passer Traefik en "host" au niveau du réseau pour qu'il ait accès à tous les réseaux* :
|
||
|
https://kanban.picasoft.net/b/7fCn765LCNGraBhxA/team-technique-picasoft/kjvc3iw2pFvszCTcR
|
||
|
|
||
|
Actuellement, Traefik est dans le réseau `docker_default` sur toutes les machines, et les conteneurs souhaitant être accessibles via Traefik doivent être explicitement dans ce réseau.
|
||
|
|
||
|
Ceci induit une complexité supplémentaire au niveau des fichiers Compose.
|
||
|
|
||
|
Il serait peut être bon de permettre à Traefik d'accéder à tous les réseaux et de supprimer énormément de directives "inutiles" dans les Compose.
|