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
113 changes: 84 additions & 29 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,8 @@
/api/ @envoyproxy/api-shepherds
# access loggers
/*/extensions/access_loggers/common @auni53 @zuercher
/*/extensions/access_loggers/filters/cel @dio @douglas-reid
/*/extensions/access_loggers/open_telemetry @itamarkam @yanavlasov
/*/extensions/access_loggers/stream @mattklein123 @davinci26
# compression extensions
/*/extensions/compression/common/compressor @rojkov @junr03
/*/extensions/compression/gzip/compressor @rojkov @junr03
# alternate protocols cache extensions
/*/extensions/filters/http/alternate_protocols_cache @RyanTheOptimist @alyssawilk
# csrf extension
Expand All @@ -28,9 +24,6 @@ extensions/filters/common/original_src @snowp @klarose
/*/extensions/filters/network/thrift_proxy @zuercher @rgs1
# cdn_loop extension
/*/extensions/filters/http/cdn_loop @justin-mp @penguingao @alyssawilk
# compressor used by http compression filters
/*/extensions/filters/http/common/compressor @gsagula @rojkov @dio
/*/extensions/filters/http/compressor @rojkov @dio
# external processing filter
/*/extensions/filters/http/ext_proc @gbrail @snowp @pradeepcrao @chaoqin-li1123
/*/extensions/filters/common/mutation_rules @gbrail @snowp @pradeepcrao @chaoqin-li1123
Expand Down Expand Up @@ -63,21 +56,26 @@ extensions/filters/common/original_src @snowp @klarose
# tracers.xray extension
/*/extensions/tracers/xray @abaptiste @suniltheta @mattklein123
# tracers.skywalking extension
/*/extensions/tracers/skywalking @wbpcode @dio @lizan @Shikugawa
/*/extensions/tracers/skywalking @wbpcode @lizan @Shikugawa
# quic extension
/*/extensions/quic/ @alyssawilk @danzh2010 @mattklein123 @mpwarres @wu-bin @ggreenway
# zookeeper_proxy extension
/*/extensions/filters/network/zookeeper_proxy @rgs1 @snowp
# redis cluster extension
/*/extensions/clusters/redis @msukalski @henryyyang @mattklein123 @weisisea
/*/extensions/common/redis @msukalski @henryyyang @mattklein123 @weisisea
/*/extensions/health_checkers/redis @weisisea @mattklein123
/*/extensions/filters/network/redis_proxy @weisisea @mattklein123
/*/extensions/filters/network/common/redis @weisisea @mattklein123
# dynamic forward proxy
/*/extensions/clusters/dynamic_forward_proxy @mattklein123 @alyssawilk
/*/extensions/common/dynamic_forward_proxy @mattklein123 @alyssawilk
/*/extensions/filters/http/dynamic_forward_proxy @mattklein123 @alyssawilk
/*/extensions/filters/http/composite @snowp @mattklein123
# omit_canary_hosts retry predicate
/*/extensions/retry/host/omit_canary_hosts @sriduth @snowp
# previous hosts
/*/extensions/retry/host/previous_hosts @snowp @alyssawilk
# HTTP caching extension
/*/extensions/filters/http/cache @toddmgreer @jmarantz @penguingao @mpwarres @capoferro
# aws_iam grpc credentials
Expand Down Expand Up @@ -107,7 +105,6 @@ extensions/filters/common/original_src @snowp @klarose
/*/extensions/common/matcher @mattklein123 @yangminzhu
/*/extensions/common/proxy_protocol @alyssawilk @wez470
/*/extensions/filters/http/grpc_http1_bridge @snowp @jose
/*/extensions/filters/http/gzip @gsagula @dio
/*/extensions/filters/http/fault @rshriram @alyssawilk
/*/extensions/filters/common/fault @rshriram @alyssawilk
/*/extensions/filters/http/grpc_json_transcoder @qiwzhang @lizan
Expand Down Expand Up @@ -142,14 +139,11 @@ extensions/filters/common/original_src @snowp @klarose
# support for on-demand VHDS requests
/*/extensions/filters/http/on_demand @dmitri-d @htuch @lambdai
/*/extensions/filters/network/connection_limit @mattklein123 @alyssawilk @rojkov @delong-coder
/*/extensions/filters/network/local_ratelimit @mattklein123 @junr03
/*/extensions/filters/http/aws_request_signing @rgs1 @derekargueta @mattklein123 @marcomagdy @tonya11en
/*/extensions/filters/http/aws_lambda @mattklein123 @marcomagdy @lavignes @tonya11en
/*/extensions/filters/http/buffer @alyssawilk @mattklein123
/*/extensions/transport_sockets/raw_buffer @alyssawilk @mattklein123
# Compression
/*/extensions/compression/common @junr03 @rojkov
/*/extensions/compression/gzip @junr03 @rojkov
/*/extensions/compression/brotli @junr03 @rojkov
/*/extensions/filters/http/decompressor @rojkov @dio
# Watchdog Extensions
/*/extensions/watchdog/profile_action @kbaichoo @antoniovicente
# Core upstream code
Expand All @@ -158,12 +152,10 @@ extensions/upstreams/tcp @alyssawilk @ggreenway @mattklein123
# OAuth2
extensions/filters/http/oauth2 @rgs1 @derekargueta @snowp
# HTTP Local Rate Limit
/*/extensions/filters/http/local_ratelimit @rgs1 @mattklein123
/*/extensions/filters/common/local_ratelimit @mattklein123 @rgs1
/*/extensions/filters/http/local_ratelimit @rgs1 @mattklein123 @wbpcode
/*/extensions/filters/common/local_ratelimit @mattklein123 @rgs1 @wbpcode
# HTTP Kill Request
/*/extensions/filters/http/kill_request @qqustc @htuch
# HTTP Stateful Session
/*/extensions/filters/http/stateful_session @wbpcode @dio
# Rate limit expression descriptor
/*/extensions/rate_limit_descriptors/expr @kyessenov @lizan
# hash input matcher
Expand All @@ -181,10 +173,6 @@ extensions/filters/http/oauth2 @rgs1 @derekargueta @snowp
/*/extensions/filters/common/ratelimit @esmet @mattklein123
/*/extensions/filters/http/ratelimit @esmet @mattklein123
/*/extensions/filters/network/ratelimit @esmet @mattklein123
# External Authorization
/*/extensions/filters/common/ext_authz @esmet @gsagula @dio
/*/extensions/filters/http/ext_authz @esmet @gsagula @dio
/*/extensions/filters/network/ext_authz @esmet @gsagula @dio
# HTTP Bandwidth Limit
/*/extensions/filters/http/bandwidth_limit @nitgoy @mattklein123 @yanavlasov @tonya11en
# Original IP detection
Expand All @@ -194,18 +182,85 @@ extensions/filters/http/oauth2 @rgs1 @derekargueta @snowp
/*/extensions/filters/http/set_metadata @aguinet @snowp
# Formatters
/*/extensions/formatter/metadata @cpakulski @lizan
/*/extensions/formatter/req_without_query @dio @tsaarni
# IP address input matcher
/*/extensions/matching/input_matchers/ip @aguinet @snowp
# Key Value store
/*/extensions/key_value @alyssawilk @ryantheoptimist
# Stateful session
/*/extensions/http/stateful_session/cookie @wbpcode @dio
# DNS Resolver
/*/extensions/network/dns_resolver/cares @junr03 @yanavlasov
/*/extensions/network/dns_resolver/apple @junr03 @yanavlasov
# Config Validators
/*/extensions/config/validators/minimum_clusters @adisuissa @htuch
# DNS resolution
/*/extensions/network/dns_resolver/cares @yanavlasov @mattklein123
/*/extensions/network/dns_resolver/apple @yanavlasov @mattklein123
# compression code
/*/extensions/filters/http/decompressor @rojkov @kbaichoo
/*/extensions/filters/http/gzip @gsagula @kbaichoo
/*/extensions/filters/http/common/compressor @gsagula @rojkov @kbaichoo
/*/extensions/filters/http/compressor @rojkov @kbaichoo
/*/extensions/compression/brotli @rojkov @kbaichoo
/*/extensions/compression/common @kbaichoo @rojkov
/*/extensions/compression/gzip/decompressor @rojkov @kbaichoo
/*/extensions/compression/gzip/compressor @rojkov @kbaichoo
/*/extensions/compression/gzip/common @rojkov @kbaichoo
# cel
/*/extensions/access_loggers/filters/cel @kyessenov @douglas-reid @adisuissa
# health cehck
/*/extensions/filters/http/health_check @mattklein123 @adisuissa
# lua
/*/extensions/filters/http/lua @mattklein123 @wbpcode
/*/extensions/filters/common/lua @mattklein123 @wbpcode
# rbac
/*/extensions/filters/network/rbac @yangminzhu @yanavlasov
/*/extensions/filters/http/rbac @yangminzhu @yanavlasov
/*/extensions/filters/common/rbac @yangminzhu @yanavlasov
# tap
/*/extensions/filters/http/tap @mattklein123 @daixiang0
/*/extensions/common/tap @mattklein123 @daixiang0
/*/extensions/transport_sockets/tap @mattklein123 @daixiang0
# local rate limit
/*/extensions/filters/network/local_ratelimit @mattklein123 @wbpcode
# proxy protocol
/*/extensions/filters/listener/proxy_protocol @ggreenway @soulxu @rgs1
# access loggers
/*/extensions/access_loggers/grpc @wbpcode @cpakulski @rgs1 @giantcroc @gyohuangxin
# stats
/*/extensions/stat_sinks/statsd @mattklein123 @suniltheta
/*/extensions/stat_sinks/common @mattklein123 @suniltheta
/*/extensions/stat_sinks/common/statsd @mattklein123 @suniltheta
# access loggers
/*/extensions/access_loggers/file @wbpcode @cpakulski @rgs1 @giantcroc
# Stateful session
/*/extensions/http/stateful_session/cookie @wbpcode @cpakulski
/*/extensions/filters/http/stateful_session @wbpcode @cpakulski
# tracers
/*/extensions/tracers/zipkin @wbpcode @Shikugawa @suniltheta
/*/extensions/tracers/dynamic_ot @wbpcode @Shikugawa
/*/extensions/tracers/opencensus @wbpcode @Shikugawa
/*/extensions/tracers/common @wbpcode @Shikugawa
/*/extensions/tracers/common/ot @wbpcode @Shikugawa
# ext_authz
/*/extensions/filters/common/ext_authz @esmet @gsagula @pradeepcrao @ggreenway
/*/extensions/filters/http/ext_authz @esmet @gsagula @pradeepcrao @ggreenway
/*/extensions/filters/network/ext_authz @esmet @gsagula @pradeepcrao @ggreenway
# original dst
/*/extensions/filters/listener/original_dst @kyessenov @lambdai @lizan
# mongo proxy
/*/extensions/filters/network/mongo_proxy @mythra @giantcroc @mattklein123
# formatter
/*/extensions/formatter/req_without_query @alyssawilk @tsaarni @rgs1 @giantcroc
# IP tagging
/*/extensions/filters/http/ip_tagging @rgs1 @alyssawilk
# cors
/*/extensions/filters/http/cors @wbpcode @daixiang0

# Intentionally exempt (treated as core code)
/*/extensions/filters/common @UNOWNED @UNOWNED
/*/extensions/filters/http/common @UNOWNED @UNOWNED
/*/extensions/filters/network/common @UNOWNED @UNOWNED

