# Code owners are used to define who is responsible for reviewing PRs.
# Currently we don't define any teams, but we can do that later on.
#
# Please check [0] to get more details about the syntax of this file.
#
# [0] https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-syntax

# Keep the list sorted
# The last matching pattern takes the most precedence, then more specific rules should be after.
* @alban @mauriciovasquezbernal
/.github/ @eiffel-fl @mqasimsarfraz
/charts/ @mqasimsarfraz
/cmd/common/ @flyth
/cmd/ig/ @blanquicet
/Dockerfiles/ @eiffel-fl @mqasimsarfraz

# docs
/docs/ @mauriciovasquezbernal
/docs/gadget-devel/ @mauriciovasquezbernal
/docs/images/architecture/ @eiffel-fl
/docs/reference/ @blanquicet
/docs/reference/restricting-gadgets.mdx @eiffel-fl
/docs/reference/verify-assets.mdx @eiffel-fl

/examples/ @mauriciovasquezbernal
/examples/container-collection/ @alban
/examples/container-hook/ @alban
/examples/kube-container-collection/ @alban
/examples/runc-hook/ @alban
/gadget-container/hooks/ @alban

# gadgets
/gadgets/audit_seccomp/ @alban
/gadgets/ci/ @mauriciovasquezbernal
/gadgets/deadlock/ @alban
/gadgets/fsnotify/ @alban
/gadgets/profile_blockio/ @eiffel-fl @flyth
/gadgets/profile_tcprtt/ @blanquicet
/gadgets/snapshot_process/ @alban @mauriciovasquezbernal
/gadgets/snapshot_socket/ @alban @blanquicet
/gadgets/testing/ @mauriciovasquezbernal
/gadgets/top_blockio/ @burak-ok
/gadgets/top_file/ @blanquicet @mauriciovasquezbernal
/gadgets/top_tcp/ @burak-ok
/gadgets/trace_bind/ @mauriciovasquezbernal
/gadgets/trace_capabilities/ @alban
/gadgets/trace_dns/ @alban @mauriciovasquezbernal
/gadgets/trace_exec/ @alban
/gadgets/trace_fsslower/ @mauriciovasquezbernal
/gadgets/trace_lsm/ @alban
/gadgets/trace_malloc/ @alban
/gadgets/trace_mount/ @eiffel-fl
/gadgets/trace_oomkill/ @eiffel-fl
/gadgets/trace_open/ @mauriciovasquezbernal
/gadgets/trace_signal/ @eiffel-fl
/gadgets/trace_sni/ @alban @blanquicet
/gadgets/trace_ssl/ @alban
/gadgets/trace_tcp/ @mauriciovasquezbernal
/gadgets/trace_tcpconnect/ @mauriciovasquezbernal
/gadgets/trace_tcpdrop/ @alban
/gadgets/trace_tcpretrans/ @alban

/integration/ @blanquicet @mqasimsarfraz
/internal/test/ @mauriciovasquezbernal
/pkg/columns/ @flyth
/pkg/container-collection/ @alban @blanquicet @mqasimsarfraz
/pkg/container-hook/ @alban
/pkg/container-utils/ @blanquicet @mqasimsarfraz
/pkg/container-utils/containerd/ @burak-ok
/pkg/datasource/ @flyth
/pkg/gadget-context/ @flyth
/pkg/gadget-service/ @flyth
/pkg/gadgettracermanager/ @mauriciovasquezbernal
/pkg/histogram/ @blanquicet
/pkg/kallsyms/ @alban
/pkg/kfilefields/ @alban @mqasimsarfraz
/pkg/networktracer/ @alban @blanquicet

# operators
/pkg/operators/ @flyth
/pkg/operators/btfgen/ @mauriciovasquezbernal
/pkg/operators/cli/ @blanquicet @flyth
/pkg/operators/combiner/ @blanquicet
/pkg/operators/common/ @burak-ok
/pkg/operators/ebpf/ @alban @mauriciovasquezbernal @flyth
/pkg/operators/filter/ @flyth
/pkg/operators/formatters/ @flyth @mauriciovasquezbernal
/pkg/operators/kubeipresolver/ @burak-ok @mqasimsarfraz
/pkg/operators/kubemanager/ @mauriciovasquezbernal @flyth
/pkg/operators/kubenameresolver/ @burak-ok
/pkg/operators/limiter/ @blanquicet
/pkg/operators/localmanager/ @mauriciovasquezbernal @flyth
/pkg/operators/oci-handler/ @flyth
/pkg/operators/otel-metrics/ @blanquicet @flyth
/pkg/operators/simple/ @flyth
/pkg/operators/socketenricher/ @alban
/pkg/operators/sort/ @flyth
/pkg/operators/uidgidresolver/ @burak-ok
/pkg/operators/wasm/ @flyth @mauriciovasquezbernal

/pkg/params/ @flyth @mauriciovasquezbernal
/pkg/rawsock/ @alban
/pkg/resources/manifests/ @eiffel-fl
/pkg/resources/rbac/ @eiffel-fl
/pkg/runtime/ @flyth @mauriciovasquezbernal
/pkg/signature/ @eiffel-fl
/pkg/socketenricher/ @alban
/pkg/standardgadgets/ @mauriciovasquezbernal
/pkg/tracer-collection/ @alban
/pkg/types/ @blanquicet
/pkg/uprobetracer/ @alban
/pkg/utils/bpf-iter-ns/ @alban
/pkg/utils/host/ @alban
/pkg/utils/nsenter/ @alban
/tools/ @mqasimsarfraz
