Skip to content
Merged
Show file tree
Hide file tree
Changes from 24 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
117 changes: 89 additions & 28 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 @@ -180,10 +172,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 @@ -193,18 +181,91 @@ 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

# Maintainerless extensions (need maintainer owner)
# formatter
/*/extensions/formatter/req_without_query @UNOWNED @tsaarni @rgs1 @giantcroc
# IP tagging
/*/extensions/filters/http/ip_tagging @rgs1 @UNOWNED
# mongo proxy
/*/extensions/filters/network/mongo_proxy @mythra-stripe @giantcroc @UNOWNED
Comment thread
alyssawilk marked this conversation as resolved.
Outdated

# "Underowned" extensions (no backup reviewers, please volunter!)
# cors
/*/extensions/filters/http/cors @wbpcode @UNOWNED

# "Unowned" extensions (currently without 1 maintainer or 2 owners)
# original dst
/*/extensions/filters/listener/original_dst @UNOWNED @UNOWNED

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is critical for istio, so one of me, @lambdai, @lizan should be the owners.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could do all 3 if @lizan Oks?


# 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
Comment thread
alyssawilk marked this conversation as resolved.
/*/extensions/filters/http/dynamo @UNOWNED @UNOWNED
/*/extensions/tracers/lightstep @UNOWNED @UNOWNED
Comment thread
alyssawilk marked this conversation as resolved.
/*/extensions/filters/network/client_ssl_auth @UNOWNED @UNOWNED
Comment thread
alyssawilk marked this conversation as resolved.

# Contrib
/contrib/exe/ @mattklein123 @lizan
Expand Down
83 changes: 14 additions & 69 deletions tools/code_format/check_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,53 +204,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 @@ -1028,7 +981,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 @@ -1163,32 +1116,24 @@ def normalize_path(path):
if format_checker.check_error_messages(ct_error_messages):
sys.exit(1)

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