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
834
in the current tree
Bus Factor
2
2 authors are primary owner of 442 of 834 files
Single-Owner Files
368
44.1% of tracked files
Contributors
178
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
manifests/bases/kustomize-controller/patch.yamlStefan Prodan8
rfcs/0014-advanced-support-for-short-lived-cryptographic-material/README.mdMatheus Pimenta8
manifests/bases/helm-controller/patch.yamlStefan Prodan6
manifests/bases/source-controller/patch.yamlStefan Prodan6
.github/runners/README.mdStefan Prodan4
internal/tree/tree.goStefan Prodan4
rfcs/README.mdStefan Prodan4
cmd/flux/cluster_info.goSomtochi Onyekwere4
netlify.tomlDaniel Holbach4
cmd/flux/testdata/resource_arg/objects.yamlStefan Prodan3
Table: the 100 most-changed of 368 single-owner files
FileSole ownerCommits
manifests/bases/kustomize-controller/patch.yamlStefan Prodan8
rfcs/0014-advanced-support-for-short-lived-cryptographic-material/README.mdMatheus Pimenta8
manifests/bases/helm-controller/patch.yamlStefan Prodan6
manifests/bases/source-controller/patch.yamlStefan Prodan6
.github/runners/README.mdStefan Prodan4
internal/tree/tree.goStefan Prodan4
rfcs/README.mdStefan Prodan4
cmd/flux/cluster_info.goSomtochi Onyekwere4
netlify.tomlDaniel Holbach4
cmd/flux/testdata/resource_arg/objects.yamlStefan Prodan3
internal/plugin/update.goStefan Prodan3
manifests/openshift/kustomization.yamlStefan Prodan3
manifests/openshift/scc.yamlStefan Prodan3
manifests/bases/notification-controller/patch.yamlStefan Prodan3
.github/runners/runner-setup.shStefan Prodan3
cmd/flux/testdata/migrate/file-system/dir.golden/some-file.yamlMatheus Pimenta3
cmd/flux/testdata/migrate/file-system/dir/some-file.yamlMatheus Pimenta3
cmd/flux/bootstrap_test.goHidde Beydals3
pkg/manifestgen/kustomization/options.goHidde Beydals3
cmd/flux/testdata/build-kustomization/delete-service/hpa.yamlSoule BA3
cmd/flux/testdata/build-kustomization/podinfo/hpa.yamlSoule BA3
tests/integration/.env.sampleSomtochi Onyekwere3
cmd/flux/create_secret_helm_test.goSomtochi Onyekwere3
cmd/flux/testdata/create_secret/git/git-ssh-secret-password.yamlSomtochi Onyekwere3
cmd/flux/testdata/create_secret/git/git-ssh-secret.yamlSomtochi Onyekwere3
.github/workflows/ossf.yamlStefan Prodan2
manifests/policies/allow-webhooks.yamlStefan Prodan2
internal/plugin/discovery.goStefan Prodan2
cmd/flux/create_secret_receiver.goStefan Prodan2
cmd/flux/create_secret_receiver_test.goStefan Prodan2
tests/image-automation/kustomization.yamlStefan Prodan2
cmd/flux/testdata/debug_helmrelease/status.golden.yamlStefan Prodan2
cmd/flux/testdata/debug_kustomization/status.golden.yamlStefan Prodan2
.github/kind/config.yamlStefan Prodan2
cmd/flux/testdata/tree/tree-compact.goldenStefan Prodan2
cmd/flux/testdata/tree/tree.goldenStefan Prodan2
manifests/rbac/reconciler.yamlStefan Prodan2
cmd/flux/testdata/migrate/file-system/dir.output.goldenMatheus Pimenta2
rfcs/0008-custom-event-metadata-from-annotations/README.mdMatheus Pimenta2
rfcs/0009-custom-health-checks/README.mdMatheus Pimenta2
cmd/flux/testdata/diff-kustomization/stringdata-sops-secret.yamlSoule BA2
cmd/flux/testdata/build-kustomization/podinfo/kustomization.yamlSoule BA2
cmd/flux/testdata/diff-kustomization/diff-with-deployment.goldenSoule BA2
cmd/flux/testdata/diff-kustomization/diff-with-drifted-value-sops-secret.goldenSoule BA2
cmd/flux/testdata/build-kustomization/delete-service/deployment.yamlSoule BA2
cmd/flux/testdata/build-kustomization/podinfo/deployment.yamlSoule BA2
cmd/flux/testdata/build-kustomization/podinfo/service.yamlSoule BA2
cmd/flux/testdata/diff-kustomization/deployment.yamlSoule BA2
cmd/flux/testdata/diff-kustomization/kustomization.yamlSoule BA2
cmd/flux/testdata/diff-kustomization/secret.yamlSoule BA2
cmd/flux/testdata/diff-kustomization/service.yamlSoule BA2
cmd/flux/testdata/diff-kustomization/value-sops-secret.yamlSoule BA2
cmd/flux/create_secret_notation_test.goJason2
tests/integration/terraform/gcp/sourcerepo.tfSomtochi Onyekwere2
tests/integration/terraform/gcp/main.tfSomtochi Onyekwere2
tests/integration/terraform/gcp/outputs.tfSomtochi Onyekwere2
tests/integration/terraform/gcp/variables.tfSomtochi Onyekwere2
internal/build/testdata/local-kustomization/different-name.yamlSomtochi Onyekwere2
internal/build/testdata/local-kustomization/multi-doc-valid.yamlSomtochi Onyekwere2
internal/build/testdata/local-kustomization/no-ns.yamlSomtochi Onyekwere2
internal/build/testdata/local-kustomization/valid.yamlSomtochi Onyekwere2
cmd/flux/testdata/create_image_update/policy-change-delay.yamlStefan Prodan1
cmd/flux/helmrelease_source_test.goStefan Prodan1
cmd/flux/testdata/trace/deployment-hr-oci-template.goldenStefan Prodan1
cmd/flux/testdata/trace/deployment-hr-oci-template.yamlStefan Prodan1
cmd/flux/artifact_generator_test.goStefan Prodan1
cmd/flux/testdata/artifact_generator/objects.yamlStefan Prodan1
cmd/flux/testdata/artifact_generator/resume.goldenStefan Prodan1
cmd/flux/testdata/artifact_generator/resume_two.goldenStefan Prodan1
cmd/flux/testdata/artifact_generator/suspend.goldenStefan Prodan1
cmd/flux/testdata/artifact_generator/suspend_missing.goldenStefan Prodan1
cmd/flux/testdata/artifact_generator/suspend_two.goldenStefan Prodan1
cmd/flux/testdata/tree/tree-escape.goldenStefan Prodan1
pkg/printers/table_printer_test.goStefan Prodan1
cmd/flux/delete_test.goStefan Prodan1
cmd/flux/get_names_test.goStefan Prodan1
cmd/flux/names.goStefan Prodan1
cmd/flux/reconcile_names_test.goStefan Prodan1
cmd/flux/testdata/delete/all-missing.goldenStefan Prodan1
cmd/flux/testdata/delete/duplicates.goldenStefan Prodan1
cmd/flux/testdata/delete/missing.goldenStefan Prodan1
cmd/flux/testdata/delete/objects.yamlStefan Prodan1
cmd/flux/testdata/delete/single.goldenStefan Prodan1
cmd/flux/testdata/delete/two.goldenStefan Prodan1
cmd/flux/testdata/export/multi-git-creds.yamlStefan Prodan1
cmd/flux/testdata/export/multi-ks-all-missing.yamlStefan Prodan1
cmd/flux/testdata/export/multi-ks-missing.yamlStefan Prodan1
cmd/flux/testdata/export/multi-ks-reverse.yamlStefan Prodan1
cmd/flux/testdata/export/multi-ks.yamlStefan Prodan1
cmd/flux/testdata/export/multi-objects.yamlStefan Prodan1
cmd/flux/testdata/get_names/empty.goldenStefan Prodan1
cmd/flux/testdata/get_names/header.goldenStefan Prodan1
cmd/flux/testdata/get_names/objects.yamlStefan Prodan1
cmd/flux/testdata/get_names/one.goldenStefan Prodan1
cmd/flux/testdata/get_names/two-reversed.goldenStefan Prodan1
cmd/flux/testdata/get_names/two.goldenStefan Prodan1
cmd/flux/testdata/reconcile_names/git_all_missing.goldenStefan Prodan1
cmd/flux/testdata/reconcile_names/git_one_missing.goldenStefan Prodan1
cmd/flux/testdata/reconcile_names/git_several.goldenStefan Prodan1
cmd/flux/testdata/reconcile_names/git_single.goldenStefan Prodan1

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
Stefan Prodan338122487
Somtochi Onyekwere10441253
Hidde Beydals6514272
Matheus Pimenta5441163
Soule BA523484
Michael Bridgen18060
rycli161625
Sanskar Jaiswal153144
Max Jonas Werner159119
Sunny132108
fluxcdbot13041
Aurel Canciu9371
Jason9914
cappyzawa8024
Dipti Pai8719
Yiannis6018
Boris Kreitchman6618
Arash Idelchi6611
lukas8219669
Daniel Holbach4210
3uzbcqje446
Stefan Bickel435
Philip Laine3129
Allen Porter3129
Daniel Guns3324