# To be moved to Contrib
/*/extensions/filters/http/dynamo @UNOWNED @UNOWNED
/*/extensions/tracers/lightstep @UNOWNED @UNOWNED
/*/extensions/filters/network/client_ssl_auth @UNOWNED @UNOWNED

# Contrib
/contrib/exe/ @mattklein123 @lizan
Expand All @@ -218,5 +273,5 @@ extensions/filters/http/oauth2 @rgs1 @derekargueta @snowp
/contrib/sxg/ @cpapazian @rgs1 @alyssawilk
/contrib/sip_proxy/ @durd07 @nearbyfly @dorisd0102
/contrib/cryptomb/ @rojkov @ipuustin
/contrib/vcl/ @florincoras @rojkov
/contrib/vcl/ @florincoras @rojkov @KfreeZ
/contrib/hyperscan/ @rojkov @zhxie
83 changes: 14 additions & 69 deletions tools/code_format/check_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,53 +206,6 @@
".Times(1).WillRepeatedly": ".WillOnce",
}

UNOWNED_EXTENSIONS = {
"extensions/filters/http/buffer",
"extensions/filters/http/rbac",
"extensions/filters/http/ip_tagging",
"extensions/filters/http/tap",
"extensions/filters/http/health_check",
"extensions/filters/http/cors",
"extensions/filters/http/dynamo",
"extensions/filters/http/lua",
"extensions/filters/http/common",
"extensions/filters/common",
"extensions/filters/common/rbac",
"extensions/filters/common/lua",
"extensions/filters/listener/original_dst",
"extensions/filters/listener/proxy_protocol",
"extensions/stat_sinks/statsd",
"extensions/stat_sinks/common",
"extensions/stat_sinks/common/statsd",
"extensions/health_checkers/redis",
"extensions/access_loggers/grpc",
"extensions/access_loggers/file",
"extensions/common/tap",
"extensions/transport_sockets/raw_buffer",
"extensions/transport_sockets/tap",
"extensions/tracers/zipkin",
"extensions/tracers/dynamic_ot",
"extensions/tracers/opencensus",
"extensions/tracers/lightstep",
"extensions/tracers/common",
"extensions/tracers/common/ot",
"extensions/retry/host/previous_hosts",
"extensions/filters/network/client_ssl_auth",
"extensions/filters/network/rbac",
"extensions/filters/network/tcp_proxy",
"extensions/filters/network/echo",
"extensions/filters/network/redis_proxy",
"extensions/filters/network/kafka",
"extensions/filters/network/kafka/broker",
"extensions/filters/network/kafka/mesh",
"extensions/filters/network/kafka/mesh/command_handlers",
"extensions/filters/network/kafka/protocol",
"extensions/filters/network/kafka/serialization",
"extensions/filters/network/mongo_proxy",
"extensions/filters/network/common",
"extensions/filters/network/common/redis",
}

UNSORTED_FLAGS = {
"envoy.reloadable_features.activate_timers_next_event_loop",
"envoy.reloadable_features.grpc_json_transcoder_adhere_to_buffer_limits",
Expand Down Expand Up @@ -1033,7 +986,7 @@ def check_owners(self, dir_name, owned_directories, error_messages):
for owned in owned_directories:
if owned.startswith(dir_name) or dir_name.startswith(owned):
found = True
if not found and dir_name not in UNOWNED_EXTENSIONS:
if not found:
error_messages.append(
"New directory %s appears to not have owners in CODEOWNERS" % dir_name)

Expand Down Expand Up @@ -1196,32 +1149,24 @@ def check_visibility(error_messages):
if (e.returncode != 0 and e.returncode != 1):
error_messages.append("Failed to check visibility with command %s" % command)

def get_owners():
with open('./OWNERS.md') as f:
EXTENSIONS_CODEOWNERS_REGEX = re.compile(r'.*github.com.(.*)\)\)')
maintainers = ["@UNOWNED"]
for line in f:
if "Senior extension maintainers" in line:
return maintainers
m = EXTENSIONS_CODEOWNERS_REGEX.search(line)
if m is not None:
maintainers.append("@" + m.group(1).lower())

# Returns the list of directories with owners listed in CODEOWNERS. May append errors to
# error_messages.
def owned_directories(error_messages):
owned = []
maintainers = [
'@mattklein123',
'@htuch',
'@alyssawilk',
'@zuercher',
'@lizan',
'@snowp',
'@yanavlasov',
'@junr03',
'@dio',
'@jmarantz',
'@antoniovicente',
'@ggreenway',
'@phlax',
'@wrowe',
'@rojkov',
'@RyanTheOptimist',
'@adisuissa',
'@KBaichoo',
]

try:
maintainers = get_owners()

with open('./CODEOWNERS') as f:
for line in f:
# If this line is of the form "extensions/... @owner1 @owner2" capture the directory
Expand Down