Code Ownership

Ownership is measured by how many commits each author made to each file in the current tree. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated. The bus factor is the smallest number of people who are, between them, primary owner of more than half of the files.

Files Tracked
25,016
in the current tree
Bus Factor
5
5 authors are primary owner of 13,666 of 25,016 files
Single-Owner Files
12,471
49.9% of tracked files
Contributors
1,165
authors who changed files

Bus factor risk — single-owner files

Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.

FileSole ownerCommits
vendor/github.com/cilium/statedb/types.goJussi Maki20
vendor/github.com/cilium/statedb/part/txn.goJussi Maki13
vendor/github.com/cilium/statedb/reconciler/types.goJussi Maki11
vendor/github.com/cilium/statedb/http.goJussi Maki10
vendor/k8s.io/apimachinery/pkg/api/resource/generated.protoAndré Martins9
vendor/k8s.io/apimachinery/pkg/conversion/converter.goAndré Martins9
vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion/register.goAndré Martins9
vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.goAndré Martins9
vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.goAndré Martins9
vendor/github.com/cilium/statedb/reconciler/reconciler.goJussi Maki9
Table: the 100 most-changed of 12,471 single-owner files
FileSole ownerCommits
vendor/github.com/cilium/statedb/types.goJussi Maki20
vendor/github.com/cilium/statedb/part/txn.goJussi Maki13
vendor/github.com/cilium/statedb/reconciler/types.goJussi Maki11
vendor/github.com/cilium/statedb/http.goJussi Maki10
vendor/k8s.io/apimachinery/pkg/api/resource/generated.protoAndré Martins9
vendor/k8s.io/apimachinery/pkg/conversion/converter.goAndré Martins9
vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion/register.goAndré Martins9
vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.goAndré Martins9
vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.goAndré Martins9
vendor/github.com/cilium/statedb/reconciler/reconciler.goJussi Maki9
vendor/github.com/cilium/statedb/iterator.goJussi Maki9
vendor/github.com/cilium/statedb/reconciler/incremental.goJussi Maki9
pkg/loadbalancer/cell/cell.goJussi Maki9
cilium-dbg/cmd/envoy_adminclient.goMarco Hofstetter9
vendor/k8s.io/apimachinery/pkg/runtime/zz_generated.deepcopy.goAndré Martins8
pkg/loadbalancer/redirectpolicy/testdata/address.txtarJussi Maki8
pkg/fqdn/service/cell.goVipul Singh8
tools/dpgen/util.goTimo Beckers8
tools/dpgen/maps.goTimo Beckers8
pkg/bgp/manager/reconciler/policies.goRastislav Szabo8
vendor/k8s.io/apimachinery/pkg/util/intstr/generated.protoAndré Martins7
vendor/k8s.io/client-go/tools/clientcmd/api/zz_generated.deepcopy.goAndré Martins7
vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/deepcopy.goAndré Martins7
vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/deepcopy.goAndré Martins7
vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.goAndré Martins7
vendor/k8s.io/apimachinery/pkg/runtime/error.goAndré Martins7
vendor/github.com/gogo/protobuf/proto/encode.goAndré Martins7
vendor/github.com/gogo/protobuf/proto/text.goAndré Martins7
.github/actions/multi-pool/configs.yamlFabio Falzoi7
vendor/github.com/cilium/statedb/graveyard.goJussi Maki7
vendor/github.com/cilium/statedb/any_table.goJussi Maki7
pkg/k8s/apis/cilium.io/client/crds/v2alpha1/ciliumnetworkdriverclusterconfigs.yamlBernardo Soares7
pkg/k8s/apis/cilium.io/client/crds/v2alpha1/ciliumnetworkdrivernodeconfigs.yamlBernardo Soares7
pkg/k8s/apis/cilium.io/v2alpha1/network_driver_types.goBernardo Soares7
standalone-dns-proxy/cmd/root.goVipul Singh7
standalone-dns-proxy/pkg/client/cell.goVipul Singh7
.github/actions/cl2-modules/egw/modules/masq-test.yamlMarco Iorio7
pkg/datapath/loader/types/loader.goTimo Beckers7
pkg/kpr/kpr.goMartynas Pumputis7
vendor/k8s.io/client-go/tools/cache/expiration_cache_fakes.goAndré Martins6
vendor/github.com/coreos/go-semver/semver/semver.goAndré Martins6
vendor/golang.org/x/oauth2/internal/token.goAndré Martins6
vendor/k8s.io/api/core/v1/well_known_labels.goAndré Martins6
vendor/k8s.io/apimachinery/pkg/util/net/util.goAndré Martins6
vendor/k8s.io/apimachinery/pkg/watch/mux.goAndré Martins6
vendor/k8s.io/client-go/pkg/apis/clientauthentication/zz_generated.deepcopy.goAndré Martins6
vendor/k8s.io/api/rbac/v1/zz_generated.deepcopy.goAndré Martins6
vendor/k8s.io/api/rbac/v1alpha1/zz_generated.deepcopy.goAndré Martins6
vendor/k8s.io/api/rbac/v1beta1/zz_generated.deepcopy.goAndré Martins6
vendor/k8s.io/apimachinery/pkg/util/json/json.goAndré Martins6
vendor/golang.org/x/tools/go/ast/astutil/imports.goAndré Martins6
vendor/k8s.io/apimachinery/pkg/fields/selector.goAndré Martins6
pkg/datapath/linux/routing/reconciler/manager.goFabio Falzoi6
vendor/github.com/cilium/statedb/lpm_index.goJussi Maki6
vendor/github.com/cilium/statedb/README.mdJussi Maki6
vendor/github.com/cilium/statedb/deletetracker.goJussi Maki6
operator/cmd/lifecycle.goJussi Maki6
pkg/envoy/xds_server_benchmark_test.goJarno Rajahalme6
pkg/envoy/xdsnew/watch_test.goJarno Rajahalme6
pkg/clustermesh/operator/metrics.goArthur Outhenin-Chalandre6
standalone-dns-proxy/pkg/lookup/lookup_test.goVipul Singh6
pkg/datapath/loader/fake/loader.goTimo Beckers6
.github/workflows/build-images-base-renovate.yamlAndré Martins5
.github/actions/cosign/action.yamlAndré Martins5
vendor/k8s.io/apimachinery/pkg/util/strategicpatch/meta.goAndré Martins5
vendor/k8s.io/apimachinery/pkg/api/meta/conditions.goAndré Martins5
vendor/k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming.goAndré Martins5
vendor/golang.org/x/oauth2/internal/oauth2.goAndré Martins5
vendor/golang.org/x/oauth2/token.goAndré Martins5
vendor/k8s.io/client-go/kubernetes/typed/authentication/v1/generated_expansion.goAndré Martins5
vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.protoAndré Martins5
vendor/k8s.io/api/events/v1beta1/zz_generated.deepcopy.goAndré Martins5
vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.goAndré Martins5
vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/zz_generated.deepcopy.goAndré Martins5
vendor/k8s.io/apimachinery/pkg/watch/zz_generated.deepcopy.goAndré Martins5
vendor/k8s.io/client-go/rest/zz_generated.deepcopy.goAndré Martins5
vendor/k8s.io/client-go/tools/clientcmd/api/v1/zz_generated.deepcopy.goAndré Martins5
vendor/k8s.io/client-go/util/flowcontrol/throttle.goAndré Martins5
vendor/github.com/containernetworking/cni/pkg/version/plugin.goAndré Martins5
vendor/github.com/json-iterator/go/README.mdAndré Martins5
vendor/k8s.io/client-go/tools/clientcmd/api/v1/conversion.goAndré Martins5
vendor/github.com/json-iterator/go/iter_object.goAndré Martins5
vendor/github.com/json-iterator/go/reflect_extension.goAndré Martins5
vendor/github.com/json-iterator/go/reflect_map.goAndré Martins5
vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/register.goAndré Martins5
vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/register.goAndré Martins5
vendor/google.golang.org/grpc/call.goAndré Martins5
vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/helpers.goAndré Martins5
vendor/k8s.io/client-go/kubernetes/typed/apps/v1beta1/generated_expansion.goAndré Martins5
cilium-dbg/cmd/ip_list.goJoe Stringer5
pkg/datapath/plugins/cell.goJordan Rife5
operator/pkg/networkpolicy/external-groups/cell.goCasey Callendrello5
vendor/github.com/cilium/statedb/internal/sortable_mutex.goJussi Maki5
vendor/github.com/cilium/statedb/index/set.goJussi Maki5
pkg/loadbalancer/tests/main_test.goJussi Maki5
contrib/examples/statedb/example.goJussi Maki5
pkg/loadbalancer/redirectpolicy/testdata/skiplb-addr.txtarJussi Maki5
pkg/metrics/sampler.goJussi Maki5
pkg/k8s/resource/event.goJussi Maki5
cilium-cli/encrypt/ipsec_rotate_key_test.goViktor Kurchenko5

