Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions docs/root/operations/_include/traffic_tapping_plain_text.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 8000
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: AUTO
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: app
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: service-http
http_filters:
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
transport_socket:
name: envoy.transport_sockets.tap
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tap.v3.Tap
common_config:
static_config:
match:
any_match: true
output_config:
sinks:
- format: PROTO_BINARY
file_per_tap:
path_prefix: /some/tap/path
transport_socket:
name: envoy.transport_sockets.raw_buffer
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer

clusters:
- name: service-http
type: STATIC
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: service-http
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1
port_value: 80
protocol: TCP
60 changes: 60 additions & 0 deletions docs/root/operations/_include/traffic_tapping_ssl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 8000
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: AUTO
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: app
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: service-https
http_filters:
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

clusters:
- name: service-https
type: STATIC
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: service-https
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1
port_value: 8080
protocol: TCP
transport_socket:
name: envoy.transport_sockets.tap
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tap.v3.Tap
common_config:
static_config:
match:
any_match: true
output_config:
sinks:
- format: PROTO_BINARY
file_per_tap:
path_prefix: /some/tap/path
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
49 changes: 12 additions & 37 deletions docs/root/operations/traffic_tapping.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,46 +30,21 @@ To configure traffic tapping, add an ``envoy.transport_sockets.tap`` transport s
:ref:`configuration <envoy_v3_api_msg_extensions.filters.http.tap.v3.Tap>` to the listener
or cluster. For a plain text socket this might look like:

.. code-block:: yaml

transport_socket:
name: envoy.transport_sockets.tap
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tap.v3.Tap
common_config:
static_config:
match_config:
any_match: true
output_config:
sinks:
- format: PROTO_BINARY
file_per_tap:
path_prefix: /some/tap/path
transport_socket:
name: envoy.transport_sockets.raw_buffer
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer
.. literalinclude:: _include/traffic_tapping_plain_text.yaml
:language: yaml
:lines: 29-45
:linenos:
:lineno-start: 29
:caption: :download:`traffic_tapping_plain_text.yaml <_include/traffic_tapping_plain_text.yaml>`

For a TLS socket, this will be:

.. code-block:: yaml

transport_socket:
name: envoy.transport_sockets.tap
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tap.v3.Tap
common_config:
static_config:
match_config:
any_match: true
output_config:
sinks:
- format: PROTO_BINARY
file_per_tap:
path_prefix: /some/tap/path
transport_socket:
name: envoy.transport_sockets.tls
typed_config: <TLS context>
.. literalinclude:: _include/traffic_tapping_ssl.yaml
:language: yaml
:lines: 44-60
:linenos:
:lineno-start: 44
:caption: :download:`traffic_tapping_ssl.yaml <_include/traffic_tapping_ssl.yaml>`

where the TLS context configuration replaces any existing :ref:`downstream
<envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` or :ref:`upstream
Expand Down