<commit_before>.. only:: not (epub or latex or html)

    WARNING: You are looking at unreleased Cilium documentation.
    Please use the official rendered version released here:
    https://docs.cilium.io

.. _gs_l7_traffic_management:

***************************
L7-Aware Traffic Management
***************************

Cilium provides a way to control L7 traffic via CRDs (e.g. CiliumEnvoyConfig
and CiliumClusterwideEnvoyConfig).

.. include:: installation.rst

Supported Envoy API Versions
============================

As of now only the Envoy API v3 is supported.

Supported Envoy Extension Resource Types
========================================

Envoy extensions are resource types that may or may not be built in to
an Envoy build. The standard types referred to in Envoy documentation,
such as ``type.googleapis.com/envoy.config.listener.v3.Listener``, and
``type.googleapis.com/envoy.config.route.v3.RouteConfiguration``, are
always available.

Cilium nodes deploy an Envoy image to support Cilium HTTP policy
enforcement and observability. This build of Envoy has been optimized
for the needs of the Cilium Agent and does not contain many of the
Envoy extensions available in the Envoy code base.

To see which Envoy extensions are available, please have a look at
the `Envoy extensions configuration
file <https://github.com/cilium/proxy/blob/master/envoy_build_config/extensions_build_config.bzl>`_.
Only the extensions that have not been commented out with ``#`` are
built in to the Cilium Envoy image. Currently this contains the
following extensions:

- ``envoy.filters.http.router``
- ``envoy.filters.listener.tls_inspector``
- ``envoy.filters.network.http_connection_manager``
- ``envoy.filters.network.mongo_proxy``
- ``envoy.filters.network.mysql_proxy``
- ``envoy.filters.network.tcp_proxy``
- ``envoy.stat_sinks.metrics_service``
- ``envoy.transport_sockets.raw_buffer``

We will evolve the list of built-in extensions based on user
feedback.

Examples
########

Please refer to one of the below examples on how to use and leverage
Cilium's Ingress features:

.. toctree::
   :maxdepth: 1
   :glob:

   envoy-custom-listener
   envoy-traffic-management<commit_msg>docs: Add more envoy supported extensions<commit_after>.. only:: not (epub or latex or html)

    WARNING: You are looking at unreleased Cilium documentation.
    Please use the official rendered version released here:
    https://docs.cilium.io

.. _gs_l7_traffic_management:

***************************
L7-Aware Traffic Management
***************************

Cilium provides a way to control L7 traffic via CRDs (e.g. CiliumEnvoyConfig
and CiliumClusterwideEnvoyConfig).

.. include:: installation.rst

Supported Envoy API Versions
============================

As of now only the Envoy API v3 is supported.

Supported Envoy Extension Resource Types
========================================

Envoy extensions are resource types that may or may not be built in to
an Envoy build. The standard types referred to in Envoy documentation,
such as ``type.googleapis.com/envoy.config.listener.v3.Listener``, and
``type.googleapis.com/envoy.config.route.v3.RouteConfiguration``, are
always available.

Cilium nodes deploy an Envoy image to support Cilium HTTP policy
enforcement and observability. This build of Envoy has been optimized
for the needs of the Cilium Agent and does not contain many of the
Envoy extensions available in the Envoy code base.

To see which Envoy extensions are available, please have a look at
the `Envoy extensions configuration
file <https://github.com/cilium/proxy/blob/master/envoy_build_config/extensions_build_config.bzl>`_.
Only the extensions that have not been commented out with ``#`` are
built in to the Cilium Envoy image. Currently this contains the
following extensions:

- ``envoy.clusters.dynamic_forward_proxy``
- ``envoy.filters.http.dynamic_forward_proxy``
- ``envoy.filters.http.ext_authz``
- ``envoy.filters.http.local_ratelimit``
- ``envoy.filters.http.ratelimit``
- ``envoy.filters.http.router``
- ``envoy.filters.http.set_metadata``
- ``envoy.filters.listener.tls_inspector``
- ``envoy.filters.network.connection_limit``
- ``envoy.filters.network.ext_authz``
- ``envoy.filters.network.http_connection_manager``
- ``envoy.filters.network.local_ratelimit``
- ``envoy.filters.network.mongo_proxy``
- ``envoy.filters.network.mysql_proxy``
- ``envoy.filters.network.ratelimit``
- ``envoy.filters.network.tcp_proxy``
- ``envoy.filters.network.sni_cluster``
- ``envoy.filters.network.sni_dynamic_forward_proxy``
- ``envoy.stat_sinks.metrics_service``
- ``envoy.transport_sockets.raw_buffer``
- ``envoy.upstreams.http.http``
- ``envoy.upstreams.http.tcp``

We will evolve the list of built-in extensions based on user
feedback.

Examples
########

Please refer to one of the below examples on how to use and leverage
Cilium's Ingress features:

.. toctree::
   :maxdepth: 1
   :glob:

   envoy-custom-listener
   envoy-traffic-management
{'fraction_non_alphanumeric': 0.1405274813770888, 'fraction_numerical': 0.0028186027783370245, 'mean_word_length': 5.0218181818181815, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '937773', 'n_tokens_mistral': 1481, 'n_tokens_neox': 1434, 'n_words': 470}