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". Sorria

imagem

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