diff --git a/docs/BUILD b/docs/BUILD index aad5c89f0b653..65323e28015b5 100644 --- a/docs/BUILD +++ b/docs/BUILD @@ -17,6 +17,7 @@ filegroup( "root/**/*.pb", ], exclude = [ + "root/**/envoy-dynamic*.yaml", # TODO(phlax/windows-dev): figure out how to get this working on windows # "Error: unable to read file: /etc/ssl/certs/ca-certificates.crt" "root/configuration/http/http_filters/_include/dns-cache-circuit-breaker.yaml", diff --git a/docs/redirects.txt b/docs/redirects.txt index c4d2cb39faac1..e646e88d507a1 100644 --- a/docs/redirects.txt +++ b/docs/redirects.txt @@ -17,3 +17,5 @@ start/install/tools/tools.rst operations/tools/tools.rst start/install/tools/route_table_check_tool.rst operations/tools/route_table_check_tool.rst start/install/tools/schema_validator_check_tool.rst operations/tools/schema_validator_check_tool.rst start/install/tools/config_load_check_tool.rst operations/tools/config_load_check_tool.rst + +start/quick-start.rst start/quick-start/index.rst diff --git a/docs/root/start/quick-start.rst b/docs/root/start/quick-start.rst deleted file mode 100644 index 319832c71e910..0000000000000 --- a/docs/root/start/quick-start.rst +++ /dev/null @@ -1,240 +0,0 @@ -.. _start_quick_start: - - -Quick start -=========== - -The following instructions walk through starting Envoy as a system daemon or using -the Envoy Docker image. - -.. _start_quick_start_version: - -Check your Envoy version ------------------------- - -Once you have :ref:`installed Envoy `, you can check the version information as follows: - -.. tabs:: - - .. tab:: System - - .. code-block:: console - - $ envoy --version - - .. tab:: Docker - - .. substitution-code-block:: console - - $ docker run --rm envoyproxy/|envoy_docker_image| --version - -.. _start_quick_start_help: - -View the Envoy command line options ------------------------------------ - -You can view the Envoy :ref:`command line options ` with the ``--help`` -flag: - -.. tabs:: - - .. tab:: System - - .. code-block:: console - - $ envoy --help - - .. tab:: Docker - - .. substitution-code-block:: console - - $ docker run --rm envoyproxy/|envoy_docker_image| --help - -.. _start_quick_start_config: - -Run Envoy with the demo configuration -------------------------------------- - -The ``-c`` or ``--config-path`` flag tells Envoy the path to its initial configuration. - -.. tabs:: - - .. tab:: System - - To start Envoy as a system daemon :download:`download the demo configuration <_include/envoy-demo.yaml>`, and start - as follows: - - .. code-block:: console - - $ envoy -c envoy-demo.yaml - - .. tab:: Docker - - You can start the Envoy Docker image without specifying a configuration file, and - it will use the demo config by default. - - .. substitution-code-block:: console - - $ docker run --rm -d -p 9901:9901 -p 10000:10000 envoyproxy/|envoy_docker_image| - - To specify a custom configuration you can mount the config into the container, and specify the path with ``-c``. - - Assuming you have a custom configuration in the current directory named ``envoy-custom.yaml``: - - .. substitution-code-block:: console - - $ docker run --rm -d -v $(pwd)/envoy-custom.yaml:/envoy-custom.yaml -p 9901:9901 -p 10000:10000 envoyproxy/|envoy_docker_image| -c /envoy-custom.yaml - -Check Envoy is proxying on http://localhost:10000 - -.. code-block:: console - - $ curl -v localhost:10000 - -The Envoy admin endpoint should also be available at http://localhost:9901 - -.. code-block:: console - - $ curl -v localhost:9901 - -.. _start_quick_start_override: - -Override the default configuration by merging a config file ------------------------------------------------------------ - -You can provide a configuration override file using ``--config-yaml`` which will merge with the main -configuration. - -Save the following snippet to ``envoy-override.yaml``: - -.. code-block:: yaml - - listeners: - - name: listener_0 - address: - socket_address: - port_value: 20000 - -Next, start the Envoy server using the override configuration. - -.. tabs:: - - .. tab:: System - - .. code-block:: console - - $ envoy -c envoy-demo.yaml --config-yaml envoy-override.yaml - - .. tab:: Docker - - .. substitution-code-block:: console - - $ docker run --rm -d -v $(pwd)/envoy-override.yaml:/envoy-override.yaml -p 20000:20000 envoyproxy/|envoy_docker_image| --config-yaml /envoy-override.yaml - -Envoy should now be proxying on http://localhost:20000 - -.. code-block:: console - - $ curl -v localhost:20000 - -The Envoy admin endpoint should also be available at http://localhost:9901 - -.. code-block:: console - - $ curl -v localhost:9901 - -.. _start_quick_start_static: - -Static configuration --------------------- - -To start Envoy with static configuration, you will need to specify :ref:`listeners ` -and :ref:`clusters ` as -:ref:`static_resources `. - -You can also add an :ref:`admin ` section if you wish to monitor Envoy -or retrieve stats. - -The following sections walk through the static configuration provided in the -:download:`demo configuration file <_include/envoy-demo.yaml>` used as the default in the Envoy Docker container. - -.. _start_quick_start_static_static_resources: - -Static configuration: ``static_resources`` -****************************************** - -The :ref:`static_resources ` contain -everything that is configured statically when Envoy starts, as opposed to dynamically at runtime. - -.. literalinclude:: _include/envoy-demo.yaml - :language: yaml - :linenos: - :lines: 1-3 - :emphasize-lines: 1 - -.. _start_quick_start_static_listeners: - -Static configuration: ``listeners`` -*********************************** - -The example configures a :ref:`listener ` -on port ``10000``. - -All paths are matched and routed to the ``service_envoyproxy_io`` -:ref:`cluster `. - -.. literalinclude:: _include/envoy-demo.yaml - :language: yaml - :linenos: - :lines: 1-29 - :emphasize-lines: 3-27 - -.. _start_quick_start_static_clusters: - -Static configuration: ``clusters`` -********************************** - -The ``service_envoyproxy_io`` :ref:`cluster ` -proxies over ``TLS`` to https://www.envoyproxy.io. - -.. literalinclude:: _include/envoy-demo.yaml - :language: yaml - :lineno-start: 27 - :lines: 27-50 - :emphasize-lines: 3-22 - -.. _start_quick_start_static_admin: - -Static configuration: ``admin`` -******************************* - -The :ref:`admin message ` is required to enable and configure -the administration server. - -The ``address`` key specifies the listening :ref:`address ` -which in the demo configuration is ``0.0.0.0:9901``. - -.. literalinclude:: _include/envoy-demo.yaml - :language: yaml - :lineno-start: 48 - :lines: 48-55 - :emphasize-lines: 3-8 - -.. warning:: - - You may wish to restrict the network address the admin server listens to in your own deployment. - -.. _start_quick_start_dynamic: - -Dynamic configuration ---------------------- - -See the :ref:`configuration overview ` for further information on configuring Envoy with static and dynamic configuration. - -Next steps ----------- - -- Learn more about :ref:`using the Envoy Docker image ` -- Try out demo configurations in the :ref:`sandboxes ` -- Check out the :ref:`configuration generator ` and other - :ref:`Envoy tools ` diff --git a/docs/root/start/_include/envoy-demo.yaml b/docs/root/start/quick-start/_include/envoy-demo.yaml similarity index 100% rename from docs/root/start/_include/envoy-demo.yaml rename to docs/root/start/quick-start/_include/envoy-demo.yaml diff --git a/docs/root/start/quick-start/_include/envoy-dynamic-cds-demo.yaml b/docs/root/start/quick-start/_include/envoy-dynamic-cds-demo.yaml new file mode 100644 index 0000000000000..9a4d656eeb833 --- /dev/null +++ b/docs/root/start/quick-start/_include/envoy-dynamic-cds-demo.yaml @@ -0,0 +1,20 @@ +resources: +- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster + name: example_proxy_cluster + connect_timeout: 1s + type: strict_dns + http2_protocol_options: {} + load_assignment: + cluster_name: example_proxy_cluster + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: www.envoyproxy.io + port_value: 443 + transport_socket: + name: envoy.transport_sockets.tls + typed_config: + "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext + sni: www.envoyproxy.io diff --git a/docs/root/start/quick-start/_include/envoy-dynamic-control-plane-demo.yaml b/docs/root/start/quick-start/_include/envoy-dynamic-control-plane-demo.yaml new file mode 100644 index 0000000000000..e1963a104ff40 --- /dev/null +++ b/docs/root/start/quick-start/_include/envoy-dynamic-control-plane-demo.yaml @@ -0,0 +1,40 @@ +node: + cluster: test-cluster + id: test-id + +dynamic_resources: + ads_config: + api_type: GRPC + transport_api_version: V3 + grpc_services: + - envoy_grpc: + cluster_name: xds_cluster + cds_config: + resource_api_version: V3 + ads: {} + lds_config: + resource_api_version: V3 + ads: {} + +static_resources: + clusters: + - connect_timeout: 1s + type: strict_dns + http2_protocol_options: {} + name: xds_cluster + load_assignment: + cluster_name: xds_cluster + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: my-control-plane + port_value: 18000 + +admin: + access_log_path: /dev/null + address: + socket_address: + address: 0.0.0.0 + port_value: 19000 diff --git a/docs/root/start/quick-start/_include/envoy-dynamic-filesystem-demo.yaml b/docs/root/start/quick-start/_include/envoy-dynamic-filesystem-demo.yaml new file mode 100644 index 0000000000000..728ceeddc8e5a --- /dev/null +++ b/docs/root/start/quick-start/_include/envoy-dynamic-filesystem-demo.yaml @@ -0,0 +1,16 @@ +node: + cluster: test-cluster + id: test-id + +dynamic_resources: + cds_config: + path: /var/lib/envoy/cds.yaml + lds_config: + path: /var/lib/envoy/lds.yaml + +admin: + access_log_path: "/dev/null" + address: + socket_address: + address: 0.0.0.0 + port_value: 19000 diff --git a/docs/root/start/quick-start/_include/envoy-dynamic-lds-demo.yaml b/docs/root/start/quick-start/_include/envoy-dynamic-lds-demo.yaml new file mode 100644 index 0000000000000..1d07e44770b2d --- /dev/null +++ b/docs/root/start/quick-start/_include/envoy-dynamic-lds-demo.yaml @@ -0,0 +1,27 @@ +resources: +- "@type": type.googleapis.com/envoy.config.listener.v3.Listener + name: listener_0 + address: + socket_address: + address: 0.0.0.0 + port_value: 10000 + filter_chains: + - filters: + name: envoy.http_connection_manager + typed_config: + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + stat_prefix: ingress_http + http_filters: + - name: envoy.router + route_config: + name: local_route + virtual_hosts: + - name: local_service + domains: + - "*" + routes: + - match: + prefix: "/" + route: + host_rewrite_literal: www.envoyproxy.io + cluster: example_proxy_cluster diff --git a/docs/root/start/quick-start/configuration-dynamic-control-plane.rst b/docs/root/start/quick-start/configuration-dynamic-control-plane.rst new file mode 100644 index 0000000000000..3ceb430abe366 --- /dev/null +++ b/docs/root/start/quick-start/configuration-dynamic-control-plane.rst @@ -0,0 +1,97 @@ +.. _start_quick_start_dynamic_control_plane: + +Configuration: Dynamic from control plane +========================================= + +These instructions are slightly more complex as you must also set up a control plane to provide Envoy with its +configuration. + +There are a number of control planes compatible with Envoy's API such as `Gloo `_ +or `Istio `_. + +You may also wish to explore implementing your own control plane, in which case the +`Go Control Plane `_ provides a reference implementation +that is a good place to start. + +At a minimum, you will need to start Envoy configured with the following sections: + +- :ref:`node ` to uniquely identify the proxy node. +- :ref:`dynamic_resources ` to tell Envoy which configurations should be updated dynamically +- :ref:`static_resources ` to specify where Envoy should retrieve its configuration from. + +You can also add an :ref:`admin ` section if you wish to monitor Envoy or +retrieve stats or configuration information. + +The following sections walk through the dynamic configuration provided in the +:download:`demo dynamic control plane configuration file <_include/envoy-dynamic-control-plane-demo.yaml>`. + +.. _start_quick_start_dynamic_node: + +``node`` +-------- + +The :ref:`node ` should specify ``cluster`` and ``id``. + +.. literalinclude:: _include/envoy-dynamic-control-plane-demo.yaml + :language: yaml + :linenos: + :lines: 1-5 + :emphasize-lines: 1-3 + +.. _start_quick_start_dynamic_dynamic_resources: + +``dynamic_resources`` +--------------------- + +The :ref:`dynamic_resources ` specify +the configuration to load dynamically, and the :ref:`cluster ` +to connect to for dynamic configuration updates. + +In this example, the configuration is provided by the ``xds_cluster`` configured below. + +.. literalinclude:: _include/envoy-dynamic-control-plane-demo.yaml + :language: yaml + :linenos: + :lines: 3-19 + :lineno-start: 3 + :emphasize-lines: 3-15 + +.. _start_quick_start_dynamic_static_resources: + +``static_resources`` +-------------------- + +Here we specify the :ref:`static_resources ` +to retrieve dynamic configuration from. + +The ``xds_cluster`` is configured to query a control plane at http://my-control-plane:18000 . + +.. literalinclude:: _include/envoy-dynamic-control-plane-demo.yaml + :language: yaml + :linenos: + :lines: 17-35 + :lineno-start: 17 + :emphasize-lines: 3-17 + +.. _start_quick_start_dynamic_admin: + +``admin`` +--------- + +Configuring the :ref:`admin ` section is +the same as for :ref:`static configuration `. + +Enabling the :ref:`admin ` interface with +dynamic configuration, allows you to use the :ref:`config_dump ` +endpoint to see how Envoy is currently configured. + +.. literalinclude:: _include/envoy-dynamic-control-plane-demo.yaml + :language: yaml + :linenos: + :lines: 33-40 + :lineno-start: 33 + :emphasize-lines: 3-8 + +.. warning:: + + You may wish to restrict the network address the admin server listens to in your own deployment. diff --git a/docs/root/start/quick-start/configuration-dynamic-filesystem.rst b/docs/root/start/quick-start/configuration-dynamic-filesystem.rst new file mode 100644 index 0000000000000..f6d55cf7a43b4 --- /dev/null +++ b/docs/root/start/quick-start/configuration-dynamic-filesystem.rst @@ -0,0 +1,115 @@ +.. _start_quick_start_dynamic_filesystem: + +Configuration: Dynamic from filesystem +====================================== + +You can start Envoy with dynamic configuration by using files that implement the :ref:`xDS ` +protocol. + +When the files are changed on the filesystem, Envoy will automatically update its configuration. + +At a minimum, you will need to start Envoy configured with the following sections: + +- :ref:`node ` to uniquely identify the proxy node. +- :ref:`dynamic_resources ` to tell Envoy where to find its + dynamic configuration. + +For the given example you will also need two dynamic configuration files: + +- :ref:`lds.yaml ` for listeners. +- :ref:`cds.yaml ` for clusters. + +You can also add an :ref:`admin ` section if you wish to monitor Envoy or +retrieve stats or configuration information. + +The following sections walk through the dynamic configuration provided in the +:download:`demo dynamic filesystem configuration file <_include/envoy-dynamic-filesystem-demo.yaml>`. + +.. _start_quick_start_dynamic_fs_node: + +``node`` +-------- + +The :ref:`node ` should specify ``cluster`` and ``id``. + +.. literalinclude:: _include/envoy-dynamic-filesystem-demo.yaml + :language: yaml + :linenos: + :lines: 1-5 + :emphasize-lines: 1-3 + +.. _start_quick_start_dynamic_fs_dynamic_resources: + +``dynamic_resources`` +--------------------- + +The :ref:`dynamic_resources ` specify +where to load dynamic configuration from. + +In this example, the configuration is provided by the ``yaml`` files set below. + +.. literalinclude:: _include/envoy-dynamic-filesystem-demo.yaml + :language: yaml + :linenos: + :lines: 3-11 + :lineno-start: 3 + :emphasize-lines: 3-7 + +.. _start_quick_start_dynamic_fs_dynamic_lds: + +``resources`` - listeners +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The linked ``lds_config`` should be an implementation of a :ref:`Listener discovery service (LDS) `. + +The following example of a :download:`dynamic LDS file <_include/envoy-dynamic-lds-demo.yaml>`, +configures an ``HTTP`` :ref:`listener ` +on port ``10000``. + +All domains and paths are matched and routed to the ``service_envoyproxy_io`` cluster. + +The ``host`` headers are rewritten to ``www.envoyproxy.io`` + +.. literalinclude:: _include/envoy-dynamic-lds-demo.yaml + :language: yaml + :linenos: + :emphasize-lines: 6-7, 20-21, 24, 26-27 + +.. _start_quick_start_dynamic_fs_dynamic_cds: + +``resources`` - clusters +~~~~~~~~~~~~~~~~~~~~~~~~ + +The linked ``cds_config`` should be an implementation of a :ref:`Cluster discovery service (CDS) `. + +In the following example of a :download:`dynamic CDS file <_include/envoy-dynamic-cds-demo.yaml>`, +the ``example_proxy_cluster`` :ref:`cluster ` +proxies over ``TLS`` to https://www.envoyproxy.io. + +.. literalinclude:: _include/envoy-dynamic-cds-demo.yaml + :language: yaml + :linenos: + :emphasize-lines: 8, 14-15, 19-20 + +.. _start_quick_start_dynamic_fs_admin: + +``admin`` +--------- + +Configuring the :ref:`admin ` section is +the same as for :ref:`static configuration `. + +Enabling the :ref:`admin ` interface with +dynamic configuration, allows you to use the :ref:`config_dump ` +endpoint to see how Envoy is currently configured. + +.. literalinclude:: _include/envoy-dynamic-filesystem-demo.yaml + :language: yaml + :linenos: + :lines: 9-16 + :lineno-start: 9 + :emphasize-lines: 3-8 + +.. warning:: + + You may wish to restrict the network address the admin server listens to in your own deployment. diff --git a/docs/root/start/quick-start/configuration-static.rst b/docs/root/start/quick-start/configuration-static.rst new file mode 100644 index 0000000000000..74e539b529d0d --- /dev/null +++ b/docs/root/start/quick-start/configuration-static.rst @@ -0,0 +1,80 @@ +.. _start_quick_start_static: + +Configuration: Static +===================== + +To start Envoy with static configuration, you will need to specify :ref:`listeners ` +and :ref:`clusters ` as +:ref:`static_resources `. + +You can also add an :ref:`admin ` section if you wish to monitor Envoy +or retrieve stats. + +The following sections walk through the static configuration provided in the +:download:`demo configuration file <_include/envoy-demo.yaml>` used as the default in the Envoy Docker container. + +.. _start_quick_start_static_static_resources: + +``static_resources`` +-------------------- + +The :ref:`static_resources ` contain +everything that is configured statically when Envoy starts, as opposed to dynamically at runtime. + +.. literalinclude:: _include/envoy-demo.yaml + :language: yaml + :linenos: + :lines: 1-3 + :emphasize-lines: 1 + +.. _start_quick_start_static_listeners: + +``listeners`` +------------- + +The example configures a :ref:`listener ` +on port ``10000``. + +All paths are matched and routed to the ``service_envoyproxy_io`` +:ref:`cluster `. + +.. literalinclude:: _include/envoy-demo.yaml + :language: yaml + :linenos: + :lines: 1-29 + :emphasize-lines: 3-27 + +.. _start_quick_start_static_clusters: + +``clusters`` +------------ + +The ``service_envoyproxy_io`` :ref:`cluster ` +proxies over ``TLS`` to https://www.envoyproxy.io. + +.. literalinclude:: _include/envoy-demo.yaml + :language: yaml + :lineno-start: 27 + :lines: 27-50 + :emphasize-lines: 3-22 + +.. _start_quick_start_static_admin: + +``admin`` +--------- + +The :ref:`admin message ` is required to enable and configure +the administration server. + +The ``address`` key specifies the listening :ref:`address ` +which in the demo configuration is ``0.0.0.0:9901``. + +.. literalinclude:: _include/envoy-demo.yaml + :language: yaml + :lineno-start: 48 + :lines: 48-55 + :emphasize-lines: 3-8 + +.. warning:: + + You may wish to restrict the network address the admin server listens to in your own deployment. diff --git a/docs/root/start/quick-start/index.rst b/docs/root/start/quick-start/index.rst new file mode 100644 index 0000000000000..566b82f0a084c --- /dev/null +++ b/docs/root/start/quick-start/index.rst @@ -0,0 +1,16 @@ +.. _start_quick_start: + +Quick start +=========== + +The quick start section takes you through basic operations with the Envoy server, and +provides an introduction to the types of configuration Envoy can be used with. + +.. toctree:: + :maxdepth: 3 + + run-envoy + configuration-static + configuration-dynamic-filesystem + configuration-dynamic-control-plane + next-steps diff --git a/docs/root/start/quick-start/next-steps.rst b/docs/root/start/quick-start/next-steps.rst new file mode 100644 index 0000000000000..cadf47c0f6cdd --- /dev/null +++ b/docs/root/start/quick-start/next-steps.rst @@ -0,0 +1,23 @@ +.. _start_quick_start_next_steps: + +Next steps +========== + +Setup a Docker deployment +------------------------- + +Learn more about :ref:`using the Envoy Docker image `. + +You can also :ref:`build your own Envoy and/or Docker image `. + +Run example sandboxes +--------------------- + +The provided :ref:`sandboxes ` are a great way to gain more experience in using Envoy, +and can be used to model your own deployments. + +Build your Envoy configuration +------------------------------ + +Check out the :ref:`configuration generator ` and other +:ref:`Envoy tools ` for working with Envoy configuration. diff --git a/docs/root/start/quick-start/run-envoy.rst b/docs/root/start/quick-start/run-envoy.rst new file mode 100644 index 0000000000000..b3188c395522c --- /dev/null +++ b/docs/root/start/quick-start/run-envoy.rst @@ -0,0 +1,160 @@ +.. _start_quick_start_run_envoy: + + +Run Envoy +========= + +The following instructions walk through starting Envoy as a system daemon or using +the Envoy Docker image. + +.. _start_quick_start_version: + +Check your Envoy version +------------------------ + +Once you have :ref:`installed Envoy `, you can check the version information as follows: + +.. tabs:: + + .. tab:: System + + .. code-block:: console + + $ envoy --version + + .. tab:: Docker + + .. substitution-code-block:: console + + $ docker run --rm \ + envoyproxy/|envoy_docker_image| \ + --version + +.. _start_quick_start_help: + +View the Envoy command line options +----------------------------------- + +You can view the Envoy :ref:`command line options ` with the ``--help`` +flag: + +.. tabs:: + + .. tab:: System + + .. code-block:: console + + $ envoy --help + + .. tab:: Docker + + .. substitution-code-block:: console + + $ docker run --rm \ + envoyproxy/|envoy_docker_image| \ + --help + +.. _start_quick_start_config: + +Run Envoy with the demo configuration +------------------------------------- + +The ``-c`` or ``--config-path`` flag tells Envoy the path to its initial configuration. + +.. tabs:: + + .. tab:: System + + To start Envoy as a system daemon :download:`download the demo configuration <_include/envoy-demo.yaml>`, and start + as follows: + + .. code-block:: console + + $ envoy -c envoy-demo.yaml + + .. tab:: Docker + + You can start the Envoy Docker image without specifying a configuration file, and + it will use the demo config by default. + + .. substitution-code-block:: console + + $ docker run --rm -d \ + -p 9901:9901 \ + -p 10000:10000 \ + envoyproxy/|envoy_docker_image| + + To specify a custom configuration you can mount the config into the container, and specify the path with ``-c``. + + Assuming you have a custom configuration in the current directory named ``envoy-custom.yaml``: + + .. substitution-code-block:: console + + $ docker run --rm -d \ + -v $(pwd)/envoy-custom.yaml:/envoy-custom.yaml \ + -p 9901:9901 \ + -p 10000:10000 \ + envoyproxy/|envoy_docker_image| \ + -c /envoy-custom.yaml + +Check Envoy is proxying on http://localhost:10000 + +.. code-block:: console + + $ curl -v localhost:10000 + +The Envoy admin endpoint should also be available at http://localhost:9901 + +.. code-block:: console + + $ curl -v localhost:9901 + +.. _start_quick_start_override: + +Override the default configuration by merging a config file +----------------------------------------------------------- + +You can provide a configuration override file using ``--config-yaml`` which will merge with the main +configuration. + +Save the following snippet to ``envoy-override.yaml``: + +.. code-block:: yaml + + listeners: + - name: listener_0 + address: + socket_address: + port_value: 20000 + +Next, start the Envoy server using the override configuration. + +.. tabs:: + + .. tab:: System + + .. code-block:: console + + $ envoy -c envoy-demo.yaml --config-yaml envoy-override.yaml + + .. tab:: Docker + + .. substitution-code-block:: console + + $ docker run --rm -d \ + -v $(pwd)/envoy-override.yaml:/envoy-override.yaml \ + -p 20000:20000 \ + envoyproxy/|envoy_docker_image| \ + --config-yaml /envoy-override.yaml + +Envoy should now be proxying on http://localhost:20000 + +.. code-block:: console + + $ curl -v localhost:20000 + +The Envoy admin endpoint should also be available at http://localhost:9901 + +.. code-block:: console + + $ curl -v localhost:9901 diff --git a/docs/root/start/start.rst b/docs/root/start/start.rst index 27c3b31c1ad85..2747baa3e3345 100644 --- a/docs/root/start/start.rst +++ b/docs/root/start/start.rst @@ -16,7 +16,7 @@ feature of the API, which is most useful for simple requirements. For more compl :maxdepth: 3 install - quick-start + quick-start/index docker building diff --git a/examples/dynamic-config-cp/envoy.yaml b/examples/dynamic-config-cp/envoy.yaml index 7d44f9ae63959..8f63bcfba0d65 100644 --- a/examples/dynamic-config-cp/envoy.yaml +++ b/examples/dynamic-config-cp/envoy.yaml @@ -32,15 +32,6 @@ static_resources: address: go-control-plane port_value: 18000 -layered_runtime: - layers: - - name: runtime-0 - rtds_layer: - name: runtime-0 - rtds_config: - resource_api_version: V3 - ads: {} - admin: access_log_path: /dev/null address: