Live dependency graph
The Flux CD org, as a dependency graph.
50 repos scanned 25 July 2026 — and 15 of the 32 active ones are load-bearing for a sibling. That is the highest coupling ratio in our nine-org scan, in the smallest org we measured. One repo, pkg, holds up 17 of them. Click it to see the blast radius.
The same scan, as a table
The most depended-on repositories in fluxcd
Riftmap scanned the
fluxcd
GitHub organisation between 13 July and 25 July 2026 and parsed the dependency edges its manifests
declare — go.mod requires, Dockerfile FROM lines, Terraform
source blocks, Helm chart dependencies, GitHub Actions uses:
references. Across 32 active repositories (18 archived, excluded), 93 distinct repo-to-repo dependencies survived the confidence floor,
and 15 repositories (46.9%) turned out to be a
dependency of at least one sibling — an edge that is invisible from inside the repository you
are changing. Same method, same bar, and directly comparable to the nine-org scan, where the pooled
figure across 1,297 repositories was 24.7%.
| # | Repository | Direct dependents | All declared references | Declared as |
|---|---|---|---|---|
| 1 | fluxcd/pkg | 16 | 16 | github actions action, go.mod require |
| 2 | fluxcd/cli-utils | 12 | 12 | go.mod require |
| 3 | fluxcd/gha-workflows | 11 | 11 | github actions action, github actions reusable workflow |
| 4 | fluxcd/flux2 | 9 | 20 | github actions action, go.mod require |
| 5 | fluxcd/source-controller | 8 | 9 | Kustomize resource, go.mod require, kustomize image |
| 6 | fluxcd/helm | 5 | 5 | go.mod require |
| 7 | fluxcd/image-reflector-controller | 5 | 5 | Kustomize resource, go.mod require, kustomize image |
| 8 | fluxcd/kustomize-controller | 4 | 6 | Kustomize resource, go.mod require, kustomize image |
| 9 | fluxcd/helm-controller | 4 | 5 | Kustomize resource, go.mod require, kustomize image |
| 10 | fluxcd/image-automation-controller | 4 | 4 | Kustomize resource, go.mod require, kustomize image |
| 11 | fluxcd/notification-controller | 4 | 4 | Kustomize resource, go.mod require, kustomize image |
| 12 | fluxcd/gitkit | 3 | 3 | go.mod require |
| 13 | fluxcd/go-git-providers | 3 | 3 | go.mod require |
| 14 | fluxcd/source-watcher | 3 | 3 | Kustomize resource, go.mod require, kustomize image |
| 15 | fluxcd/flux-schema | 2 | 4 | github actions action |
Reading the two columns.Direct dependents counts distinct active sibling repositories at or above Riftmap's 0.8 confidence floor — the same bar impact mode applies, and the one every figure in the nine-org scan is computed on. All declared references holds that scope and drops only the floor, so the gap between the columns isolates exactly one thing: how much of this org's coupling is declared outright versus inferred. Across the org the floor discards 25 of 118 repo-to-repo pairs. Multiple manifests pointing at the same repository count once. The graph above additionally draws archived repositories, so a node there can show more arrows than either column reports.
What the floor throws away here. A repository can look larger in the graph than
it reads in this table, and these are the ones where that gap is worth naming: fluxcd/flux2 loses 11 (bare git URL)
. What those references have in common is that they had to be inferred rather
than read: a bare git URL sitting in a shell script or a README is a text signal rather
than a declared dependency, and a bare image name has to be guessed back to the
repository that publishes it. Riftmap scores both below the floor and never counts them.
That is a deliberate choice about what the word "dependency" is allowed to mean, and it
costs this org its highest raw numbers.
Check it rather than trust it. Both columns are recomputable from the scan itself: every parsed reference as CSV — including the ones below the floor, each flagged — and the repository list with its archived flags and scan timestamps. Same export the nine-org scan publishes, per org.
See what your own org looks like.
The graph above is what you get back — interactive, file-level evidence, impact mode included. I'll sit down and look at a real cross-repo graph with you, live: a public org, or your own if you connect a read-only token. Or do it yourself: ~90 seconds to first scan, free for your whole org, up to 250 repos.
A 30-min video call with me. No pitch, no obligation.
Further reading
Cross-repo blast radius in nine public platform orgs: the most depended-on repo at Grafana isn't Grafana
Parsed cross-repo dependency edges across 1,297 repos in nine public platform orgs. One in four repos is load-bearing for a sibling. Top hub: 188 dependents.
Read the deeper dive