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