Division de la configuration envoy.yaml en plusieurs fichiers (Docker uniquement)
Je m'occupe de quatre ports / cas différents avec Envoy :
- IPv6 http
- IPv4 http
- IPv6 https
- IPv4 https
Pour IPv6 et IPv4 la configuration est la même, alors que pour http il y a une configuration différente de celle pour https.
Pour réaliser ceci, j'ai divisé ma configuration d'Envoy en plusieurs snippets, et je les ajoute ensemble pendant la construction du conteneur.
Voici à quoi ressemble mon nouveau fichier Docker :
FROM envoyproxy/envoy:latest
COPIE de la configuration /tmp/config
RUN cat /tmp/config/envoy_head.yaml /tmp/config/http_head_one.yaml /tmp/config/http_body.yaml /tmp/config/http_head_two.yaml /tmp/config/http_body.yaml /tmp/config/https_head_one.yaml /tmp/config/https_body.yaml /tmp/config/https_head_two.yaml /tmp/config/https_body.yaml /tmp/config/envoy_tail.yaml > /etc/envoy/envoy.yaml
mon dossier de configuration contient plusieurs fichiers qui sont combinés dans envoy.yaml
Pas besoin de chercher "comment inclure des fichiers dans les fichiers yaml".
Voici, par exemple, mon envoy_head.yaml :
ressources_statiques :
des auditeurs :
Comme vous pouvez le voir, c'est assez simple
(NB : il se termine par un saut de ligne, comme tous les autres fichiers - en le combinant, cela donnera le résultat souhaité).
N'oubliez pas de construire votre conteneur, en l'exécutant, par exemple :
docker-compose up -build