github.com/cilium/cilium@v1.16.2/CODEOWNERS (about) 1 # Code owners are used by the Cilium community to consolidate common knowledge 2 # into teams that can provide consistent and actionable feedback to 3 # contributors. This section will describe groups of teams and suggestions 4 # about the focus areas for review. 5 # 6 # The primary motivation for these teams is to provide structure around review 7 # processes to ensure that contributors know how to reach out to community 8 # members to conduct discussions, ensure contributions meet the expectations of 9 # the community, and align on the direction of proposed changes. Furthermore, 10 # while these teams are primarily drawn upon to provide review on specific pull 11 # requests, they are also encouraged to self-organize around how to make 12 # improvements to their areas of the Cilium project over time. 13 # 14 # Any committer may self-nominate to code owner teams. Reach out to the core 15 # team on the #committers channel in Slack to coordinate. Committers do not 16 # require expert knowledge in an area in order to join a code owner team, 17 # only a willingness to engage in discussions and learn about the area. 18 # 19 # Project-wide 20 # ++++++++++++ 21 # 22 # These code owners may provide feedback for Pull Requests submitted to any 23 # repository in the Cilium project: 24 # 25 # - @cilium/api: 26 # Ensure the backwards-compatibility of Cilium REST and gRPC APIs, excluding 27 # Hubble which is owned by @cilium/sig-hubble-api. 28 # - @cilium/build: 29 # Provide feedback on languages and scripting used for build and packaging 30 # system: Make, Shell, Docker. 31 # - @cilium/cli: 32 # Provide user experience feedback on changes to Command-Line Interfaces. 33 # These owners are a stand-in for the user community to bring a user 34 # perspective to the review process. Consider how information is presented, 35 # consistency of flags and options. 36 # - @cilium/ci-structure: 37 # Provide guidance around the best use of Cilium project continuous 38 # integration and testing infrastructure, including GitHub actions, VM 39 # helpers, testing frameworks, etc. 40 # - @cilium/community: 41 # Maintain files that refer to Cilium community users such as USERS.md. 42 # - @cilium/contributing: 43 # Encourage practices that ensure an inclusive contributor community. Review 44 # tooling and scripts used by contributors. 45 # - @cilium/docs-structure: 46 # Ensure the consistency and layout of documentation. General feedback on the 47 # use of Sphinx, how to communicate content clearly to the community. This 48 # code owner is not expected to validate the technical correctness of 49 # submissions. Correctness is typically handled by another code owner group 50 # which is also assigned to any given piece of documentation. 51 # - @cilium/sig-foundations: 52 # Review changes to the core libraries and provide guidance to overall 53 # software architecture. 54 # - @cilium/github-sec: 55 # Responsible for maintaining the security of repositories in the Cilium 56 # project by maintaining best practices for workflow usage, for instance 57 # preventing malicious use of GitHub actions. 58 # - @cilium/helm: 59 # Provide input on the way that Helm can be used to configure features. These 60 # owners are a stand-in for the user community to bring a user perspective to 61 # the review process. Ensure that Helm changes are defined in manners that 62 # will be forward-compatible for upgrade and follow best practices for 63 # deployment (for example, being GitOps-friendly). 64 # - @cilium/sig-hubble-api: 65 # Review all Hubble API related changes. The Hubble API covers gRPC and 66 # metrics endpoints. The team ensures that API changes are backward 67 # compatible or that a new API version is created for backward incompatible 68 # changes. 69 # - @cilium/metrics: 70 # Provide recommendations about the types, names and labels for metrics to 71 # follow best practices. This includes considering the cardinality impact of 72 # metrics being added or extended. 73 # - @cilium/release-managers: 74 # Review files related to releases like AUTHORS and VERSION. 75 # - @cilium/security: 76 # Provide feedback on changes that could have security implications for Cilium, 77 # and maintain security-related documentation. 78 # - @cilium/tophat: 79 # Top Hat duties rotate between the committer group from week to week, and 80 # they may assist in maintenance, triage and backporting duties across 81 # different Cilium repositories. Catch-all for code not otherwise owned by a 82 # team. 83 # - @cilium/vendor: 84 # Review vendor updates for software dependencies to check for any potential 85 # upstream breakages / incompatibilities. Discourage the use of unofficial 86 # forks of upstream libraries if they are actively maintained. 87 # 88 # Repository Owners 89 # +++++++++++++++++ 90 # 91 # The following code owners are responsible for a range of general feedback for 92 # contributions to specific repositories: 93 # 94 # - @cilium/sig-hubble: 95 # Review all Cilium and Hubble code related to observing system events, 96 # exporting those via gRPC protocols outside the node and outside the 97 # cluster. those event channels, for example via TLS. 98 # - @cilium/hubble-ui: 99 # Maintain the Hubble UI graphical interface. 100 # - @cilium/tetragon: 101 # Review of all Tetragon code, both for Go and C (for eBPF). 102 # 103 # The teams above are responsible for reviewing the majority of contributions 104 # to the corresponding repositories. Additionally, there are "maintainer" teams 105 # listed below which may not be responsible for overall code review for a 106 # repository, but they have administrator access to the repositories and so 107 # they can assist with configuring GitHub repository settings, secrets, and 108 # related processes. For the full codeowners for individual repositories, see 109 # the CODEOWNERS file in the corresponding repository. 110 # 111 # - @cilium/cilium-cli-maintainers 112 # - @cilium/cilium-maintainers 113 # - @cilium/cilium-packer-ci-build-maintainers 114 # - @cilium/ebpf-lib-maintainers 115 # - @cilium/hubble-maintainers 116 # - @cilium/image-tools-maintainers 117 # - @cilium/metallb-maintainers 118 # - @cilium/openshift-terraform-maintainers 119 # - @cilium/proxy-maintainers 120 # - @cilium/tetragon-maintainers 121 # 122 # Cloud Integrations 123 # ++++++++++++++++++ 124 # 125 # The following codeowner groups provide insight into the integrations with 126 # specific cloud providers: 127 # 128 # - @cilium/alibabacloud 129 # - @cilium/aws 130 # - @cilium/azure 131 # 132 # Cilium Internals 133 # ++++++++++++++++ 134 # 135 # The following codeowner groups cover more specific knowledge about Cilium 136 # Agent internals or the way that particular Cilium features interact with 137 # external software and protocols: 138 # 139 # - @cilium/docker: 140 # Maintain the deprecated docker-plugin. 141 # - @cilium/endpoint: 142 # Provide background on how the Cilium Endpoint package fits into the overall 143 # agent architecture, relationship with generation of policy / datapath 144 # constructs, serialization and restore from disk. 145 # - @cilium/envoy: 146 # Maintain the L7 proxy integration with Envoy. This includes the 147 # configurations for Envoy via xDS protocols as well as the extensible 148 # proxylib framework for Go-based layer 7 filters. 149 # - @cilium/egress-gateway: 150 # Maintain the egress gateway control plane and datapath logic. 151 # - @cilium/fqdn: 152 # Maintain the L7 DNS proxy integration. 153 # - @cilium/ipcache: 154 # Provide background on how the userspace IPCache structure fits into the 155 # overall agent architecture, ordering constraints with respect to network 156 # policies and encryption. Handle the relationship between Kubernetes state 157 # and datapath state as it pertains to remote peers. 158 # - @cilium/ipsec: 159 # Maintain the kernel IPsec configuration and related eBPF logic to ensure 160 # traffic is correctly encrypted. 161 # - @cilium/kvstore: 162 # Review Cilium interactions with key-value stores, particularly etcd. 163 # Understand the client libraries used by Cilium for sharing state between 164 # nodes and clusters. 165 # - @cilium/loader: 166 # Maintain the tooling that allows eBPF programs to be loaded into the 167 # kernel: LLVM, bpftool, use of cilium/ebpf for loading programs in the 168 # agent, ELF templating, etc. 169 # - @cilium/operator: 170 # Review operations that occur once per cluster via the Cilium Operator 171 # component. Take care of the corresponding garbage collection and leader 172 # election logic. 173 # - @cilium/proxy: 174 # Review low-level implementations used to redirect L7 traffic to the actual 175 # proxy implementations (FQDN, Envoy, ...). 176 # - @cilium/sig-agent: 177 # Provide Cilium (agent) general Go review. Internal architecture, core data 178 # structures and daemon startup. 179 # - @cilium/sig-bgp: 180 # Review changes to our BGP integration. 181 # - @cilium/sig-clustermesh: 182 # Ensure the reliability of state sharing between clusters to ensure that 183 # each cluster maintains a separate fault domain. 184 # - @cilium/sig-datapath: 185 # Provide feedback on all eBPF code changes, use of the kernel APIs for 186 # configuring the networking and socket layers. Coordination of kernel 187 # subsystems such as xfrm (IPsec), iptables / nftables, tc. Maintain the 188 # control plane layers that populate most eBPF maps; account for endianness 189 # and system architecture impacts on the datapath code. 190 # - @cilium/sig-hubble: 191 # Review all Cilium and Hubble code related to observing system events, 192 # exporting those via gRPC protocols outside the node and outside the 193 # cluster. Ensure the security of those event channels, for example via TLS. 194 # - @cilium/sig-ipam: 195 # Coordinate the implementation between all of the IP Address Management 196 # modes, provide awareness/insight into IP resource exhaustion and garbage 197 # collection concerns. 198 # - @cilium/sig-k8s: 199 # Provide input on all interactions with Kubernetes, both for standard 200 # resources and CRDs. Ensure best practices are followed for the coordination 201 # of clusterwide state in order to minimize memory usage. 202 # - @cilium/sig-lb: 203 # Maintain the layers necessary to coordinate all load balancing 204 # configurations within the agent control plane, including Services, 205 # ClusterIP, NodePorts, Maglev, local redirect policies, and 206 # NAT46/NAT64. 207 # - @cilium/sig-policy: 208 # Ensure consistency of semantics for all network policy representations. 209 # Responsible for all policy logic from Kubernetes down to eBPF policymap 210 # entries, including all intermediate layers such as the Policy Repository, 211 # SelectorCache, PolicyCache, CachedSelectorPolicy, EndpointPolicy, etc. 212 # - @cilium/sig-scalability: 213 # Maintain scalability and performance tests. Provide input on scalability 214 # and performance related changes. 215 # - @cilium/sig-servicemesh: 216 # Provide input on the way that Service Mesh constructs such as Gateway API 217 # are converted into lower-level constructs backed by eBPF or Envoy 218 # configurations. Maintain the CRDs necessary for Service Mesh functionality. 219 # - @cilium/wireguard: 220 # Maintain the kernel WireGuard configuration and datapath impacts related to 221 # ensuring traffic is encrypted correctly when WireGuard mode is enabled. 222 # 223 # END_CODEOWNERS_DOCS 224 # 225 # The following filepaths should be sorted so that more specific paths occur 226 # after the less specific paths, otherwise the ownership for the specific paths 227 # is not properly picked up in Github. 228 * @cilium/committers 229 /.github/ariane-config.yaml @cilium/github-sec @cilium/ci-structure 230 /.github/workflows/auto-approve.yaml @cilium/cilium-maintainers 231 /.github/workflows/*perf*.yaml @cilium/sig-scalability @cilium/github-sec @cilium/ci-structure 232 /.github/workflows/ @cilium/github-sec @cilium/ci-structure 233 /.github/actions/ @cilium/github-sec @cilium/ci-structure 234 /api/ @cilium/api 235 /api/v1/Makefile @cilium/sig-hubble-api 236 /api/v1/Makefile.protoc @cilium/sig-hubble-api 237 /api/v1/flow/ @cilium/sig-hubble-api 238 /api/v1/health/ @cilium/api 239 /api/v1/observer/ @cilium/sig-hubble-api 240 /api/v1/operator/ @cilium/api 241 /api/v1/peer/ @cilium/sig-hubble-api 242 /api/v1/recorder/ @cilium/sig-hubble-api 243 /api/v1/relay/ @cilium/sig-hubble-api 244 /images/builder/install-protoc.sh @cilium/sig-hubble-api 245 /images/builder/install-protoplugins.sh @cilium/sig-hubble-api 246 /images/builder/update-cilium-builder-image.sh @cilium/github-sec 247 /images/runtime/update-cilium-runtime-image.sh @cilium/github-sec 248 /pkg/byteorder/ @cilium/api 249 /pkg/client @cilium/api 250 /pkg/hubble/metrics @cilium/sig-hubble-api