1// Copyright 2018 Envoyproxy Authors
2//
3//   Licensed under the Apache License, Version 2.0 (the "License");
4//   you may not use this file except in compliance with the License.
5//   You may obtain a copy of the License at
6//
7//       http://www.apache.org/licenses/LICENSE-2.0
8//
9//   Unless required by applicable law or agreed to in writing, software
10//   distributed under the License is distributed on an "AS IS" BASIS,
11//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//   See the License for the specific language governing permissions and
13//   limitations under the License.
14
15// Package wellknown contains common names for filters, listeners, etc.
16package wellknown
17
18// HTTP filter names
19const (
20	// Buffer HTTP filter
21	Buffer = "envoy.filters.http.buffer"
22	// CORS HTTP filter
23	CORS = "envoy.filters.http.cors"
24	// Dynamo HTTP filter
25	Dynamo = "envoy.filters.http.dynamo"
26	// Fault HTTP filter
27	Fault = "envoy.filters.http.fault"
28	// GRPCHTTP1Bridge HTTP filter
29	GRPCHTTP1Bridge = "envoy.filters.http.grpc_http1_bridge"
30	// GRPCJSONTranscoder HTTP filter
31	GRPCJSONTranscoder = "envoy.filters.http.grpc_json_transcoder"
32	// GRPCWeb HTTP filter
33	GRPCWeb = "envoy.filters.http.grpc_web"
34	// Gzip HTTP filter
35	Gzip = "envoy.filters.http.gzip"
36	// IPTagging HTTP filter
37	IPTagging = "envoy.filters.http.ip_tagging"
38	// HTTPRateLimit filter
39	HTTPRateLimit = "envoy.filters.http.ratelimit"
40	// Router HTTP filter
41	Router = "envoy.filters.http.router"
42	// Health checking HTTP filter
43	HealthCheck = "envoy.filters.http.health_check"
44	// Lua HTTP filter
45	Lua = "envoy.filters.http.lua"
46	// Squash HTTP filter
47	Squash = "envoy.filters.http.squash"
48	// HTTPExternalAuthorization HTTP filter
49	HTTPExternalAuthorization = "envoy.filters.http.ext_authz"
50	// HTTPRoleBasedAccessControl HTTP filter
51	HTTPRoleBasedAccessControl = "envoy.filters.http.rbac"
52	// HTTPGRPCStats HTTP filter
53	HTTPGRPCStats = "envoy.filters.http.grpc_stats"
54)
55
56// Network filter names
57const (
58	// ClientSSLAuth network filter
59	ClientSSLAuth = "envoy.filters.network.client_ssl_auth"
60	// Echo network filter
61	Echo = "envoy.filters.network.echo"
62	// HTTPConnectionManager network filter
63	HTTPConnectionManager = "envoy.filters.network.http_connection_manager"
64	// TCPProxy network filter
65	TCPProxy = "envoy.filters.network.tcp_proxy"
66	// RateLimit network filter
67	RateLimit = "envoy.filters.network.ratelimit"
68	// MongoProxy network filter
69	MongoProxy = "envoy.filters.network.mongo_proxy"
70	// ThriftProxy network filter
71	ThriftProxy = "envoy.filters.network.thrift_proxy"
72	// RedisProxy network filter
73	RedisProxy = "envoy.filters.network.redis_proxy"
74	// MySQLProxy network filter
75	MySQLProxy = "envoy.filters.network.mysql_proxy"
76	// ExternalAuthorization network filter
77	ExternalAuthorization = "envoy.filters.network.ext_authz"
78	// RoleBasedAccessControl network filter
79	RoleBasedAccessControl = "envoy.filters.network.rbac"
80)
81
82// Listener filter names
83const (
84	// OriginalDestination listener filter
85	OriginalDestination = "envoy.filters.listener.original_dst"
86	// ProxyProtocol listener filter
87	ProxyProtocol = "envoy.filters.listener.proxy_protocol"
88	// TlsInspector listener filter
89	TlsInspector = "envoy.filters.listener.tls_inspector"
90	// HttpInspector listener filter
91	HttpInspector = "envoy.filters.listener.http_inspector"
92)
93
94// Tracing provider names
95const (
96	// Lightstep tracer name
97	Lightstep = "envoy.tracers.lightstep"
98	// Zipkin tracer name
99	Zipkin = "envoy.tracers.zipkin"
100	// DynamicOT tracer name
101	DynamicOT = "envoy.tracers.dynamic_ot"
102	// Datadog tracer name
103	Datadog = "envoy.tracers.datadog"
104)
105
106// Stats sink names
107const (
108	// Statsd sink
109	Statsd = "envoy.stat_sinks.statsd"
110	// DogStatsD compatible stastsd sink
111	DogStatsd = "envoy.stat_sinks.dog_statsd"
112	// MetricsService sink
113	MetricsService = "envoy.stat_sinks.metrics_service"
114)
115
116// Access log sink names
117const (
118	// FileAccessLog sink name
119	FileAccessLog = "envoy.access_loggers.file"
120	// HTTPGRPCAccessLog sink for the HTTP gRPC access log service
121	HTTPGRPCAccessLog = "envoy.access_loggers.http_grpc"
122)
123
124// Transport socket names
125const (
126	// TransportSocket Alts
127	TransportSocketAlts = "envoy.transport_sockets.alts"
128	// TransportSocket Tap
129	TransportSocketTap = "envoy.transport_sockets.tap"
130	// TransportSocket RawBuffer
131	TransportSocketRawBuffer = "envoy.transport_sockets.raw_buffer"
132	// TransportSocket Tls
133	TransportSocketTls = "envoy.transport_sockets.tls"
134	// TransportSocket Quic
135	TransportSocketQuic = "envoy.transport_sockets.quic"
136)
137