From 56bef582a8689ec66949b65617dd0e93dd5e5913 Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Wed, 14 Oct 2020 10:43:05 +0100 Subject: [PATCH 1/9] configs: Update configs v2 -> v3 Signed-off-by: Ryan Northey --- ci/Dockerfile-envoy | 2 +- ci/Dockerfile-envoy-alpine | 2 +- ci/Dockerfile-envoy-windows | 2 +- configs/Dockerfile | 2 +- .../access_log_format_helper_v2.template.yaml | 15 ------- .../access_log_format_helper_v3.template.yaml | 15 +++++++ configs/configgen.py | 12 +++--- ...ml => envoy_double_proxy_v3.template.yaml} | 25 ++++++----- ...aml => envoy_front_proxy_v3.template.yaml} | 20 ++++----- ...ate.yaml => envoy_router_v3.template.yaml} | 2 +- ...envoy_service_to_service_v3.template.yaml} | 42 +++++++++---------- configs/freebind/freebind.yaml | 2 +- ...proxy.v2.yaml => google_com_proxy.v3.yaml} | 6 +-- .../original-dst-cluster/proxy_config.yaml | 2 +- ...e.yaml => routing_helper_v3.template.yaml} | 0 docs/root/start/install/ref_configs.rst | 6 +-- docs/root/start/start.rst | 2 +- test/config/integration/BUILD | 2 +- ...2.yaml => google_com_proxy_port_0.v3.yaml} | 4 +- test/config_test/config_test.cc | 2 +- test/exe/main_common_test.cc | 2 +- .../mysql_proxy/mysql_test_config.yaml | 4 +- test/server/config_validation/server_test.cc | 2 +- .../zipkin_tracing_deprecated_config.yaml | 2 +- .../network_filter_unknown_field.yaml | 2 +- tools/config_validation/validate_fragment.py | 2 +- tools/envoy_collect/envoy_collect.py | 2 +- 27 files changed, 90 insertions(+), 91 deletions(-) delete mode 100644 configs/access_log_format_helper_v2.template.yaml create mode 100644 configs/access_log_format_helper_v3.template.yaml rename configs/{envoy_double_proxy_v2.template.yaml => envoy_double_proxy_v3.template.yaml} (82%) rename configs/{envoy_front_proxy_v2.template.yaml => envoy_front_proxy_v3.template.yaml} (80%) rename configs/{envoy_router_v2.template.yaml => envoy_router_v3.template.yaml} (94%) rename configs/{envoy_service_to_service_v2.template.yaml => envoy_service_to_service_v3.template.yaml} (90%) rename configs/{google_com_proxy.v2.yaml => google_com_proxy.v3.yaml} (83%) rename configs/{routing_helper_v2.template.yaml => routing_helper_v3.template.yaml} (100%) rename test/config/integration/{google_com_proxy_port_0.v2.yaml => google_com_proxy_port_0.v3.yaml} (83%) diff --git a/ci/Dockerfile-envoy b/ci/Dockerfile-envoy index eecb68be7d17..aae0eb034dac 100644 --- a/ci/Dockerfile-envoy +++ b/ci/Dockerfile-envoy @@ -28,7 +28,7 @@ RUN mkdir -p /etc/envoy ARG ENVOY_BINARY_SUFFIX=_stripped ADD ${TARGETPLATFORM}/build_release${ENVOY_BINARY_SUFFIX}/* /usr/local/bin/ -ADD configs/google_com_proxy.v2.yaml /etc/envoy/envoy.yaml +ADD configs/google_com_proxy.v3.yaml /etc/envoy/envoy.yaml EXPOSE 10000 diff --git a/ci/Dockerfile-envoy-alpine b/ci/Dockerfile-envoy-alpine index de13be43162d..bae7eb82fec8 100644 --- a/ci/Dockerfile-envoy-alpine +++ b/ci/Dockerfile-envoy-alpine @@ -1,7 +1,7 @@ FROM frolvlad/alpine-glibc:alpine-3.12_glibc-2.31 RUN mkdir -p /etc/envoy -ADD configs/google_com_proxy.v2.yaml /etc/envoy/envoy.yaml +ADD configs/google_com_proxy.v3.yaml /etc/envoy/envoy.yaml RUN apk add --no-cache shadow su-exec \ && addgroup -S envoy && adduser --no-create-home -S envoy -G envoy diff --git a/ci/Dockerfile-envoy-windows b/ci/Dockerfile-envoy-windows index b8f8f3c958d9..9d17f2bff0ab 100644 --- a/ci/Dockerfile-envoy-windows +++ b/ci/Dockerfile-envoy-windows @@ -8,7 +8,7 @@ RUN setx path "%path%;c:\Program Files\envoy" ADD ["windows/amd64/envoy.exe", "C:/Program Files/envoy/"] RUN mkdir "C:\\ProgramData\\envoy" -ADD ["configs/google_com_proxy.v2.yaml", "C:/ProgramData/envoy/envoy.yaml"] +ADD ["configs/google_com_proxy.v3.yaml", "C:/ProgramData/envoy/envoy.yaml"] # Replace temp path with Windows temp path RUN powershell -Command "(cat C:\ProgramData\envoy\envoy.yaml -raw) -replace '/tmp/','C:\Windows\Temp\' | Set-Content -Encoding Ascii C:\ProgramData\envoy\envoy.yaml" diff --git a/configs/Dockerfile b/configs/Dockerfile index 2d7b7a6a5e3b..ae4c567c318a 100644 --- a/configs/Dockerfile +++ b/configs/Dockerfile @@ -3,5 +3,5 @@ FROM envoyproxy/envoy-dev:latest RUN apt-get update -COPY google_com_proxy.v2.yaml /etc/envoy.yaml +COPY google_com_proxy.v3.yaml /etc/envoy.yaml CMD /usr/local/bin/envoy -c /etc/envoy.yaml diff --git a/configs/access_log_format_helper_v2.template.yaml b/configs/access_log_format_helper_v2.template.yaml deleted file mode 100644 index 7a5d711c088b..000000000000 --- a/configs/access_log_format_helper_v2.template.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{% macro ingress_sampled_log() -%} - format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\"\n" -{% endmacro %} - -{% macro ingress_full() -%} - format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\"\n" -{% endmacro %} - -{% macro egress_error_log() -%} - format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\"\n" -{% endmacro %} - -{% macro egress_error_amazon_service() -%} - format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" \"%RESP(X-AMZN-RequestId)%\"\n" -{% endmacro %} diff --git a/configs/access_log_format_helper_v3.template.yaml b/configs/access_log_format_helper_v3.template.yaml new file mode 100644 index 000000000000..d8c4119fa912 --- /dev/null +++ b/configs/access_log_format_helper_v3.template.yaml @@ -0,0 +1,15 @@ +{% macro ingress_sampled_log() -%} + # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\"\n" +{% endmacro %} + +{% macro ingress_full() -%} + # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\"\n" +{% endmacro %} + +{% macro egress_error_log() -%} + # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\"\n" +{% endmacro %} + +{% macro egress_error_amazon_service() -%} + # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" \"%RESP(X-AMZN-RequestId)%\"\n" +{% endmacro %} diff --git a/configs/configgen.py b/configs/configgen.py index d5409c481a91..04665880cfaf 100755 --- a/configs/configgen.py +++ b/configs/configgen.py @@ -111,16 +111,16 @@ def generate_config(template_path, template, output_file, **context): # Generate a demo config for the main front proxy. This sets up both HTTP and HTTPS listeners, # as well as a listener for the double proxy to connect to via SSL client authentication. generate_config(SCRIPT_DIR, - 'envoy_front_proxy_v2.template.yaml', - '{}/envoy_front_proxy.v2.yaml'.format(OUT_DIR), + 'envoy_front_proxy_v3.template.yaml', + '{}/envoy_front_proxy.v3.yaml'.format(OUT_DIR), clusters=front_envoy_clusters, tracing=tracing_enabled) # Generate a demo config for the double proxy. This sets up both an HTTP and HTTPS listeners, # and backhauls the traffic to the main front proxy. generate_config(SCRIPT_DIR, - 'envoy_double_proxy_v2.template.yaml', - '{}/envoy_double_proxy.v2.yaml'.format(OUT_DIR), + 'envoy_double_proxy_v3.template.yaml', + '{}/envoy_double_proxy.v3.yaml'.format(OUT_DIR), tracing=tracing_enabled) # Generate a demo config for the service to service (local) proxy. This sets up several different @@ -132,13 +132,13 @@ def generate_config(template_path, template, output_file, **context): # that Envoy proxies to listens on its own port. # optional mongo ports: built from mongos_servers above. generate_config(SCRIPT_DIR, - 'envoy_service_to_service_v2.template.yaml', + 'envoy_service_to_service_v3.template.yaml', '{}/envoy_service_to_service.yaml'.format(OUT_DIR), internal_virtual_hosts=service_to_service_envoy_clusters, external_virtual_hosts=external_virtual_hosts, mongos_servers=mongos_servers) -for google_ext in ['v2.yaml']: +for google_ext in ['v3.yaml']: shutil.copy(os.path.join(SCRIPT_DIR, 'google_com_proxy.%s' % google_ext), OUT_DIR) shutil.copy(os.path.join(SCRIPT_DIR, 'encapsulate_in_connect.v3.yaml'), OUT_DIR) diff --git a/configs/envoy_double_proxy_v2.template.yaml b/configs/envoy_double_proxy_v3.template.yaml similarity index 82% rename from configs/envoy_double_proxy_v2.template.yaml rename to configs/envoy_double_proxy_v3.template.yaml index feb9f3e1f95f..1aac78115efc 100644 --- a/configs/envoy_double_proxy_v2.template.yaml +++ b/configs/envoy_double_proxy_v3.template.yaml @@ -11,7 +11,7 @@ transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.DownstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext common_tls_context: tls_certificates: - certificate_chain: @@ -29,7 +29,7 @@ filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: AUTO stat_prefix: router route_config: @@ -47,24 +47,23 @@ http_filters: - name: envoy.filters.http.health_check typed_config: - "@type": type.googleapis.com/envoy.config.filter.http.health_check.v2.HealthCheck + "@type": type.googleapis.com/envoy.extensions.filters.http.health_check.v3.HealthCheck pass_through_mode: false headers: - exact_match: /healthcheck name: :path - name: envoy.filters.http.buffer typed_config: - "@type": type.googleapis.com/envoy.config.filter.http.buffer.v2.Buffer + "@type": type.googleapis.com/envoy.extensions.filters.http.buffer.v3.Buffer max_request_bytes: 5242880 - name: envoy.filters.http.router typed_config: {} {% if tracing %} tracing: - operation_name: INGRESS provider: name: envoy.tracers.lightstep typed_config: - "@type": type.googleapis.com/envoy.config.trace.v2.LightstepConfig + "@type": type.googleapis.com/envoy.config.trace.v3.LightstepConfig access_token_file: "/etc/envoy/lightstep_access_token" collector_cluster: lightstep_saas {% endif %} @@ -89,9 +88,9 @@ runtime_key: access_log.access_error.duration - traceable_filter: {} typed_config: - "@type": type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog + "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: /var/log/envoy/access_error.log - format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%REQ(X-LYFT-USER-ID)%\" \"%RESP(GRPC-STATUS)%\"\n" + # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%RESP(GRPC-STATUS)%\"\n" {% if proxy_proto %} use_remote_address: true {%endif -%} @@ -141,7 +140,7 @@ static_resources: transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext common_tls_context: tls_certificates: - certificate_chain: @@ -151,7 +150,7 @@ static_resources: validation_context: trusted_ca: filename: certs/cacert.pem - match_subject_alt_names: + match_subject_alt_names: exact: "front-proxy.yourcompany.net" http2_protocol_options: {} - name: lightstep_saas @@ -172,18 +171,18 @@ static_resources: transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext common_tls_context: validation_context: trusted_ca: filename: certs/cacert.pem - match_subject_alt_names: + match_subject_alt_names: exact: "collector-grpc.lightstep.com" flags_path: "/etc/envoy/flags" stats_sinks: - name: envoy.stat_sinks.statsd typed_config: - "@type": type.googleapis.com/envoy.config.metrics.v2.StatsdSink + "@type": type.googleapis.com/envoy.config.metrics.v3.StatsdSink tcp_cluster_name: statsd layered_runtime: layers: diff --git a/configs/envoy_front_proxy_v2.template.yaml b/configs/envoy_front_proxy_v3.template.yaml similarity index 80% rename from configs/envoy_front_proxy_v2.template.yaml rename to configs/envoy_front_proxy_v3.template.yaml index a9b9bc97f859..5a4dd04e5828 100644 --- a/configs/envoy_front_proxy_v2.template.yaml +++ b/configs/envoy_front_proxy_v3.template.yaml @@ -1,4 +1,4 @@ -{% import 'routing_helper_v2.template.yaml' as helper -%} +{% import 'routing_helper_v3.template.yaml' as helper -%} {% macro router_file_content() -%}{% include kwargs['router_file'] -%}{% endmacro -%} {% macro listener(protocol, address, port_value, proxy_proto, tls, tracing) -%} name: not_required_for_static_listeners @@ -12,7 +12,7 @@ - transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.DownstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext common_tls_context: alpn_protocols: h2,http/1.1 tls_certificates: @@ -35,7 +35,7 @@ filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: AUTO stat_prefix: router {% if proxy_proto -%} @@ -43,18 +43,18 @@ {%endif-%} stat_prefix: ingress_http route_config: - {{ router_file_content(router_file='envoy_router_v2.template.yaml')|indent(10) }} + {{ router_file_content(router_file='envoy_router_v3.template.yaml')|indent(10) }} http_filters: - name: envoy.filters.http.health_check typed_config: - "@type": type.googleapis.com/envoy.config.filter.http.health_check.v2.HealthCheck + "@type": type.googleapis.com/envoy.extensions.filters.http.health_check.v3.HealthCheck pass_through_mode: false headers: - name: ":path" exact_match: "/healthcheck" - name: envoy.filters.http.buffer typed_config: - "@type": type.googleapis.com/envoy.config.filter.http.buffer.v2.Buffer + "@type": type.googleapis.com/envoy.extensions.filters.http.buffer.v3.Buffer max_request_bytes: 5242880 - name: envoy.filters.http.ratelimit typed_config: @@ -70,11 +70,10 @@ add_user_agent: true {% if tracing %} tracing: - operation_name: INGRESS provider: name: envoy.tracers.lightstep typed_config: - "@type": type.googleapis.com/envoy.config.trace.v2.LightstepConfig + "@type": type.googleapis.com/envoy.config.trace.v3.LightstepConfig collector_cluster: lightstep_saas access_token_file: "/etc/envoy/lightstep_access_token" {% endif %} @@ -99,9 +98,10 @@ runtime_key: access_log.access_error.duration - traceable_filter: {} typed_config: - "@type": type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog + "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoy/access_error.log" - format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%REQ(X-LYFT-USER-ID)%\" \"%RESP(GRPC-STATUS)%\"\n" + # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\"\n" + # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%RESP(GRPC-STATUS)%\"\n" {% endmacro -%} static_resources: listeners: diff --git a/configs/envoy_router_v2.template.yaml b/configs/envoy_router_v3.template.yaml similarity index 94% rename from configs/envoy_router_v2.template.yaml rename to configs/envoy_router_v3.template.yaml index 0d09269b6cab..b1dd7e4ad6ee 100644 --- a/configs/envoy_router_v2.template.yaml +++ b/configs/envoy_router_v3.template.yaml @@ -1,4 +1,4 @@ -{% import 'routing_helper_v2.template.yaml' as helper with context -%} +{% import 'routing_helper_v3.template.yaml' as helper with context -%} name: local_route virtual_hosts: - name: www diff --git a/configs/envoy_service_to_service_v2.template.yaml b/configs/envoy_service_to_service_v3.template.yaml similarity index 90% rename from configs/envoy_service_to_service_v2.template.yaml rename to configs/envoy_service_to_service_v3.template.yaml index 4ef5ac9d1a05..cd68c3c9c9e7 100644 --- a/configs/envoy_service_to_service_v2.template.yaml +++ b/configs/envoy_service_to_service_v3.template.yaml @@ -1,5 +1,5 @@ -{% import 'routing_helper_v2.template.yaml' as helper -%} -{% import 'access_log_format_helper_v2.template.yaml' as access_log_helper -%} +{% import 'routing_helper_v3.template.yaml' as helper -%} +{% import 'access_log_format_helper_v3.template.yaml' as access_log_helper -%} {% macro ingress_listener(protocol, address, port_value) -%} - address: socket_address: @@ -11,7 +11,7 @@ - filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: AUTO stat_prefix: ingress_http route_config: @@ -35,7 +35,7 @@ http_filters: - name: envoy.filters.http.health_check typed_config: - "@type": type.googleapis.com/envoy.config.filter.http.health_check.v2.HealthCheck + "@type": type.googleapis.com/envoy.extensions.filters.http.health_check.v3.HealthCheck pass_through_mode: true headers: - name: ":path" @@ -43,7 +43,7 @@ cache_time: 2.5s - name: envoy.filters.http.buffer typed_config: - "@type": type.googleapis.com/envoy.config.filter.http.buffer.v2.Buffer + "@type": type.googleapis.com/envoy.extensions.filters.http.buffer.v3.Buffer max_request_bytes: 5242880 - name: envoy.filters.http.router typed_config: {} @@ -52,7 +52,7 @@ filter: not_health_check_filter: {} typed_config: - "@type": type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog + "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoy/ingress_http.log" {{ access_log_helper.ingress_full()|indent(10)}} - name: envoy.access_loggers.file @@ -81,7 +81,7 @@ runtime_key: access_log.access_error.duration - not_health_check_filter: {} typed_config: - "@type": type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog + "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoy/ingress_http_error.log" {{ access_log_helper.ingress_sampled_log()|indent(10)}} - name: envoy.access_loggers.file @@ -92,7 +92,7 @@ - runtime_filter: runtime_key: access_log.ingress_http typed_config: - "@type": type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog + "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoy/ingress_http_sampled.log" {{ access_log_helper.ingress_sampled_log()|indent(10)}} common_http_protocol_options: @@ -111,7 +111,7 @@ static_resources: - filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: AUTO stat_prefix: egress_http route_config: @@ -149,7 +149,7 @@ static_resources: runtime_key: access_log.access_error.duration - traceable_filter: {} typed_config: - "@type": type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog + "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoy/egress_http_error.log" {{ access_log_helper.egress_error_log()|indent(10) }} use_remote_address: true @@ -177,7 +177,7 @@ static_resources: - filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: AUTO stat_prefix: egress_http rds: @@ -210,7 +210,7 @@ static_resources: runtime_key: access_log.access_error.duration - traceable_filter: {} typed_config: - "@type": type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog + "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoy/egress_http_error.log" {{ access_log_helper.egress_error_log()|indent(10) }} use_remote_address: true @@ -239,7 +239,7 @@ static_resources: - filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: AUTO common_http_protocol_options: idle_timeout: 840s @@ -259,7 +259,7 @@ static_resources: retry_policy: retry_on: connect-failure {% if host.get('host_rewrite', False) %} - host_rewrite: "{{host['host_rewrite']}}" + host_rewrite_literal: "{{host['host_rewrite']}}" {% endif %} {% endfor %} http_filters: @@ -295,7 +295,7 @@ static_resources: runtime_key: access_log.access_error.duration {% endif %} typed_config: - "@type": type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog + "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoy/egress_{{ mapping['name'] }}_http_error.log" {% if mapping.get('is_amzn_service', False) -%} {{ access_log_helper.egress_error_amazon_service()|indent(10) }} @@ -315,12 +315,12 @@ static_resources: - filters: - name: envoy.filters.network.tcp_proxy typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy + "@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy stat_prefix: mongo_{{ key }} cluster: mongo_{{ key }} - name: envoy.filters.network.mongo_proxy typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.mongo_proxy.v2.MongoProxy + "@type": type.googleapis.com/envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy stat_prefix: "{{ key }}" access_log: "/var/log/envoy/mongo_{{ key }}.log" {% if value.get('ratelimit', False) %} @@ -346,7 +346,7 @@ static_resources: transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext common_tls_context: validation_context: trusted_ca: @@ -413,7 +413,7 @@ static_resources: transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext sni: www.main_website.com - name: local_service connect_timeout: 0.25s @@ -505,7 +505,7 @@ static_resources: transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext common_tls_context: validation_context: trusted_ca: @@ -552,7 +552,7 @@ flags_path: "/etc/envoy/flags" stats_sinks: - name: envoy.stat_sinks.statsd typed_config: - "@type": type.googleapis.com/envoy.config.metrics.v2.StatsdSink + "@type": type.googleapis.com/envoy.config.metrics.v3.StatsdSink tcp_cluster_name: statsd layered_runtime: layers: diff --git a/configs/freebind/freebind.yaml b/configs/freebind/freebind.yaml index 08214b8b044d..367e5ba3568a 100644 --- a/configs/freebind/freebind.yaml +++ b/configs/freebind/freebind.yaml @@ -17,7 +17,7 @@ static_resources: - filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager stat_prefix: ingress_http route_config: name: local_route diff --git a/configs/google_com_proxy.v2.yaml b/configs/google_com_proxy.v3.yaml similarity index 83% rename from configs/google_com_proxy.v2.yaml rename to configs/google_com_proxy.v3.yaml index 01d0869ea0b5..32e79bb306a9 100644 --- a/configs/google_com_proxy.v2.yaml +++ b/configs/google_com_proxy.v3.yaml @@ -17,7 +17,7 @@ static_resources: - filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager stat_prefix: ingress_http route_config: name: local_route @@ -28,7 +28,7 @@ static_resources: - match: prefix: "/" route: - host_rewrite: www.google.com + host_rewrite_literal: www.google.com cluster: service_google http_filters: - name: envoy.filters.http.router @@ -51,5 +51,5 @@ static_resources: transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext sni: www.google.com diff --git a/configs/original-dst-cluster/proxy_config.yaml b/configs/original-dst-cluster/proxy_config.yaml index 9797daf46b26..b2e925957cda 100644 --- a/configs/original-dst-cluster/proxy_config.yaml +++ b/configs/original-dst-cluster/proxy_config.yaml @@ -8,7 +8,7 @@ static_resources: - filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager stat_prefix: ingress_http route_config: name: local_service diff --git a/configs/routing_helper_v2.template.yaml b/configs/routing_helper_v3.template.yaml similarity index 100% rename from configs/routing_helper_v2.template.yaml rename to configs/routing_helper_v3.template.yaml diff --git a/docs/root/start/install/ref_configs.rst b/docs/root/start/install/ref_configs.rst index 7aebc814da96..7190c0f5094c 100644 --- a/docs/root/start/install/ref_configs.rst +++ b/docs/root/start/install/ref_configs.rst @@ -23,9 +23,9 @@ source distribution includes a version of the configuration generator that uses have also included three example configuration templates for each of the above three scenarios. * Generator script: :repo:`configs/configgen.py` -* Service to service template: :repo:`configs/envoy_service_to_service_v2.template.yaml` -* Front proxy template: :repo:`configs/envoy_front_proxy_v2.template.yaml` -* Double proxy template: :repo:`configs/envoy_double_proxy_v2.template.yaml` +* Service to service template: :repo:`configs/envoy_service_to_service_v3.template.yaml` +* Front proxy template: :repo:`configs/envoy_front_proxy_v3.template.yaml` +* Double proxy template: :repo:`configs/envoy_double_proxy_v3.template.yaml` To generate the example configurations run the following from the root of the repo: diff --git a/docs/root/start/start.rst b/docs/root/start/start.rst index 4d4529e2f260..52bdbb22111f 100644 --- a/docs/root/start/start.rst +++ b/docs/root/start/start.rst @@ -32,7 +32,7 @@ more detailed explanation of the configuration file and execution steps for the same configuration. A very minimal Envoy configuration that can be used to validate basic plain HTTP -proxying is available in :repo:`configs/google_com_proxy.v2.yaml`. This is not +proxying is available in :repo:`configs/google_com_proxy.v3.yaml`. This is not intended to represent a realistic Envoy deployment: .. substitution-code-block:: none diff --git a/test/config/integration/BUILD b/test/config/integration/BUILD index 3baa54708100..fe999c886c40 100644 --- a/test/config/integration/BUILD +++ b/test/config/integration/BUILD @@ -42,5 +42,5 @@ filegroup( filegroup( name = "google_com_proxy_port_0", - srcs = ["google_com_proxy_port_0.v2.yaml"], + srcs = ["google_com_proxy_port_0.v3.yaml"], ) diff --git a/test/config/integration/google_com_proxy_port_0.v2.yaml b/test/config/integration/google_com_proxy_port_0.v3.yaml similarity index 83% rename from test/config/integration/google_com_proxy_port_0.v2.yaml rename to test/config/integration/google_com_proxy_port_0.v3.yaml index c67b6845960d..236942d3379d 100644 --- a/test/config/integration/google_com_proxy_port_0.v2.yaml +++ b/test/config/integration/google_com_proxy_port_0.v3.yaml @@ -16,7 +16,7 @@ static_resources: - filters: - name: http typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager stat_prefix: ingress_http codec_type: AUTO route_config: @@ -26,7 +26,7 @@ static_resources: domains: ["*"] routes: - match: { prefix: "/" } - route: { host_rewrite: www.google.com, cluster: service_google } + route: { host_rewrite_literal: www.google.com, cluster: service_google } clusters: - name: service_google connect_timeout: 0.25s diff --git a/test/config_test/config_test.cc b/test/config_test/config_test.cc index 5d153d124ddc..68a80cd1e120 100644 --- a/test/config_test/config_test.cc +++ b/test/config_test/config_test.cc @@ -160,7 +160,7 @@ void testMerge() { Api::ApiPtr api = Api::createApiForTest(); const std::string overlay = "static_resources: { clusters: [{name: 'foo'}]}"; - OptionsImpl options(Server::createTestOptionsImpl("google_com_proxy.v2.yaml", overlay, + OptionsImpl options(Server::createTestOptionsImpl("google_com_proxy.v3.yaml", overlay, Network::Address::IpVersion::v6)); envoy::config::bootstrap::v3::Bootstrap bootstrap; Server::InstanceUtil::loadBootstrapConfig(bootstrap, options, diff --git a/test/exe/main_common_test.cc b/test/exe/main_common_test.cc index 000142b7ff2e..08521426c13f 100644 --- a/test/exe/main_common_test.cc +++ b/test/exe/main_common_test.cc @@ -57,7 +57,7 @@ class MainCommonTest : public testing::TestWithParam tar -tvf ./envoy.tar -rw------- htuch/eng 0 2017-08-13 21:13 access_0.log From d17e21397e1a738adffa8d51b78106c3758b9211 Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Thu, 15 Oct 2020 16:39:27 +0100 Subject: [PATCH 2/9] temp remove pipeline precheck dep Signed-off-by: Ryan Northey --- .azure-pipelines/pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/pipelines.yml b/.azure-pipelines/pipelines.yml index 4efd687e546c..34a4993c7799 100644 --- a/.azure-pipelines/pipelines.yml +++ b/.azure-pipelines/pipelines.yml @@ -151,7 +151,7 @@ stages: AZP_BRANCH: $(Build.SourceBranch) - stage: linux_x64 - dependsOn: ["precheck"] + dependsOn: [] # For master builds, continue even if precheck fails condition: and(not(canceled()), or(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))) jobs: From d806a29f3e64fcd497ba64f9fdb1f44f493039d4 Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Fri, 16 Oct 2020 08:28:13 +0100 Subject: [PATCH 3/9] update using_deprecated_config Signed-off-by: Ryan Northey --- configs/using_deprecated_config.v2.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/using_deprecated_config.v2.yaml b/configs/using_deprecated_config.v2.yaml index 55ca2797acb9..a98e64f365b9 100644 --- a/configs/using_deprecated_config.v2.yaml +++ b/configs/using_deprecated_config.v2.yaml @@ -17,7 +17,7 @@ static_resources: - filters: - name: envoy.filters.network.http_connection_manager typed_config: - "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager stat_prefix: ingress_http route_config: name: local_route @@ -54,7 +54,7 @@ static_resources: transport_socket: name: envoy.transport_sockets.tls typed_config: - "@type": type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext sni: www.google.com tracing: http: From 68e5163fca7f51aa34ed125d3cb1efe13c6f3c90 Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Fri, 16 Oct 2020 08:51:33 +0100 Subject: [PATCH 4/9] readd azure precheck pipeline dep Signed-off-by: Ryan Northey --- .azure-pipelines/pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/pipelines.yml b/.azure-pipelines/pipelines.yml index 34a4993c7799..4efd687e546c 100644 --- a/.azure-pipelines/pipelines.yml +++ b/.azure-pipelines/pipelines.yml @@ -151,7 +151,7 @@ stages: AZP_BRANCH: $(Build.SourceBranch) - stage: linux_x64 - dependsOn: [] + dependsOn: ["precheck"] # For master builds, continue even if precheck fails condition: and(not(canceled()), or(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))) jobs: From d5de85a753a5bb008e1175ee86d9208b4a3d3514 Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Fri, 16 Oct 2020 12:13:43 +0100 Subject: [PATCH 5/9] disable pipeline check Signed-off-by: Ryan Northey --- .azure-pipelines/pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/pipelines.yml b/.azure-pipelines/pipelines.yml index 4efd687e546c..34a4993c7799 100644 --- a/.azure-pipelines/pipelines.yml +++ b/.azure-pipelines/pipelines.yml @@ -151,7 +151,7 @@ stages: AZP_BRANCH: $(Build.SourceBranch) - stage: linux_x64 - dependsOn: ["precheck"] + dependsOn: [] # For master builds, continue even if precheck fails condition: and(not(canceled()), or(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))) jobs: From 1014d3ce934af5b953cc7706f4e8461a731be55f Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Fri, 16 Oct 2020 12:14:07 +0100 Subject: [PATCH 6/9] fix access log strings Signed-off-by: Ryan Northey --- configs/access_log_format_helper_v3.template.yaml | 8 ++++---- configs/envoy_double_proxy_v3.template.yaml | 3 ++- configs/envoy_front_proxy_v3.template.yaml | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/configs/access_log_format_helper_v3.template.yaml b/configs/access_log_format_helper_v3.template.yaml index d8c4119fa912..9861a51e9bfb 100644 --- a/configs/access_log_format_helper_v3.template.yaml +++ b/configs/access_log_format_helper_v3.template.yaml @@ -1,15 +1,15 @@ {% macro ingress_sampled_log() -%} - # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\"\n" + log_format: {text_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\"\n"} {% endmacro %} {% macro ingress_full() -%} - # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\"\n" + log_format: {text_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\"\n"} {% endmacro %} {% macro egress_error_log() -%} - # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\"\n" + log_format: {text_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\"\n"} {% endmacro %} {% macro egress_error_amazon_service() -%} - # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" \"%RESP(X-AMZN-RequestId)%\"\n" + log_format: {text_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" \"%RESP(X-AMZN-RequestId)%\"\n"} {% endmacro %} diff --git a/configs/envoy_double_proxy_v3.template.yaml b/configs/envoy_double_proxy_v3.template.yaml index 1aac78115efc..aea9127c74f6 100644 --- a/configs/envoy_double_proxy_v3.template.yaml +++ b/configs/envoy_double_proxy_v3.template.yaml @@ -90,7 +90,8 @@ typed_config: "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: /var/log/envoy/access_error.log - # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%RESP(GRPC-STATUS)%\"\n" + log_format: + text_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%REQ(X-LYFT-USER-ID)%\" \"%RESP(GRPC-STATUS)%\"\n" {% if proxy_proto %} use_remote_address: true {%endif -%} diff --git a/configs/envoy_front_proxy_v3.template.yaml b/configs/envoy_front_proxy_v3.template.yaml index 5a4dd04e5828..bfa1ff0911a8 100644 --- a/configs/envoy_front_proxy_v3.template.yaml +++ b/configs/envoy_front_proxy_v3.template.yaml @@ -100,8 +100,8 @@ typed_config: "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoy/access_error.log" - # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\"\n" - # log_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%RESP(GRPC-STATUS)%\"\n" + log_format: + text_format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%REQ(X-LYFT-USER-ID)%\" \"%RESP(GRPC-STATUS)%\"\n" {% endmacro -%} static_resources: listeners: From ffc61e17f4a9e04f5bdacd6caea5f18f771f236e Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Fri, 16 Oct 2020 15:53:52 +0100 Subject: [PATCH 7/9] restore precheck dep Signed-off-by: Ryan Northey --- .azure-pipelines/pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/pipelines.yml b/.azure-pipelines/pipelines.yml index 34a4993c7799..4efd687e546c 100644 --- a/.azure-pipelines/pipelines.yml +++ b/.azure-pipelines/pipelines.yml @@ -151,7 +151,7 @@ stages: AZP_BRANCH: $(Build.SourceBranch) - stage: linux_x64 - dependsOn: [] + dependsOn: ["precheck"] # For master builds, continue even if precheck fails condition: and(not(canceled()), or(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))) jobs: From 4c8a4d5d91065276db2d5147ad0090ad72216468 Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Fri, 16 Oct 2020 16:51:14 +0100 Subject: [PATCH 8/9] remove version suffix from config files Signed-off-by: Ryan Northey --- ci/Dockerfile-envoy | 2 +- ci/Dockerfile-envoy-alpine | 2 +- ci/Dockerfile-envoy-windows | 2 +- configs/Dockerfile | 2 +- ... => access_log_format_helper.template.yaml} | 0 configs/configgen.py | 18 ++++++++---------- ...ect.v3.yaml => encapsulate_in_connect.yaml} | 0 ...e.yaml => envoy_double_proxy.template.yaml} | 0 ...te.yaml => envoy_front_proxy.template.yaml} | 4 ++-- ...emplate.yaml => envoy_router.template.yaml} | 2 +- ... => envoy_service_to_service.template.yaml} | 4 ++-- ...com_proxy.v3.yaml => google_com_proxy.yaml} | 0 ...plate.yaml => routing_helper.template.yaml} | 0 ..._connect.v3.yaml => terminate_connect.yaml} | 0 .../root/intro/arch_overview/http/upgrades.rst | 4 ++-- docs/root/start/install/ref_configs.rst | 6 +++--- docs/root/start/start.rst | 2 +- test/config/integration/BUILD | 2 +- ..._0.v3.yaml => google_com_proxy_port_0.yaml} | 0 test/config_test/config_test.cc | 2 +- test/exe/main_common_test.cc | 2 +- test/server/config_validation/server_test.cc | 2 +- tools/config_validation/validate_fragment.py | 2 +- tools/envoy_collect/envoy_collect.py | 2 +- 24 files changed, 29 insertions(+), 31 deletions(-) rename configs/{access_log_format_helper_v3.template.yaml => access_log_format_helper.template.yaml} (100%) rename configs/{encapsulate_in_connect.v3.yaml => encapsulate_in_connect.yaml} (100%) rename configs/{envoy_double_proxy_v3.template.yaml => envoy_double_proxy.template.yaml} (100%) rename configs/{envoy_front_proxy_v3.template.yaml => envoy_front_proxy.template.yaml} (97%) rename configs/{envoy_router_v3.template.yaml => envoy_router.template.yaml} (93%) rename configs/{envoy_service_to_service_v3.template.yaml => envoy_service_to_service.template.yaml} (99%) rename configs/{google_com_proxy.v3.yaml => google_com_proxy.yaml} (100%) rename configs/{routing_helper_v3.template.yaml => routing_helper.template.yaml} (100%) rename configs/{terminate_connect.v3.yaml => terminate_connect.yaml} (100%) rename test/config/integration/{google_com_proxy_port_0.v3.yaml => google_com_proxy_port_0.yaml} (100%) diff --git a/ci/Dockerfile-envoy b/ci/Dockerfile-envoy index aae0eb034dac..435250d08185 100644 --- a/ci/Dockerfile-envoy +++ b/ci/Dockerfile-envoy @@ -28,7 +28,7 @@ RUN mkdir -p /etc/envoy ARG ENVOY_BINARY_SUFFIX=_stripped ADD ${TARGETPLATFORM}/build_release${ENVOY_BINARY_SUFFIX}/* /usr/local/bin/ -ADD configs/google_com_proxy.v3.yaml /etc/envoy/envoy.yaml +ADD configs/google_com_proxy.yaml /etc/envoy/envoy.yaml EXPOSE 10000 diff --git a/ci/Dockerfile-envoy-alpine b/ci/Dockerfile-envoy-alpine index bae7eb82fec8..b7bfba617f80 100644 --- a/ci/Dockerfile-envoy-alpine +++ b/ci/Dockerfile-envoy-alpine @@ -1,7 +1,7 @@ FROM frolvlad/alpine-glibc:alpine-3.12_glibc-2.31 RUN mkdir -p /etc/envoy -ADD configs/google_com_proxy.v3.yaml /etc/envoy/envoy.yaml +ADD configs/google_com_proxy.yaml /etc/envoy/envoy.yaml RUN apk add --no-cache shadow su-exec \ && addgroup -S envoy && adduser --no-create-home -S envoy -G envoy diff --git a/ci/Dockerfile-envoy-windows b/ci/Dockerfile-envoy-windows index 9d17f2bff0ab..4b0db0161531 100644 --- a/ci/Dockerfile-envoy-windows +++ b/ci/Dockerfile-envoy-windows @@ -8,7 +8,7 @@ RUN setx path "%path%;c:\Program Files\envoy" ADD ["windows/amd64/envoy.exe", "C:/Program Files/envoy/"] RUN mkdir "C:\\ProgramData\\envoy" -ADD ["configs/google_com_proxy.v3.yaml", "C:/ProgramData/envoy/envoy.yaml"] +ADD ["configs/google_com_proxy.yaml", "C:/ProgramData/envoy/envoy.yaml"] # Replace temp path with Windows temp path RUN powershell -Command "(cat C:\ProgramData\envoy\envoy.yaml -raw) -replace '/tmp/','C:\Windows\Temp\' | Set-Content -Encoding Ascii C:\ProgramData\envoy\envoy.yaml" diff --git a/configs/Dockerfile b/configs/Dockerfile index ae4c567c318a..ac1bc7aeece8 100644 --- a/configs/Dockerfile +++ b/configs/Dockerfile @@ -3,5 +3,5 @@ FROM envoyproxy/envoy-dev:latest RUN apt-get update -COPY google_com_proxy.v3.yaml /etc/envoy.yaml +COPY google_com_proxy.yaml /etc/envoy.yaml CMD /usr/local/bin/envoy -c /etc/envoy.yaml diff --git a/configs/access_log_format_helper_v3.template.yaml b/configs/access_log_format_helper.template.yaml similarity index 100% rename from configs/access_log_format_helper_v3.template.yaml rename to configs/access_log_format_helper.template.yaml diff --git a/configs/configgen.py b/configs/configgen.py index 04665880cfaf..8f5e20cd562d 100755 --- a/configs/configgen.py +++ b/configs/configgen.py @@ -111,16 +111,16 @@ def generate_config(template_path, template, output_file, **context): # Generate a demo config for the main front proxy. This sets up both HTTP and HTTPS listeners, # as well as a listener for the double proxy to connect to via SSL client authentication. generate_config(SCRIPT_DIR, - 'envoy_front_proxy_v3.template.yaml', - '{}/envoy_front_proxy.v3.yaml'.format(OUT_DIR), + 'envoy_front_proxy.template.yaml', + '{}/envoy_front_proxy.yaml'.format(OUT_DIR), clusters=front_envoy_clusters, tracing=tracing_enabled) # Generate a demo config for the double proxy. This sets up both an HTTP and HTTPS listeners, # and backhauls the traffic to the main front proxy. generate_config(SCRIPT_DIR, - 'envoy_double_proxy_v3.template.yaml', - '{}/envoy_double_proxy.v3.yaml'.format(OUT_DIR), + 'envoy_double_proxy.template.yaml', + '{}/envoy_double_proxy.yaml'.format(OUT_DIR), tracing=tracing_enabled) # Generate a demo config for the service to service (local) proxy. This sets up several different @@ -132,14 +132,12 @@ def generate_config(template_path, template, output_file, **context): # that Envoy proxies to listens on its own port. # optional mongo ports: built from mongos_servers above. generate_config(SCRIPT_DIR, - 'envoy_service_to_service_v3.template.yaml', + 'envoy_service_to_service.template.yaml', '{}/envoy_service_to_service.yaml'.format(OUT_DIR), internal_virtual_hosts=service_to_service_envoy_clusters, external_virtual_hosts=external_virtual_hosts, mongos_servers=mongos_servers) -for google_ext in ['v3.yaml']: - shutil.copy(os.path.join(SCRIPT_DIR, 'google_com_proxy.%s' % google_ext), OUT_DIR) - -shutil.copy(os.path.join(SCRIPT_DIR, 'encapsulate_in_connect.v3.yaml'), OUT_DIR) -shutil.copy(os.path.join(SCRIPT_DIR, 'terminate_connect.v3.yaml'), OUT_DIR) +shutil.copy(os.path.join(SCRIPT_DIR, 'google_com_proxy.yaml'), OUT_DIR) +shutil.copy(os.path.join(SCRIPT_DIR, 'encapsulate_in_connect.yaml'), OUT_DIR) +shutil.copy(os.path.join(SCRIPT_DIR, 'terminate_connect.yaml'), OUT_DIR) diff --git a/configs/encapsulate_in_connect.v3.yaml b/configs/encapsulate_in_connect.yaml similarity index 100% rename from configs/encapsulate_in_connect.v3.yaml rename to configs/encapsulate_in_connect.yaml diff --git a/configs/envoy_double_proxy_v3.template.yaml b/configs/envoy_double_proxy.template.yaml similarity index 100% rename from configs/envoy_double_proxy_v3.template.yaml rename to configs/envoy_double_proxy.template.yaml diff --git a/configs/envoy_front_proxy_v3.template.yaml b/configs/envoy_front_proxy.template.yaml similarity index 97% rename from configs/envoy_front_proxy_v3.template.yaml rename to configs/envoy_front_proxy.template.yaml index bfa1ff0911a8..1dcb1e6f919f 100644 --- a/configs/envoy_front_proxy_v3.template.yaml +++ b/configs/envoy_front_proxy.template.yaml @@ -1,4 +1,4 @@ -{% import 'routing_helper_v3.template.yaml' as helper -%} +{% import 'routing_helper.template.yaml' as helper -%} {% macro router_file_content() -%}{% include kwargs['router_file'] -%}{% endmacro -%} {% macro listener(protocol, address, port_value, proxy_proto, tls, tracing) -%} name: not_required_for_static_listeners @@ -43,7 +43,7 @@ {%endif-%} stat_prefix: ingress_http route_config: - {{ router_file_content(router_file='envoy_router_v3.template.yaml')|indent(10) }} + {{ router_file_content(router_file='envoy_router.template.yaml')|indent(10) }} http_filters: - name: envoy.filters.http.health_check typed_config: diff --git a/configs/envoy_router_v3.template.yaml b/configs/envoy_router.template.yaml similarity index 93% rename from configs/envoy_router_v3.template.yaml rename to configs/envoy_router.template.yaml index b1dd7e4ad6ee..338363af6c8c 100644 --- a/configs/envoy_router_v3.template.yaml +++ b/configs/envoy_router.template.yaml @@ -1,4 +1,4 @@ -{% import 'routing_helper_v3.template.yaml' as helper with context -%} +{% import 'routing_helper.template.yaml' as helper with context -%} name: local_route virtual_hosts: - name: www diff --git a/configs/envoy_service_to_service_v3.template.yaml b/configs/envoy_service_to_service.template.yaml similarity index 99% rename from configs/envoy_service_to_service_v3.template.yaml rename to configs/envoy_service_to_service.template.yaml index cd68c3c9c9e7..9237d117f035 100644 --- a/configs/envoy_service_to_service_v3.template.yaml +++ b/configs/envoy_service_to_service.template.yaml @@ -1,5 +1,5 @@ -{% import 'routing_helper_v3.template.yaml' as helper -%} -{% import 'access_log_format_helper_v3.template.yaml' as access_log_helper -%} +{% import 'routing_helper.template.yaml' as helper -%} +{% import 'access_log_format_helper.template.yaml' as access_log_helper -%} {% macro ingress_listener(protocol, address, port_value) -%} - address: socket_address: diff --git a/configs/google_com_proxy.v3.yaml b/configs/google_com_proxy.yaml similarity index 100% rename from configs/google_com_proxy.v3.yaml rename to configs/google_com_proxy.yaml diff --git a/configs/routing_helper_v3.template.yaml b/configs/routing_helper.template.yaml similarity index 100% rename from configs/routing_helper_v3.template.yaml rename to configs/routing_helper.template.yaml diff --git a/configs/terminate_connect.v3.yaml b/configs/terminate_connect.yaml similarity index 100% rename from configs/terminate_connect.v3.yaml rename to configs/terminate_connect.yaml diff --git a/docs/root/intro/arch_overview/http/upgrades.rst b/docs/root/intro/arch_overview/http/upgrades.rst index bcf9f0a21fd9..4f9b62f7ded5 100644 --- a/docs/root/intro/arch_overview/http/upgrades.rst +++ b/docs/root/intro/arch_overview/http/upgrades.rst @@ -97,8 +97,8 @@ An example set up proxying SMTP would look something like this [SMTP Upstream] --- raw SMTP --- [L2 Envoy] --- SMTP tunneled over HTTP/2 --- [L1 Envoy] --- raw SMTP --- [Client] Examples of such a set up can be found in the Envoy example config :repo:`directory ` -If you run `bazel-bin/source/exe/envoy-static --config-path configs/encapsulate_in_connect.v3.yaml --base-id 1` -and `bazel-bin/source/exe/envoy-static --config-path configs/terminate_connect.v3.yaml` +If you run `bazel-bin/source/exe/envoy-static --config-path configs/encapsulate_in_connect.yaml --base-id 1` +and `bazel-bin/source/exe/envoy-static --config-path configs/terminate_connect.yaml` you will be running two Envoys, the first listening for TCP traffic on port 10000 and encapsulating it in an HTTP/2 CONNECT request, and the second listening for HTTP/2 on 10001, stripping the CONNECT headers, and forwarding the original TCP upstream, in this case to google.com. diff --git a/docs/root/start/install/ref_configs.rst b/docs/root/start/install/ref_configs.rst index 7190c0f5094c..b7bb405175b2 100644 --- a/docs/root/start/install/ref_configs.rst +++ b/docs/root/start/install/ref_configs.rst @@ -23,9 +23,9 @@ source distribution includes a version of the configuration generator that uses have also included three example configuration templates for each of the above three scenarios. * Generator script: :repo:`configs/configgen.py` -* Service to service template: :repo:`configs/envoy_service_to_service_v3.template.yaml` -* Front proxy template: :repo:`configs/envoy_front_proxy_v3.template.yaml` -* Double proxy template: :repo:`configs/envoy_double_proxy_v3.template.yaml` +* Service to service template: :repo:`configs/envoy_service_to_service.template.yaml` +* Front proxy template: :repo:`configs/envoy_front_proxy.template.yaml` +* Double proxy template: :repo:`configs/envoy_double_proxy.template.yaml` To generate the example configurations run the following from the root of the repo: diff --git a/docs/root/start/start.rst b/docs/root/start/start.rst index 52bdbb22111f..79ddfc5acd0c 100644 --- a/docs/root/start/start.rst +++ b/docs/root/start/start.rst @@ -32,7 +32,7 @@ more detailed explanation of the configuration file and execution steps for the same configuration. A very minimal Envoy configuration that can be used to validate basic plain HTTP -proxying is available in :repo:`configs/google_com_proxy.v3.yaml`. This is not +proxying is available in :repo:`configs/google_com_proxy.yaml`. This is not intended to represent a realistic Envoy deployment: .. substitution-code-block:: none diff --git a/test/config/integration/BUILD b/test/config/integration/BUILD index fe999c886c40..1fbb9f235da1 100644 --- a/test/config/integration/BUILD +++ b/test/config/integration/BUILD @@ -42,5 +42,5 @@ filegroup( filegroup( name = "google_com_proxy_port_0", - srcs = ["google_com_proxy_port_0.v3.yaml"], + srcs = ["google_com_proxy_port_0.yaml"], ) diff --git a/test/config/integration/google_com_proxy_port_0.v3.yaml b/test/config/integration/google_com_proxy_port_0.yaml similarity index 100% rename from test/config/integration/google_com_proxy_port_0.v3.yaml rename to test/config/integration/google_com_proxy_port_0.yaml diff --git a/test/config_test/config_test.cc b/test/config_test/config_test.cc index 68a80cd1e120..162c09c2f0ac 100644 --- a/test/config_test/config_test.cc +++ b/test/config_test/config_test.cc @@ -160,7 +160,7 @@ void testMerge() { Api::ApiPtr api = Api::createApiForTest(); const std::string overlay = "static_resources: { clusters: [{name: 'foo'}]}"; - OptionsImpl options(Server::createTestOptionsImpl("google_com_proxy.v3.yaml", overlay, + OptionsImpl options(Server::createTestOptionsImpl("google_com_proxy.yaml", overlay, Network::Address::IpVersion::v6)); envoy::config::bootstrap::v3::Bootstrap bootstrap; Server::InstanceUtil::loadBootstrapConfig(bootstrap, options, diff --git a/test/exe/main_common_test.cc b/test/exe/main_common_test.cc index 08521426c13f..8428cf6b43fe 100644 --- a/test/exe/main_common_test.cc +++ b/test/exe/main_common_test.cc @@ -57,7 +57,7 @@ class MainCommonTest : public testing::TestWithParam tar -tvf ./envoy.tar -rw------- htuch/eng 0 2017-08-13 21:13 access_0.log From cc43e3abdb4600145d3cce8a39cb21071af0c96b Mon Sep 17 00:00:00 2001 From: Ryan Northey Date: Fri, 16 Oct 2020 17:13:30 +0100 Subject: [PATCH 9/9] remove version suffix from config files Signed-off-by: Ryan Northey --- CONTRIBUTING.md | 2 +- ...g_deprecated_config.v2.yaml => using_deprecated_config.yaml} | 0 docs/root/configuration/operations/runtime.rst | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename configs/{using_deprecated_config.v2.yaml => using_deprecated_config.yaml} (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1bef2955c288..bafe92bb2d8a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -69,7 +69,7 @@ versioning guidelines: cause a configuration load failure, unless the feature in question is explicitly overridden in [runtime](https://www.envoyproxy.io/docs/envoy/latest/configuration/operations/runtime#using-runtime-overrides-for-deprecated-features) - config ([example](configs/using_deprecated_config.v2.yaml)). Finally, following the deprecation + config ([example](configs/using_deprecated_config.yaml)). Finally, following the deprecation of the API major version where the field was first marked deprecated, the entire implementation code will be removed from the Envoy implementation. * This policy means that organizations deploying master should have some time to get ready for diff --git a/configs/using_deprecated_config.v2.yaml b/configs/using_deprecated_config.yaml similarity index 100% rename from configs/using_deprecated_config.v2.yaml rename to configs/using_deprecated_config.yaml diff --git a/docs/root/configuration/operations/runtime.rst b/docs/root/configuration/operations/runtime.rst index 2e72e52bb953..3ae9b3783f0e 100644 --- a/docs/root/configuration/operations/runtime.rst +++ b/docs/root/configuration/operations/runtime.rst @@ -248,7 +248,7 @@ envoy.deprecated_features:full_fieldname or envoy.deprecated_features:full_enum_ to true. For example, for a deprecated field ``Foo.Bar.Eep`` set ``envoy.deprecated_features:Foo.bar.Eep`` to ``true``. There is a production example using static runtime to allow both fail-by-default fields here: -:repo:`configs/using_deprecated_config.v2.yaml` +:repo:`configs/using_deprecated_config.yaml` Use of these override is **strongly discouraged** so please use with caution and switch to the new fields as soon as possible. Fatal-by-default configuration indicates that the removal of the old code paths is imminent. It is far better for both Envoy users and for Envoy contributors if any bugs or feature gaps