|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package envoy.api.v2.core;
|
|
|
|
|
|
|
|
import "envoy/api/v2/core/socket_option.proto";
|
|
|
|
|
|
|
|
import "google/protobuf/wrappers.proto";
|
|
|
|
|
|
|
|
import "udpa/annotations/migrate.proto";
|
|
|
|
import "udpa/annotations/status.proto";
|
|
|
|
import "validate/validate.proto";
|
|
|
|
|
|
|
|
option java_package = "io.envoyproxy.envoy.api.v2.core";
|
|
|
|
option java_outer_classname = "AddressProto";
|
|
|
|
option java_multiple_files = true;
|
|
|
|
option go_package = "github.com/envoyproxy/go-control-plane/envoy/api/v2/core";
|
|
|
|
option (udpa.annotations.file_migrate).move_to_package = "envoy.config.core.v3";
|
|
|
|
option (udpa.annotations.file_status).package_version_status = FROZEN;
|
|
|
|
|
|
|
|
// [#protodoc-title: Network addresses]
|
|
|
|
|
|
|
|
message Pipe {
|
|
|
|
// Unix Domain Socket path. On Linux, paths starting with '@' will use the
|
|
|
|
// abstract namespace. The starting '@' is replaced by a null byte by Envoy.
|
|
|
|
// Paths starting with '@' will result in an error in environments other than
|
|
|
|
// Linux.
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
string path = 1 [(validate.rules).string = {min_bytes: 1}];
|
|
|
|
|
|
|
|
// The mode for the Pipe. Not applicable for abstract sockets.
|
|
|
|
uint32 mode = 2 [(validate.rules).uint32 = {lte: 511}];
|
|
|
|
}
|
|
|
|
|
|
|
|
// [#next-free-field: 7]
|
|
|
|
message SocketAddress {
|
|
|
|
enum Protocol {
|
|
|
|
TCP = 0;
|
|
|
|
UDP = 1;
|
|
|
|
}
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
|
|
|
|
Protocol protocol = 1 [(validate.rules).enum = {defined_only: true}];
|
|
|
|
|
|
|
|
// The address for this socket. :ref:`Listeners <config_listeners>` will bind
|
|
|
|
// to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
|
|
|
|
// to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
|
|
|
|
// It is possible to distinguish a Listener address via the prefix/suffix matching
|
|
|
|
// in :ref:`FilterChainMatch <envoy_api_msg_listener.FilterChainMatch>`.] When used
|
|
|
|
// within an upstream :ref:`BindConfig <envoy_api_msg_core.BindConfig>`, the address
|
|
|
|
// controls the source address of outbound connections. For :ref:`clusters
|
|
|
|
// <envoy_api_msg_Cluster>`, the cluster type determines whether the
|
|
|
|
// address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
|
|
|
|
// (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
|
|
|
|
// via :ref:`resolver_name <envoy_api_field_core.SocketAddress.resolver_name>`.
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
string address = 2 [(validate.rules).string = {min_bytes: 1}];
|
|
|
|
|
|
|
|
oneof port_specifier {
|
|
|
|
option (validate.required) = true;
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
|
|
|
|
uint32 port_value = 3 [(validate.rules).uint32 = {lte: 65535}];
|
|
|
|
|
|
|
|
// This is only valid if :ref:`resolver_name
|
|
|
|
// <envoy_api_field_core.SocketAddress.resolver_name>` is specified below and the
|
|
|
|
// named resolver is capable of named port resolution.
|
|
|
|
string named_port = 4;
|
|
|
|
}
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
|
|
|
|
// The name of the custom resolver. This must have been registered with Envoy. If
|
|
|
|
// this is empty, a context dependent default applies. If the address is a concrete
|
|
|
|
// IP address, no resolution will occur. If address is a hostname this
|
|
|
|
// should be set for resolution other than DNS. Specifying a custom resolver with
|
|
|
|
// *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime.
|
|
|
|
string resolver_name = 5;
|
|
|
|
|
|
|
|
// When binding to an IPv6 address above, this enables `IPv4 compatibility
|
|
|
|
// <https://tools.ietf.org/html/rfc3493#page-11>`_. Binding to ``::`` will
|
|
|
|
// allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
|
|
|
|
// IPv6 space as ``::FFFF:<IPv4-address>``.
|
|
|
|
bool ipv4_compat = 6;
|
|
|
|
}
|
|
|
|
|
|
|
|
message TcpKeepalive {
|
|
|
|
// Maximum number of keepalive probes to send without response before deciding
|
|
|
|
// the connection is dead. Default is to use the OS level configuration (unless
|
|
|
|
// overridden, Linux defaults to 9.)
|
|
|
|
google.protobuf.UInt32Value keepalive_probes = 1;
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
|
|
|
|
// The number of seconds a connection needs to be idle before keep-alive probes
|
|
|
|
// start being sent. Default is to use the OS level configuration (unless
|
|
|
|
// overridden, Linux defaults to 7200s (i.e., 2 hours.)
|
|
|
|
google.protobuf.UInt32Value keepalive_time = 2;
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
|
|
|
|
// The number of seconds between keep-alive probes. Default is to use the OS
|
|
|
|
// level configuration (unless overridden, Linux defaults to 75s.)
|
|
|
|
google.protobuf.UInt32Value keepalive_interval = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message BindConfig {
|
|
|
|
// The address to bind to when creating a socket.
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
SocketAddress source_address = 1 [(validate.rules).message = {required: true}];
|
|
|
|
|
|
|
|
// Whether to set the *IP_FREEBIND* option when creating the socket. When this
|
|
|
|
// flag is set to true, allows the :ref:`source_address
|
|
|
|
// <envoy_api_field_UpstreamBindConfig.source_address>` to be an IP address
|
|
|
|
// that is not configured on the system running Envoy. When this flag is set
|
|
|
|
// to false, the option *IP_FREEBIND* is disabled on the socket. When this
|
|
|
|
// flag is not set (default), the socket is not modified, i.e. the option is
|
|
|
|
// neither enabled nor disabled.
|
|
|
|
google.protobuf.BoolValue freebind = 2;
|
|
|
|
|
|
|
|
// Additional socket options that may not be present in Envoy source code or
|
|
|
|
// precompiled binaries.
|
|
|
|
repeated SocketOption socket_options = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Addresses specify either a logical or physical address and port, which are
|
|
|
|
// used to tell Envoy where to bind/listen, connect to upstream and find
|
|
|
|
// management servers.
|
|
|
|
message Address {
|
|
|
|
oneof address {
|
|
|
|
option (validate.required) = true;
|
|
|
|
|
|
|
|
SocketAddress socket_address = 1;
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
|
|
|
|
Pipe pipe = 2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// CidrRange specifies an IP Address and a prefix length to construct
|
|
|
|
// the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.
|
|
|
|
message CidrRange {
|
|
|
|
// IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
string address_prefix = 1 [(validate.rules).string = {min_bytes: 1}];
|
|
|
|
|
|
|
|
// Length of prefix, e.g. 0, 32. Defaults to 0 when unset.
|
api: protoxform tool and API reformat. (#8309)
This patch introduces a new tool, protoxform, that will be the basis of
the v2 -> v3 migration tooling. It operates as a Python protoc plugin,
within the same framework as protodoc, and provides the ability to
operate on protoc AST input and generate proto output.
As a first step, the tool is applied reflexively on v2, and functions as
a formatting tool. In later patches, this will be added to
check_format/fix_format scripts and CI.
Part of #8082.
Risk level: medium (it's possible that some inadvertent wire changes
occur, if they do, this patch should be rolled back).
Testing: manual inspection of diff, bazel test //test/..., some
grep/diff scripts to ensure we haven't lost any comments.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 08b123a8321d359ea66cbbc0e2926545798dabd3
5 years ago
|
|
|
google.protobuf.UInt32Value prefix_len = 2 [(validate.rules).uint32 = {lte: 128}];
|
|
|
|
}
|