Divisão da configuração envoy envoy.yaml em vários arquivos (apenas Docker)
Estou a tratar de quatro portos / casos diferentes com o Envoy:
- http IPv6
- IPv4 http
- https IPv6
- https IPv4
Para IPv6 e IPv4 a configuração é a mesma, enquanto que para http há uma configuração diferente do que para https.
Para perceber isso, dividi a configuração do meu enviado em vários trechos, e os adicionei durante a construção do contêiner.
Aqui está como é o meu novo Dockerfile:
DE envoyproxy/envoy:latest
COPY config /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
minha pasta config contém vários arquivos que são combinados em envoy.yaml
Não há necessidade de procurar por "como incluir ficheiros em ficheiros yaml".
Aqui está, por exemplo, o meu envoy_head.yaml:
estática_recursos:
Ouvintes:
Como você pode ver, é bastante simples
(NB: termina com uma nova linha, assim como todos os outros arquivos - quando combinados, isso dará o resultado desejado).
Não se esqueça de construir o seu contentor, a funcionar, por exemplo:
construir -compor -construir