Ownership by author

Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.

AuthorFiles ownedSolely ownedFiles touched
André Martins4,8842,1059,054
Tam Mach3,9491,9026,492
Tobias Klauser2,0034084,744
Michi Mutsuzaki1,6681,3912,209
Hadrien Patte1,1628383,273
Bokang Li9407411,265
Robin Hahling8336551,274
Vlad Ungureanu69393782
Julian Wiedmann5763791,758
Jussi Maki5202301,144
Nick Young448285893
Joe Stringer4101781,727
Thomas Graf3961241,167
Arthur Outhenin-Chalandre3532921,181
Timo Beckers313911,166
Marco Iorio289591,039
Rastislav Szabo280165460
Jarno Rajahalme269891,478
Chris Tarazi2671492,526
Marco Hofstetter238721,251
Quentin Monnet17161,788
Louis DeLosSantos167601,540
Casey Callendrello15754658
Bernardo Soares150136294
Yoyo Wu14184212

Showing top 25 of 1165 contributors.

Most shared files

Files touched by the most people — shared code where changes are most likely to need coordination.

FileContributorsPrimary ownerOwner share
install/kubernetes/cilium/values.yaml268Tam Mach8.1%
install/kubernetes/cilium/README.md245Tam Mach9.4%
Documentation/helm-values.rst224Tam Mach10.2%
install/kubernetes/cilium/values.yaml.tmpl210Tam Mach7.0%
install/kubernetes/cilium/templates/cilium-configmap.yaml182Tam Mach6.6%
USERS.md175Bill Mulligan6.9%
Documentation/spelling_wordlist.txt169André Martins6.6%
pkg/option/config.go168Daniel Borkmann8.0%
Documentation/cmdref/cilium-agent.md147Thomas Graf7.4%
daemon/cmd/daemon_main.go142Marco Hofstetter11.7%
install/kubernetes/cilium/values.schema.json132Arthur Outhenin-Chalandre5.1%
Documentation/operations/upgrade.rst105Joe Stringer7.9%
pkg/defaults/defaults.go89Thomas Graf12.1%
Makefile87André Martins15.6%
vendor/modules.txt85Tobias Klauser14.0%
pkg/datapath/linux/config/config.go84Daniel Borkmann11.9%
CODEOWNERS84Paul Chaignon8.5%
daemon/cmd/daemon.go81Marco Hofstetter19.1%
bpf/bpf_lxc.c80Julian Wiedmann20.1%
go.mod80Tobias Klauser16.0%