Showing top 25 of 178 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
go.mod33fluxcdbot42.0%
go.sum32fluxcdbot43.4%
cmd/flux/create_source_git.go21Stefan Prodan30.2%
internal/utils/utils.go20Stefan Prodan35.8%
cmd/flux/bootstrap_git.go20Hidde Beydals22.2%
cmd/flux/bootstrap_gitlab.go18Hidde Beydals26.4%
cmd/flux/create_helmrelease.go18Stefan Prodan35.6%
cmd/flux/install.go18Stefan Prodan31.8%
internal/build/build.go16Soule BA29.7%
cmd/flux/create_source_helm.go15Hidde Beydals27.3%
cmd/flux/bootstrap_github.go14Hidde Beydals27.5%
cmd/flux/main_test.go14Stefan Prodan28.6%
cmd/flux/create_kustomization.go14Stefan Prodan32.4%
cmd/flux/get.go14Stefan Prodan22.2%
cmd/flux/push_artifact.go14Stefan Prodan42.9%
cmd/flux/main.go14Stefan Prodan21.9%
pkg/manifestgen/sourcesecret/sourcesecret.go14Stefan Prodan25.0%
.github/workflows/e2e.yaml13Stefan Prodan74.4%
.github/workflows/release.yaml13Stefan Prodan53.3%
internal/build/diff.go13Soule BA30.0%