Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-27 01:19 UTC

rancher / cluster-api

Home for Cluster API, a subproject of sig-cluster-lifecycle

GoApache-2.0★ 0 stars⑂ 0 forkssince Jan 2024forkView on GitHub ↗

rancher/cluster-api holds a health index of 59 out of 100, placing it in the Moderate band. It scores highest on Vitality (96/100) and lowest on Community & Adoption (12/100). It was last updated 2 days ago. 2 contributors account for most of its recent work.

59
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

59
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

RancherOrganization
1,383 followers590 public repossince Oct 2014

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
Gosigs.k8s.io/cluster-apiv1.13.4-26812 days ago
Gosigs.k8s.io/cluster-api/apiv1.14.0-beta.1-35 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

96Excellent · 22% of overall
How it's scored
36/36Push recency — last push 2 days ago
36/36Commit cadence — 52/52 weeks with commits
18/18Commit volume — 1,642 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year1,642
human_commit_share0.46
days_since_last_push2
active_weeks_last_year52
How it's scored
27/27Ships releases — 19 releases published
36/36Release recency — latest release 27 days ago
27/27Release cadence — a release every ~37 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count19
latest_release_tagv1.13.3
releases_from_tagsno
days_since_latest_release27
mean_days_between_releases37

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

12Critical · 18% of overall
How it's scored
0/60Stars — 0 stars
0/25Forks — 0 forks
0/15Watchers — 0 watchers
Inputs used
forks0
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
0/22.5README
22.5/22.5License — recognized license (Apache-2.0)
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeno
has_licenseno
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

58Moderate · 24% of overall
How it's scored
25.2/54Bus factor — 2 contributor(s) cover half of all commits
11.6/22.5Commit distribution — top contributor authored 48% of commits
13.5/13.5Contributor breadth — 98 contributors
10/10OpenSSF Scorecard: Contributors — project has 45 contributing companies or organizations
Inputs used
bus_factor2
contributors_sampled98
top_contributor_share0.485
How it's scored
0/46.8Issue resolution — no issues or no data
0/38.3PR acceptance — no decided pull requests or no data
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Inputs used
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
22.6/25Owner reach — 1,383 followers of rancher
25/25Track record — 590 public repos, account ~11 yr old
Inputs used
followers1,383
owner_typeOrganization
is_verified
owner_loginrancher
public_repos590
account_age_days4,296
How it's scored
25/25Published & resolvable — 2 package(s) on go
35/35Publish recency — latest publish 5 days ago
20/20Version history — 268 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagessigs.k8s.io/cluster-api, sigs.k8s.io/cluster-api/api
ecosystemsgo
any_deprecatedno
min_days_since_publish5

Engineering Quality

Are baseline engineering and documentation practices in place?

68Moderate · 20% of overall
How it's scored
24/24CI workflows — 9 workflow(s)
24/24Tests present
16/16Linter config — .golangci.yml
0/9.6Pre-commit hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — no data
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configyes
has_precommit_configno
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.

Documentation

50Moderate
How it's scored
0/30README
25/25Documentation directory
15/15Documentation / homepage site — https://cluster-api.sigs.k8s.io
0/10Repository description
0/10Topics
10/10Wiki
Inputs used
topics
has_wikiyes
homepagehttps://cluster-api.sigs.k8s.io
has_readmeno
has_docs_diryes
has_descriptionno

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

53Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
3.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
0/2.5CI-Tests — no data
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 45 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
2.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 5
0/5SAST — no SAST tool detected
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 25 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5
Excluded from scoring (no data or not applicable): ci_tests, packaging. Remaining weights renormalized.
How it's scored
8.4/35Direct dependencies free of known advisories — 2 affected: google.golang.org/grpc v1.80.0 (critical 9.1), github.com/google/cel-go v0.26.0 (moderate 5.3)
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
40/40No advisories left outstanding — no advisory has been public longer than 90 days
Inputs used
sourceosv
advisories40
affected_packages9
assessed_packages255
unassessed_packages0
affected_by_severitycritical 2, high 1, moderate 3, unknown 3
direct_affected_packages2
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 255 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

58Moderate · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
10.4/40Legible commit history — 9 of 46 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.196
agent_instruction_files
agent_instruction_max_bytes
How it's scored
18/18One-command bootstrap — Makefile, docs/book/Makefile
22/22Automated tests
11/11Lint / format config — .golangci.yml
11/11Static type checking — Go (statically typed)
10/10Reproducible environment — Dockerfile, lockfile
0/10Demonstrated agent practice — no agent-authored commits among the last 100
8/8Automated maintenance — 4 of the last 100 commits are automated dependency updates
5/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 5
Inputs used
has_nixno
has_testsyes
lockfilesgo.sum
has_dockerfileyes
typed_languageyes
bootstrap_filesMakefile, docs/book/Makefile
has_devcontainerno
has_linter_configyes
typecheck_configs
agent_commit_share0
toolchain_manifestsapi/go.mod, go.mod, hack/tools/go.mod, test/go.mod
dependency_bot_commit_share0.04
How it's scored
45/45Type-checkable code — Go (statically typed)
52.9/55Manageable file sizes — 52/1,371 source files over 60KB
Inputs used
primary_languageGo
largest_source_bytes390,895
source_files_sampled1,371
oversized_source_files52
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — example, examples
Inputs used
example_dirsexample, examples
has_mcp_signalno
api_schema_files

Key facts

0GitHub stars
98contributors
1,642commits, last 12 months
2days since last push
19releases
2bus factor
0open issues
Gopackage ecosystems

Data collection warnings

  • Community profile unavailable

More detail

OpenSSF Scorecard 5.0 / 10
5.0aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-27 01:19 UTC

10Binary-Artifactsno binaries found in the repo
5Branch-Protectionbranch protection is not maximal on development and all release branches
n/aCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 45 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
5Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 5
0SASTno SAST tool detected
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities25 existing vulnerabilities detected
Direct dependencies 55
RegistryPackageVersion constraintManifest
Gok8s.io/apiv0.36.2api/go.mod
Gok8s.io/apiextensions-apiserverv0.36.2api/go.mod
Gok8s.io/apimachineryv0.36.2api/go.mod
Gok8s.io/cluster-bootstrapv0.36.2api/go.mod
Gogithub.com/MakeNowJust/heredocv1.0.0go.mod
Gogithub.com/Masterminds/sprig/v3v3.3.0go.mod
Gogithub.com/adrg/xdgv0.5.3go.mod
Gogithub.com/blang/semver/v4v4.0.0go.mod
Gogithub.com/coredns/corefile-migrationv1.0.34go.mod
Gogithub.com/davecgh/go-spewv1.1.2-0.20180830191138-d8f796af33ccgo.mod
Gogithub.com/distribution/referencev0.6.0go.mod
Gogithub.com/drone/envsubst/v2v2.0.0-20210730161058-179042472c46go.mod
Gogithub.com/evanphx/json-patch/v5v5.9.11go.mod
Gogithub.com/fatih/colorv1.19.0go.mod
Gogithub.com/flatcar/container-linux-config-transpilerv0.9.4go.mod
Gogithub.com/flatcar/ignitionv0.36.2go.mod
Gogithub.com/go-logr/logrv1.4.4go.mod
Gogithub.com/gobuffalo/flectv1.0.3go.mod
Gogithub.com/google/cel-gov0.26.0go.mod
Gogithub.com/google/go-cmpv0.7.0go.mod
Gogithub.com/google/go-github/v82v82.0.0go.mod
Gogithub.com/olekukonko/tablewriterv1.1.4go.mod
Gogithub.com/onsi/ginkgo/v2v2.32.0go.mod
Gogithub.com/onsi/gomegav1.42.1go.mod
Gogithub.com/pkg/errorsv0.9.1go.mod
Gogithub.com/prometheus/client_golangv1.23.2go.mod
Gogithub.com/prometheus/client_modelv0.6.2go.mod
Gogithub.com/spf13/cobrav1.10.2go.mod
Gogithub.com/spf13/pflagv1.0.10go.mod
Gogithub.com/spf13/viperv1.21.0go.mod
Gogithub.com/stretchr/testifyv1.11.1go.mod
Gogithub.com/valyala/fastjsonv1.6.10go.mod
Gogo.etcd.io/etcd/api/v3v3.6.13go.mod
Gogo.etcd.io/etcd/client/pkg/v3v3.6.13go.mod
Gogo.etcd.io/etcd/client/v3v3.6.13go.mod
Gogo.uber.org/zapv1.28.0go.mod
Gogolang.org/x/oauth2v0.36.0go.mod
Gogolang.org/x/textv0.40.0go.mod
Gogomodules.xyz/jsonpatch/v2v2.5.0go.mod
Gogoogle.golang.org/grpcv1.80.0go.mod
Gok8s.io/apiv0.36.2go.mod
Gok8s.io/apiextensions-apiserverv0.36.2go.mod
Gok8s.io/apimachineryv0.36.2go.mod
Gok8s.io/apiserverv0.36.2go.mod
Gok8s.io/client-gov0.36.2go.mod
Gok8s.io/cluster-bootstrapv0.36.2go.mod
Gok8s.io/component-basev0.36.2go.mod
Gok8s.io/klog/v2v2.140.0go.mod
Gok8s.io/streamingv0.36.2go.mod
Gok8s.io/utilsv0.0.0-20260210185600-b8788abfbbc2go.mod
Gosigs.k8s.io/cluster-api/apiv0.0.0-00010101000000-000000000000go.mod
Gosigs.k8s.io/controller-runtimev0.24.1go.mod
Gosigs.k8s.io/randfillv1.0.0go.mod
Gosigs.k8s.io/structured-merge-diff/v6v6.4.2go.mod
Gosigs.k8s.io/yamlv1.6.0go.mod
All dependencies 255

Full resolved dependency set from the GitHub dependency graph: 52 direct and 203 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
Gogithub.com/adrg/xdgv0.5.3direct
Gogithub.com/blang/semver/v4v4.0.0direct
Gogithub.com/coredns/corefile-migrationv1.0.34direct
Gogithub.com/davecgh/go-spewv1.1.2-0.20180830191138-d8f796af33ccdirect
Gogithub.com/distribution/referencev0.6.0direct
Gogithub.com/drone/envsubst/v2v2.0.0-20210730161058-179042472c46direct
Gogithub.com/evanphx/json-patch/v5v5.9.11direct
Gogithub.com/fatih/colorv1.19.0direct
Gogithub.com/flatcar/container-linux-config-transpilerv0.9.4direct
Gogithub.com/flatcar/ignitionv0.36.2direct
Gogithub.com/go-logr/logrv1.4.4direct
Gogithub.com/gobuffalo/flectv1.0.3direct
Gogithub.com/google/cel-gov0.26.0direct
Gogithub.com/google/go-cmpv0.7.0direct
Gogithub.com/google/go-github/v82v82.0.0direct
Gogithub.com/makenowjust/heredocv1.0.0direct
Gogithub.com/masterminds/sprig/v3v3.3.0direct
Gogithub.com/olekukonko/tablewriterv1.1.4direct
Gogithub.com/onsi/ginkgo/v2v2.32.0direct
Gogithub.com/onsi/gomegav1.42.1direct
Gogithub.com/pkg/errorsv0.9.1direct
Gogithub.com/prometheus/client_golangv1.23.2direct
Gogithub.com/prometheus/client_modelv0.6.2direct
Gogithub.com/spf13/cobrav1.10.2direct
Gogithub.com/spf13/pflagv1.0.10direct
Gogithub.com/spf13/viperv1.21.0direct
Gogithub.com/stretchr/testifyv1.11.1direct
Gogithub.com/valyala/fastjsonv1.6.10direct
Gogo.etcd.io/etcd/api/v3v3.6.13direct
Gogo.etcd.io/etcd/client/pkg/v3v3.6.13direct
Gogo.etcd.io/etcd/client/v3v3.6.13direct
Gogo.uber.org/zapv1.28.0direct
Gogolang.org/x/oauth2v0.36.0direct
Gogolang.org/x/textv0.40.0direct
Gogomodules.xyz/jsonpatch/v2v2.5.0direct
Gogoogle.golang.org/grpcv1.80.0direct
Gogoogle.golang.org/grpcv1.82.1direct
Gok8s.io/apiv0.36.2direct
Gok8s.io/apiextensions-apiserverv0.36.2direct
Gok8s.io/apimachineryv0.36.2direct
Gok8s.io/apiserverv0.36.2direct
Gok8s.io/client-gov0.36.2direct
Gok8s.io/cluster-bootstrapv0.36.2direct
Gok8s.io/component-basev0.36.2direct
Gok8s.io/klog/v2v2.140.0direct
Gok8s.io/streamingv0.36.2direct
Gok8s.io/utilsv0.0.0-20260210185600-b8788abfbbc2direct
Gok8s.io/utilsv0.0.0-20260319190234-28399d86e0b5direct
Gosigs.k8s.io/controller-runtimev0.24.1direct
Gosigs.k8s.io/randfillv1.0.0direct
Gosigs.k8s.io/structured-merge-diff/v6v6.4.2direct
Gosigs.k8s.io/yamlv1.6.0direct
Goal.essio.dev/pkg/shellescapev1.5.1indirect
Gocel.dev/exprv0.25.1indirect
Gocloud.google.com/gov0.123.0indirect
Gocloud.google.com/go/authv0.20.0indirect
Gocloud.google.com/go/auth/oauth2adaptv0.2.8indirect
Gocloud.google.com/go/compute/metadatav0.9.0indirect
Gocloud.google.com/go/iamv1.11.0indirect
Gocloud.google.com/go/monitoringv1.29.0indirect
Gocloud.google.com/go/storagev1.63.1indirect
Godario.cat/mergov1.0.1indirect
Gogithub.com/ajeddeloh/go-jsonv0.0.0-20200220154158-5ae607161559indirect
Gogithub.com/alecthomas/unitsv0.0.0-20240927000941-0f3dac36c52bindirect
Gogithub.com/antlr4-go/antlr/v4v4.13.0indirect
Gogithub.com/beorn7/perksv1.0.1indirect
Gogithub.com/burntsushi/tomlv1.4.0indirect
Gogithub.com/cenkalti/backoff/v5v5.0.3indirect
Gogithub.com/cespare/xxhash/v2v2.3.0indirect
Gogithub.com/cheggaaa/pb/v3v3.1.5indirect
Gogithub.com/clipperhouse/displaywidthv0.10.0indirect
Gogithub.com/clipperhouse/uax29/v2v2.6.0indirect
Gogithub.com/cloudflare/circlv1.6.1indirect
Gogithub.com/cncf/xds/gov0.0.0-20260202195803-dba9d589def2indirect
Gogithub.com/containerd/errdefsv1.0.0indirect
Gogithub.com/containerd/errdefs/pkgv0.3.0indirect
Gogithub.com/coredns/caddyv1.1.1indirect
Gogithub.com/coreos/go-semverv0.3.1indirect
Gogithub.com/coreos/go-systemdv0.0.0-20191104093116-d3cd4ed1dbcfindirect
Gogithub.com/coreos/go-systemd/v22v22.7.0indirect
Gogithub.com/cyphar/filepath-securejoinv0.2.4indirect
Gogithub.com/docker/go-connectionsv0.7.0indirect
Gogithub.com/docker/go-unitsv0.5.0indirect
Gogithub.com/emicklei/go-restful/v3v3.13.0indirect
Gogithub.com/emirpasic/godsv1.18.1indirect
Gogithub.com/envoyproxy/go-control-plane/envoyv1.37.0indirect
Gogithub.com/envoyproxy/protoc-gen-validatev1.3.3indirect
Gogithub.com/evanphx/json-patchv5.7.0+incompatibleindirect
Gogithub.com/felixge/httpsnoopv1.0.4indirect
Gogithub.com/fsnotify/fsnotifyv1.10.0indirect
Gogithub.com/fsnotify/fsnotifyv1.9.0indirect
Gogithub.com/fxamacker/cbor/v2v2.9.0indirect
Gogithub.com/fxamacker/cbor/v2v2.9.1indirect
Gogithub.com/go-errors/errorsv1.4.2indirect
Gogithub.com/go-git/gcfgv1.5.1-0.20230307220236-3a3c6141e376indirect
Gogithub.com/go-git/go-billy/v5v5.5.0indirect
Gogithub.com/go-git/go-git/v5v5.12.0indirect
Gogithub.com/go-jose/go-jose/v4v4.1.4indirect
Gogithub.com/go-logr/stdrv1.2.2indirect
Gogithub.com/go-logr/zaprv1.3.0indirect
Gogithub.com/go-openapi/jsonpointerv0.21.0indirect
Gogithub.com/go-openapi/jsonpointerv0.23.1indirect
Gogithub.com/go-openapi/jsonreferencev0.20.2indirect
Gogithub.com/go-openapi/jsonreferencev0.21.5indirect
Gogithub.com/go-openapi/swagv0.23.0indirect
Gogithub.com/go-openapi/swagv0.26.0indirect
Gogithub.com/go-openapi/swag/cmdutilsv0.26.0indirect
Gogithub.com/go-openapi/swag/convv0.26.0indirect
Gogithub.com/go-openapi/swag/fileutilsv0.26.0indirect
Gogithub.com/go-openapi/swag/jsonnamev0.26.0indirect
Gogithub.com/go-openapi/swag/jsonutilsv0.26.0indirect
Gogithub.com/go-openapi/swag/loadingv0.26.0indirect
Gogithub.com/go-openapi/swag/manglingv0.26.0indirect
Gogithub.com/go-openapi/swag/netutilsv0.26.0indirect
Gogithub.com/go-openapi/swag/stringutilsv0.26.0indirect
Gogithub.com/go-openapi/swag/typeutilsv0.26.0indirect
Gogithub.com/go-openapi/swag/yamlutilsv0.26.0indirect
Gogithub.com/go-task/slim-sprig/v3v3.0.0indirect
Gogithub.com/go-viper/mapstructure/v2v2.4.0indirect
Gogithub.com/gogo/protobufv1.3.2indirect
Gogithub.com/golang/groupcachev0.0.0-20210331224755-41bb18bfe9daindirect
Gogithub.com/golang/protobufv1.5.4indirect
Gogithub.com/google/gnostic-modelsv0.7.0indirect
Gogithub.com/google/gnostic-modelsv0.7.1indirect
Gogithub.com/google/go-github/v58v58.0.0indirect
Gogithub.com/google/go-querystringv1.2.0indirect
Gogithub.com/google/pprofv0.0.0-20260402051712-545e8a4df936indirect
Gogithub.com/google/s2a-gov0.1.9indirect
Gogithub.com/google/uuidv1.6.0indirect
Gogithub.com/googleapis/enterprise-certificate-proxyv0.3.18indirect
Gogithub.com/googleapis/gax-go/v2v2.23.0indirect
Gogithub.com/googlecloudplatform/opentelemetry-operations-go/detectors/gcpv1.32.0indirect
Gogithub.com/googlecloudplatform/opentelemetry-operations-go/exporter/metricv0.57.0indirect
Gogithub.com/googlecloudplatform/opentelemetry-operations-go/internal/resourcemappingv0.57.0indirect
Gogithub.com/gorilla/websocketv1.5.4-0.20250319132907-e064f32e3674indirect
Gogithub.com/grpc-ecosystem/go-grpc-middleware/providers/prometheusv1.1.0indirect
Gogithub.com/grpc-ecosystem/go-grpc-middleware/v2v2.3.3indirect
Gogithub.com/grpc-ecosystem/grpc-gateway/v2v2.28.0indirect
Gogithub.com/huandu/xstringsv1.5.0indirect
Gogithub.com/inconshreveable/mousetrapv1.1.0indirect
Gogithub.com/jbenet/go-contextv0.0.0-20150711004518-d14ea06fba99indirect
Gogithub.com/josharian/internv1.0.0indirect
Gogithub.com/json-iterator/gov1.1.12indirect
Gogithub.com/kevinburke/ssh_configv1.2.0indirect
Gogithub.com/kylelemons/godebugv1.1.0indirect
Gogithub.com/mailru/easyjsonv0.7.7indirect
Gogithub.com/masterminds/goutilsv1.1.1indirect
Gogithub.com/masterminds/semver/v3v3.4.0indirect
Gogithub.com/mattn/go-colorablev0.1.14indirect
Gogithub.com/mattn/go-isattyv0.0.20indirect
Gogithub.com/mattn/go-runewidthv0.0.19indirect
Gogithub.com/microsoft/go-winiov0.6.2indirect
Gogithub.com/mitchellh/copystructurev1.2.0indirect
Gogithub.com/mitchellh/reflectwalkv1.0.2indirect
Gogithub.com/moby/docker-image-specv1.3.1indirect
Gogithub.com/moby/moby/apiv1.55.0indirect
Gogithub.com/moby/moby/clientv0.5.0indirect
Gogithub.com/moby/spdystreamv0.5.1indirect
Gogithub.com/modern-go/concurrentv0.0.0-20180306012644-bacd9c7ef1ddindirect
Gogithub.com/modern-go/reflect2v1.0.3-0.20250322232337-35a7c28c31eeindirect
Gogithub.com/munnerz/goautonegv0.0.0-20191010083416-a7dc8b61c822indirect
Gogithub.com/nozzle/throttlerv0.0.0-20180817012639-2ea982251481indirect
Gogithub.com/nytimes/gziphandlerv1.1.1indirect
Gogithub.com/olekukonko/catv0.0.0-20250911104152-50322a0618f6indirect
Gogithub.com/olekukonko/errorsv1.2.0indirect
Gogithub.com/olekukonko/llv0.1.6indirect
Gogithub.com/opencontainers/go-digestv1.0.0indirect
Gogithub.com/opencontainers/image-specv1.1.1indirect
Gogithub.com/pelletier/go-tomlv1.9.5indirect
Gogithub.com/pelletier/go-toml/v2v2.2.4indirect
Gogithub.com/pjbgf/sha1cdv0.3.0indirect
Gogithub.com/planetscale/vtprotobufv0.6.1-0.20240319094008-0393e58bdf10indirect
Gogithub.com/pmezard/go-difflibv1.0.1-0.20181226105442-5d4384ee4fb2indirect
Gogithub.com/prometheus/commonv0.67.5indirect
Gogithub.com/prometheus/procfsv0.19.2indirect
Gogithub.com/prometheus/procfsv0.20.1indirect
Gogithub.com/protonmail/go-cryptov1.0.0indirect
Gogithub.com/sagikazarmark/locaferov0.11.0indirect
Gogithub.com/saschagrunert/go-modiffv1.3.5indirect
Gogithub.com/sergi/go-diffv1.3.2-0.20230802210424-5b0b94c5c0d3indirect
Gogithub.com/shopspring/decimalv1.4.0indirect
Gogithub.com/sirupsen/logrusv1.9.3indirect
Gogithub.com/skeema/knownhostsv1.2.2indirect
Gogithub.com/sourcegraph/concv0.3.1-0.20240121214520-5f936abd7ae8indirect
Gogithub.com/spf13/aferov1.15.0indirect
Gogithub.com/spf13/castv1.10.0indirect
Gogithub.com/spiffe/go-spiffe/v2v2.6.0indirect
Gogithub.com/stoewer/go-strcasev1.3.0indirect
Gogithub.com/subosito/gotenvv1.6.0indirect
Gogithub.com/vincent-petithory/dataurlv1.0.0indirect
Gogithub.com/vividcortex/ewmav1.2.0indirect
Gogithub.com/x448/float16v0.8.4indirect
Gogithub.com/xanzy/ssh-agentv0.3.3indirect
Gogo.opentelemetry.io/auto/sdkv1.2.1indirect
Gogo.opentelemetry.io/contrib/detectors/gcpv1.43.0indirect
Gogo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpcv0.65.0indirect
Gogo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpcv0.68.0indirect
Gogo.opentelemetry.io/contrib/instrumentation/net/http/otelhttpv0.65.0indirect
Gogo.opentelemetry.io/contrib/instrumentation/net/http/otelhttpv0.67.0indirect
Gogo.opentelemetry.io/otelv1.43.0indirect
Gogo.opentelemetry.io/otelv1.44.0indirect
Gogo.opentelemetry.io/otel/exporters/otlp/otlptracev1.43.0indirect
Gogo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpcv1.43.0indirect
Gogo.opentelemetry.io/otel/metricv1.43.0indirect
Gogo.opentelemetry.io/otel/metricv1.44.0indirect
Gogo.opentelemetry.io/otel/sdkv1.43.0indirect
Gogo.opentelemetry.io/otel/sdkv1.44.0indirect
Gogo.opentelemetry.io/otel/sdk/metricv1.44.0indirect
Gogo.opentelemetry.io/otel/tracev1.43.0indirect
Gogo.opentelemetry.io/otel/tracev1.44.0indirect
Gogo.opentelemetry.io/proto/otlpv1.10.0indirect
Gogo.uber.org/multierrv1.11.0indirect
Gogo.yaml.in/yaml/v2v2.4.3indirect
Gogo.yaml.in/yaml/v2v2.4.4indirect
Gogo.yaml.in/yaml/v3v3.0.4indirect
Gogo4.orgv0.0.0-20201209231011-d4a079459e60indirect
Gogolang.org/x/cryptov0.53.0indirect
Gogolang.org/x/cryptov0.54.0indirect
Gogolang.org/x/expv0.0.0-20251219203646-944ab1f22d93indirect
Gogolang.org/x/modv0.37.0indirect
Gogolang.org/x/netv0.49.0indirect
Gogolang.org/x/netv0.56.0indirect
Gogolang.org/x/netv0.57.0indirect
Gogolang.org/x/syncv0.22.0indirect
Gogolang.org/x/sysv0.46.0indirect
Gogolang.org/x/sysv0.47.0indirect
Gogolang.org/x/termv0.44.0indirect
Gogolang.org/x/termv0.45.0indirect
Gogolang.org/x/timev0.14.0indirect
Gogolang.org/x/timev0.15.0indirect
Gogolang.org/x/toolsv0.47.0indirect
Gogoogle.golang.org/apiv0.289.0indirect
Gogoogle.golang.org/genprotov0.0.0-20260519071638-aa98bba5eb94indirect
Gogoogle.golang.org/genproto/googleapis/apiv0.0.0-20260401024825-9d38bb4040a9indirect
Gogoogle.golang.org/genproto/googleapis/apiv0.0.0-20260630182238-925bb5da69e7indirect
Gogoogle.golang.org/genproto/googleapis/rpcv0.0.0-20260401024825-9d38bb4040a9indirect
Gogoogle.golang.org/genproto/googleapis/rpcv0.0.0-20260706201446-f0a921348800indirect
Gogoogle.golang.org/protobufv1.36.12-0.20260120151049-f2248ac996afindirect
Gogopkg.in/evanphx/json-patch.v4v4.13.0indirect
Gogopkg.in/inf.v0v0.9.1indirect
Gogopkg.in/warnings.v0v0.1.2indirect
Gogopkg.in/yaml.v2v2.4.0indirect
Gogopkg.in/yaml.v3v3.0.1indirect
Gok8s.io/kube-openapiv0.0.0-20260317180543-43fb72c5454aindirect
Gok8s.io/kube-openapiv0.0.0-20260427204847-8949caaa1199indirect
Gok8s.io/releasev0.16.9indirect
Gosigs.k8s.io/apiserver-network-proxy/konnectivity-clientv0.34.0indirect
Gosigs.k8s.io/controller-toolsv0.21.0indirect
Gosigs.k8s.io/jsonv0.0.0-20250730193827-2d320260d730indirect
Gosigs.k8s.io/kindv0.32.0indirect
Gosigs.k8s.io/kubebuilder/docs/book/utilsv0.0.0-20211028165026-57688c578b5dindirect
Gosigs.k8s.io/kustomize/apiv0.17.3indirect
Gosigs.k8s.io/kustomize/kyamlv0.17.2indirect
Gosigs.k8s.io/release-sdkv0.11.0indirect
Gosigs.k8s.io/release-utilsv0.8.1indirect
Dependency advisories 9

This repository publishes no package the index resolves, so its own dependency graph was assessed — 255 packages, which also include development and test pins that never ship: 9 carry known advisories, of which 2 are direct.

PackageVersionRelationSeverityAdvisoriesFixed in
google.golang.org/grpcv1.80.0directcritical11.82.1
github.com/go-git/go-git/v5v5.12.0indirectcritical206.0.0-alpha.4
github.com/go-git/go-billy/v5v5.5.0indirecthigh46.0.0-alpha.1
github.com/google/cel-gov0.26.0directmoderate10.29.0
github.com/cloudflare/circlv1.6.1indirectmoderate21.6.3
golang.org/x/netv0.49.0indirectmoderate91.26.3
go.opentelemetry.io/otelv1.43.0indirectunknown11.44.0
golang.org/x/cryptov0.53.0indirectunknown1
golang.org/x/cryptov0.54.0indirectunknown1

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": true,
      "size_kb": 237393,
      "has_wiki": true,
      "homepage": "https://cluster-api.sigs.k8s.io",
      "languages": {
        "Go": 15647954,
        "Shell": 79991,
        "Python": 49851,
        "Makefile": 80791,
        "Dockerfile": 11007,
        "Go Template": 339
      },
      "pushed_at": "2026-07-25T00:47:24Z",
      "created_at": "2024-01-08T08:45:38Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-25T00:47:36Z",
      "description": "Home for Cluster API, a subproject of sig-cluster-lifecycle",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Go",
      "significant_languages": [
        "Go"
      ]
    },
    "owner": {
      "blog": "https://www.rancher.com",
      "name": "Rancher",
      "type": "Organization",
      "login": "rancher",
      "company": null,
      "location": null,
      "followers": 1383,
      "avatar_url": "https://avatars.githubusercontent.com/u/9343010?v=4",
      "created_at": "2014-10-21T21:47:27Z",
      "is_verified": null,
      "public_repos": 590,
      "account_age_days": 4296
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.13.3",
          "kind": "patch",
          "published_at": "2026-06-29T10:04:03Z"
        },
        {
          "tag": "v1.13.2",
          "kind": "patch",
          "published_at": "2026-05-26T14:01:43Z"
        },
        {
          "tag": "v1.13.1",
          "kind": "patch",
          "published_at": "2026-05-13T15:40:08Z"
        },
        {
          "tag": "v1.12.7",
          "kind": "patch",
          "published_at": "2026-05-14T08:26:50Z"
        },
        {
          "tag": "v1.12.2",
          "kind": "patch",
          "published_at": "2026-02-03T08:23:36Z"
        },
        {
          "tag": "v1.11.5",
          "kind": "patch",
          "published_at": "2026-02-03T07:54:43Z"
        },
        {
          "tag": "v1.11.4",
          "kind": "patch",
          "published_at": "2026-01-19T17:20:53Z"
        },
        {
          "tag": "v1.10.6",
          "kind": "patch",
          "published_at": "2025-09-30T08:30:53Z"
        },
        {
          "tag": "v1.10.5",
          "kind": "patch",
          "published_at": "2025-08-29T18:13:22Z"
        },
        {
          "tag": "v1.10.3",
          "kind": "patch",
          "published_at": "2025-07-31T14:57:06Z"
        },
        {
          "tag": "v1.10.2",
          "kind": "patch",
          "published_at": "2025-07-03T05:34:24Z"
        },
        {
          "tag": "v1.10.1",
          "kind": "patch",
          "published_at": "2025-07-02T06:33:38Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2025-07-03T05:29:48Z"
        },
        {
          "tag": "v1.9.5",
          "kind": "patch",
          "published_at": "2025-02-20T11:25:44Z"
        },
        {
          "tag": "v1.9.4",
          "kind": "patch",
          "published_at": "2025-01-24T14:08:37Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2024-12-13T13:49:51Z"
        },
        {
          "tag": "v1.8.4",
          "kind": "patch",
          "published_at": "2024-10-31T18:53:46Z"
        },
        {
          "tag": "v1.7.7",
          "kind": "patch",
          "published_at": "2024-10-18T08:48:23Z"
        },
        {
          "tag": "v1.7.3",
          "kind": "patch",
          "published_at": "2024-09-11T15:05:05Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "a51856a032639cebcfed15fcb0ec9f907c442e1e",
          "body": "* add configuration for externallyProvisioned\n\nSigned-off-by: Troy Connor <troy0820@users.noreply.github.com>\n\n* Update docs/book/src/clusterctl/configuration.md\n\nCo-authored-by: Fabrizio Pandini <fabrizio.pandini@gmail.com>\n\n---------\n\nSigned-off-by: Troy Connor <troy0820@users.noreply.github.com>\nCo-authored-by: Fabrizio Pandini <fabrizio.pandini@gmail.com>",
          "is_bot": false,
          "headline": "✨ Add configuration `ExternallyProvisioned` for clusterctl (#13739)",
          "author_name": "Troy Connor",
          "author_login": "troy0820",
          "committed_at": "2026-07-24T12:49:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a59c173add9b552cbc0cac4415ae5c206970dba2",
          "body": "🌱 Verify etcd serving certificate against the etcd CA",
          "is_bot": true,
          "headline": "Merge pull request #13765 from alhudz/verify-etcd-server-cert",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-24T12:29:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1be0ae5a01215b70e015fb15d8ebb6f4bed32e23",
          "body": null,
          "is_bot": false,
          "headline": "verify etcd serving certificate against the etcd CA",
          "author_name": "alhudz",
          "author_login": "alhudz",
          "committed_at": "2026-07-24T09:13:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d1c84698939d01a29b58790b47434440d4d5cc1",
          "body": "🌱 Make it easier to debug cert issues in clusterctl upgrade & self-hosted tests",
          "is_bot": true,
          "headline": "Merge pull request #13966 from sbueringer/pr-debug-cert-issues",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-23T18:51:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "514991483a69ddabf52706b4719c3d209643195b",
          "body": "…ed tests",
          "is_bot": false,
          "headline": "Make it easier to debug cert issues in clusterctl upgrade & self-host…",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-23T12:26:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12d561334269a8acd564ac93759dfa5f879c0b4e",
          "body": "🌱 Use pkgerrors as alias for github.com/pkg/errors & no alias for errors",
          "is_bot": true,
          "headline": "Merge pull request #13963 from sbueringer/pr-pkgerrors-alias",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-22T18:17:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7226965b447f04ac05f1baaadb3fdd1b389dcf31",
          "body": null,
          "is_bot": false,
          "headline": "Use no alias for the errors package",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-22T17:02:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c8f1ad5be1eae32b077f11b0a2a13c6fa19ae1e",
          "body": null,
          "is_bot": false,
          "headline": "Use pkgerrors as alias for github.com/pkg/errors",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-22T16:56:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f8221cd2c7ebf8cf6f49e5ba8f873ffb26b7296",
          "body": "🐛 Fix a panic in CAPDev cache.Get()",
          "is_bot": true,
          "headline": "Merge pull request #13959 from sbueringer/pr-fix-capdev-panic",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-22T16:29:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6b0061cbe3893ecadaeade8b8167355dbbc4eeb",
          "body": null,
          "is_bot": false,
          "headline": "Fix a panic in CAPDev cache.Get()",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-22T14:35:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0faa91b05fc9ee7f902fc34ed73bc6178fc6dae",
          "body": "📖 Add KubeSwift to the quick-start guide and glossary",
          "is_bot": true,
          "headline": "Merge pull request #13955 from wrkode/docs-quickstart-kubeswift",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-22T10:09:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee15448827f2a3311487512ebacef8ee7737d273",
          "body": "…-machine-deletion-tests\n\n🌱 Unit testing to determine if provider allows individual machines to be deleted.",
          "is_bot": true,
          "headline": "Merge pull request #13832 from mpinchover/feat/machinepool-individual…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-22T10:03:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2692a83891c6bcf4cb0ccace5d8f2e3d997f05e6",
          "body": "Documents KubeSwift in the getting-started book the same way other infrastructure\nproviders do: a KubeSwift tab in the infrastructure installation group\n(clusterctl init --infrastructure kubeswift-io) and the configuration group\n(SwiftImage + SwiftGuestClass prerequisites), plus a CAPKS glossary entry.\n\nSigned-off-by: William Rizzo <william.rizzo@gmail.com>",
          "is_bot": false,
          "headline": "Add KubeSwift to the quick-start guide and glossary",
          "author_name": "William Rizzo",
          "author_login": "wrkode",
          "committed_at": "2026-07-22T06:23:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ae90b2b54366263fa5adc60c05cf60dd998295c",
          "body": "gofmt\n\nrebase",
          "is_bot": false,
          "headline": "added in tests for individual machine deletion",
          "author_name": "mpinchover",
          "author_login": "mpinchover",
          "committed_at": "2026-07-21T19:11:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62d13b3419a3c32dc72af4bd36a5aab413db4747",
          "body": "…strapconfigtemplate\n\n🌱 Consider MS skip preflight check annotation from BootstrapConfigTemplate",
          "is_bot": true,
          "headline": "Merge pull request #13938 from sbueringer/pr-preflightcheck-from-boot…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T18:55:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "690603a6cd8b1adbcfd4816396d270ed91a7f4a4",
          "body": null,
          "is_bot": false,
          "headline": "Consider skip preflight check annotation from BootstrapConfigTemplate",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-21T17:00:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bca3a0642111512e508f5fd914f8a0332d5b38e5",
          "body": "🚀 Release v1.14.0-beta.1",
          "is_bot": true,
          "headline": "Merge pull request #13953 from vishalanarase/release-notes-1.14-beta.1",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T16:17:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6bfa7589ddbae093636410a1324b329596470c02",
          "body": "Signed-off-by: Vishal Anarase <iamvishalanarase@gmail.com>",
          "is_bot": false,
          "headline": "🚀 Release v1.14.0-beta.1",
          "author_name": "Vishal Anarase",
          "author_login": "vishalanarase",
          "committed_at": "2026-07-21T16:04:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3967442b2e60e0ada610fec839e082a4cbb73bd7",
          "body": "✨ Add cluster-api-provider-kubeswift to the built-in infrastructure provider list",
          "is_bot": true,
          "headline": "Merge pull request #13946 from wrkode/add-kubeswift-Infra-provider",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T15:51:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee53baa3648060063f5813734dfbb31105e53c09",
          "body": "…elease-url\n\n🐛 clusterctl: reject incomplete GitHub release asset URLs",
          "is_bot": true,
          "headline": "Merge pull request #13909 from immanuwell/fix-clusterctl-incomplete-r…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T15:23:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f4fe224bcb215aafa0e50ff9eaf08224933bb0c",
          "body": "🌱 Add stable BuildKit cache mount IDs",
          "is_bot": true,
          "headline": "Merge pull request #13930 from Debasish-87/buildkit-cache-ids",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T15:03:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98a27925aa42fe30eecf4f716b80efbebb5812db",
          "body": "…hing\n\n📖 Document metadata patching",
          "is_bot": true,
          "headline": "Merge pull request #13951 from fabriziopandini/document-metadata-patc…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T14:33:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35bb472c82538aeee241671e3bd30b1e173be8fd",
          "body": "…s patches (#13924)\n\n* Allow patching of metadata.{labels,annotations} through ClusterClass patches\n\n* Fix review findings\n\n---------\n\nCo-authored-by: Stefan Bueringer <sbueringer@users.noreply.github.com>",
          "is_bot": false,
          "headline": "✨ Allow patching of metadata.{labels,annotations} through ClusterClas…",
          "author_name": "Stefan Büringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-21T14:33:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3511c4e27db334db1914e54fc0f4b8e1e642ed76",
          "body": "🌱 Add Code Freeze date field to `provider_issues.go` to be used for beta communication",
          "is_bot": true,
          "headline": "Merge pull request #13915 from naseyro/add-code-freeze-to-issue-body",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T13:58:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1be339409706f4081756cf4222a4bed37019ec7",
          "body": null,
          "is_bot": false,
          "headline": "Document metadata patching",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-21T13:54:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b80a2c9f298ebdacc90b138fcefb91fc570d9bb",
          "body": "Signed-off-by: Omar Nasser <omarnasserjr@gmail.com>",
          "is_bot": false,
          "headline": "Add Code Freeze Date to body issue",
          "author_name": "Omar Nasser",
          "author_login": "naseyro",
          "committed_at": "2026-07-21T13:15:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e546d156d45e940ad17a58ecabe457dd6e0c0a9",
          "body": "…erver\n\n🌱 Add 20 MB read limits for Runtime SDK client & server",
          "is_bot": true,
          "headline": "Merge pull request #13944 from sbueringer/pr-max-runtime-sdk-client-s…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T12:34:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b4639f713dd8dd93dc1eb1c0ff93edc41352842",
          "body": "🌱 Bump Kubernetes version used for testing to v1.37.0-beta.0",
          "is_bot": true,
          "headline": "Merge pull request #13912 from sbueringer/pr-test-kk-v1.37.0-beta.0",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T12:34:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3463dbf80361b43d0eca492824e26a28eea520af",
          "body": "🌱 Block ExecProvider/AuthProvider in ClusterCache, deprecate remote funcs",
          "is_bot": true,
          "headline": "Merge pull request #13949 from sbueringer/pr-fix-restconfig",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T12:06:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab89e8a0aa46fcdc3ed43b7c65faf0a378ba0b53",
          "body": "Signed-off-by: William Rizzo <william.rizzo@gmail.com>",
          "is_bot": false,
          "headline": "add infrastructure provider kubeswift-io",
          "author_name": "William Rizzo",
          "author_login": "wrkode",
          "committed_at": "2026-07-21T11:40:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1741994e864c163e0398407502b2547a0d1b4354",
          "body": null,
          "is_bot": false,
          "headline": "Block ExecProvider/AuthProvider in ClusterCache, deprecate remote funcs",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-21T10:55:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1dabefc0bb958213bcce0314163d30560d4b9a0",
          "body": "✨ docs: add KubeSwift to the infrastructure provider list",
          "is_bot": true,
          "headline": "Merge pull request #13947 from wrkode/docs/provider-list-kubeswift-io",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T10:30:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a28824e395d58b6c2550f1b535b9423d957ce57e",
          "body": "* KCP enforce context deadline on connection stream\n\n* Address feedback",
          "is_bot": false,
          "headline": "🌱 KCP enforce context deadline on connection stream (#13939)",
          "author_name": "Fabrizio Pandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-21T10:30:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e6fb33bf524c9d0208ba67012100a2a2e532557",
          "body": null,
          "is_bot": false,
          "headline": "Add 20 MB read limits for Runtime SDK client & server",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-21T10:23:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e839fca06bc714f29bcce9c8a4304f00bd557c82",
          "body": null,
          "is_bot": false,
          "headline": "Bump Kubernetes version used for testing to v1.37.0-beta.0",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-21T10:00:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e4ca3c072458dde352bbeb1008dc60f5b620c58",
          "body": "🌱 Bump setup-envtest to v0.24.1",
          "is_bot": true,
          "headline": "Merge pull request #13948 from fabriziopandini/setup-envtest",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T09:52:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb90c1abb8d9e23a1912bb4ce0dba9d1104934ae",
          "body": null,
          "is_bot": false,
          "headline": "Bump setup-envtest to v0.24.1",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-21T09:33:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75b96b1dd65d337d0ae4fd56dff8acbfd3e61c2e",
          "body": "…all-go-mod-patch-and-minor-bbdffbc240\n\n:seedling: Bump the all-go-mod-patch-and-minor group across 3 directories with 3 updates",
          "is_bot": true,
          "headline": "Merge pull request #13945 from kubernetes-sigs/dependabot/go_modules/…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-21T07:26:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "750a1a73a35f8c52af508f9376a1860f954dff66",
          "body": "Signed-off-by: William Rizzo <william.rizzo@gmail.com>",
          "is_bot": false,
          "headline": "Adds cluster-api-provider-kubeswift",
          "author_name": "William Rizzo",
          "author_login": "wrkode",
          "committed_at": "2026-07-21T06:08:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a32d4c061c9876fc7863eeee2006f98e2d9208e3",
          "body": null,
          "is_bot": true,
          "headline": "Update generated code",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-20T21:19:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "909e8e4d84c398f3aaf1abf666b8cd76d0d9ee58",
          "body": "…ries with 3 updates\n\nBumps the all-go-mod-patch-and-minor group with 2 updates in the / directory: [github.com/coredns/corefile-migration](https://github.com/coredns/corefile-migration) and [github.com/go-logr/logr](https://github.com/go-logr/logr).\nBumps the all-go-mod-patch-and-minor group with 1\n[…]\ny-version: 1.4.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all-go-mod-patch-and-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": ":seedling: Bump the all-go-mod-patch-and-minor group across 3 directo…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-20T21:16:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e760f4ad1bdf744e3cfe3adb5fd0cf391e2c98fe",
          "body": "* Surface upgrade plan in cluster status\n\n* Address comments",
          "is_bot": false,
          "headline": "🌱 Surface upgrade plan in cluster status (#13923)",
          "author_name": "Fabrizio Pandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-20T16:46:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c28f92f9c97508f6df431e3277bf6c7e2a5eeab",
          "body": "…ng-secret-ownerRef\n\n🌱 Prevent CABPK to override controlling ownerRef for bootstrap secrets",
          "is_bot": true,
          "headline": "Merge pull request #13937 from fabriziopandini/prevent-cabpk-overridi…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T16:02:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f6e7cb4312a52d165ff676ce67c86dac532bc53",
          "body": null,
          "is_bot": false,
          "headline": "Prevent CABPK to override ownerRef",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-20T15:24:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a45d734a6aa65cdf5239688eddfed7da25fc9ef8",
          "body": "🌱 Rename in-memory e2e test flavor to in-memory-scale",
          "is_bot": true,
          "headline": "Merge pull request #13936 from sbueringer/pr-rename-in-memory-flavor",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T14:44:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be59830aadec98ce5d882ee2c0eeecae567dd326",
          "body": "🌱  Harden clusterctl move",
          "is_bot": true,
          "headline": "Merge pull request #13928 from fabriziopandini/harden-clusterctl-move",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T14:02:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9254b6b5411152ac78ac76d450bddd2e6fb3e033",
          "body": null,
          "is_bot": false,
          "headline": "Rename in-memory e2e test flavor to in-memory-scale",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-20T13:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eaaefa76c65969d929e85b0b735649e743469557",
          "body": "📖 add oxide getting started sections",
          "is_bot": true,
          "headline": "Merge pull request #13921 from bwagner5/oxide-docs",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T11:30:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c07015acf41b82f8ac1897105e8e90339cb6794",
          "body": "🌱 add oxide as an infrastructure provider",
          "is_bot": true,
          "headline": "Merge pull request #13920 from bwagner5/oxide",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T11:30:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4417a240394db1da7c313db69d12af53f4db2dd4",
          "body": "…from-templates\n\n🌱 Limit size of files generated from templates",
          "is_bot": true,
          "headline": "Merge pull request #13927 from fabriziopandini/limit-files-generated-…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T10:24:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "983e527159e1765ad2eb433ac075cad875153ba5",
          "body": "🌱 Verify mdbook sha",
          "is_bot": true,
          "headline": "Merge pull request #13926 from fabriziopandini/check-mdbook-sha",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T10:04:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "93ef284e52cc1224d1540d2a19469b2b614f0e14",
          "body": "…to-upstream\n\n🌱 Align scale validator to upstream",
          "is_bot": true,
          "headline": "Merge pull request #13925 from fabriziopandini/align-scale-validator-…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T10:04:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dac018b6e603925d23cfb97713cb837383b8e105",
          "body": "…ons/all-github-actions-f4c27e9114\n\n:seedling: Bump the all-github-actions group with 2 updates",
          "is_bot": true,
          "headline": "Merge pull request #13931 from kubernetes-sigs/dependabot/github_acti…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-20T09:36:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7a805e28f5bb18abf82dcdb178dcf6ef7c5d9ca",
          "body": "Bumps the all-github-actions group with 2 updates: [actions/setup-go](https://github.com/actions/setup-go) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release).\n\n\nUpdates `actions/setup-go` from 6.5.0 to 7.0.0\n- [Release notes](https://github.com/actions/setup-go/release\n[…]\nependency-version: 3.0.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all-github-actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": ":seedling: Bump the all-github-actions group with 2 updates",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-17T21:12:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "177b4d690226d6f708c478a9ed717baaad8af7fa",
          "body": null,
          "is_bot": false,
          "headline": "Add stable BuildKit cache mount IDs",
          "author_name": "Debasish-87",
          "author_login": "Debasish-87",
          "committed_at": "2026-07-17T20:16:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9571430588022263ad028c63336c85b39e7a8e8",
          "body": null,
          "is_bot": false,
          "headline": "Harden clusterctl move",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-17T15:44:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c403e6c333063b40b86e199ef074a344ae05c2d1",
          "body": null,
          "is_bot": false,
          "headline": "Limit size of files generated from templates",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-17T14:37:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d4a4e756e4388e8f9cbb605e2e7941d4d083ec7",
          "body": null,
          "is_bot": false,
          "headline": "Verify mdbook sha",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-17T14:23:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "456fb47da84ac9fe201cb8b0df6945e0b35c9738",
          "body": null,
          "is_bot": false,
          "headline": "Align scale validator to upstream",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-17T13:22:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b64483027d15466f02215c8a6d3df8a3e3422c2f",
          "body": "🐛 Fix verify docker images arch",
          "is_bot": true,
          "headline": "Merge pull request #13922 from sbueringer/pr-fix-verify-arch",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-17T09:13:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0288512122e93a4db8fabb95c756cc3c7c7c001f",
          "body": null,
          "is_bot": false,
          "headline": "Fix verify docker images arch",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-17T08:55:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e338bf8f28d2695471d340420c12fcfd675ffc0b",
          "body": null,
          "is_bot": false,
          "headline": "add oxide getting started sections",
          "author_name": "Brandon Wagner",
          "author_login": "bwagner5",
          "committed_at": "2026-07-16T21:34:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84dffc9334f80018882942b1494e0b9b2a893f5a",
          "body": null,
          "is_bot": false,
          "headline": "add oxide as an infrastructure provider",
          "author_name": "Brandon Wagner",
          "author_login": "bwagner5",
          "committed_at": "2026-07-16T21:30:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "318a11fbf6b0f28b2286adf553b1d9f4aef7be1a",
          "body": "…anization-proposal\n\n🌱 Small cleanup on the code organization proposal",
          "is_bot": true,
          "headline": "Merge pull request #13918 from fabriziopandini/small-cleanup-code-org…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-16T17:35:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a512da96177fa8eb7f3e6c9340e6150de88acf2",
          "body": "🌱 Bump autoscaler version used for testing",
          "is_bot": true,
          "headline": "Merge pull request #13919 from fabriziopandini/bump-autoscaler",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-16T17:27:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ceb414c6e24886ef868eb95b07cfd0840dac3c43",
          "body": "* Align bootstrap/kubeadm to new structure\n\n* Align controlplane/kubeadm to new structure\n\n* Move logos to docs/logos\n\n* Inline dev/vscode-example-configuration\n\n* Align core to new structure\n\n* Fix review findings\n\n* Move setup to provider root packages\n\n* Move CAPBK defaulting/vaidation funcs into\n[…]\nrollers to reconcilers\n\n* Fix self-review findings\n\n* Enforce admission webhook import aliases\n\n* Fix review findings\n\n---------\n\nCo-authored-by: Stefan Bueringer <sbueringer@users.noreply.github.com>",
          "is_bot": false,
          "headline": "✨ Implement new code structure (#13894)",
          "author_name": "Stefan Büringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-16T15:43:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0bf63454506ef309d8951234d722efc8f5ed44bd",
          "body": null,
          "is_bot": false,
          "headline": "Bump autoscaler version used for testing",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-16T15:13:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1a8ae948e281be8bcb718e6c470e2e21d33bd35",
          "body": null,
          "is_bot": false,
          "headline": "Small cleanup on the code organization proposal",
          "author_name": "fabriziopandini",
          "author_login": "fabriziopandini",
          "committed_at": "2026-07-16T14:40:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e24ae369c5a35196c50c7fe92907515e468ca1d3",
          "body": "🚀 Release v1.13.4",
          "is_bot": true,
          "headline": "Merge pull request #13914 from aibarbetta/release-notes-1.13.4",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-15T13:07:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ad13ceabf7f62de773832979e4160641354fb1e",
          "body": "🚀 Release v1.12.10",
          "is_bot": true,
          "headline": "Merge pull request #13913 from aibarbetta/release-notes-1.12.10",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-15T12:57:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa050b08857bc150adbb7251a2879d249da23930",
          "body": null,
          "is_bot": false,
          "headline": "🚀 Release v1.13.4",
          "author_name": "Agustina Barbetta",
          "author_login": "aibarbetta",
          "committed_at": "2026-07-15T12:53:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d500a864baffc1ce0609ddf1ca6fe85603c56a7e",
          "body": null,
          "is_bot": false,
          "headline": "🚀 Release v1.12.10",
          "author_name": "Agustina Barbetta",
          "author_login": "aibarbetta",
          "committed_at": "2026-07-15T12:43:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32387845fd59ba118400eb802d95eb69b4c7c8dd",
          "body": "🚀 Release v1.14.0-beta.0",
          "is_bot": true,
          "headline": "Merge pull request #13911 from irapandey/release-notes-1.14-beta0",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-15T12:07:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d09b30167485de40c016565f9453e72f502f728",
          "body": "Signed-off-by: irapandey <ira.pandey2001@gmail.com>",
          "is_bot": false,
          "headline": "🚀 Release v1.14.0-beta.0",
          "author_name": "irapandey",
          "author_login": "irapandey",
          "committed_at": "2026-07-15T11:49:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4505b7c642eeb2d513b8d161222100a6dc58b056",
          "body": "📖  Add code organization proposal",
          "is_bot": true,
          "headline": "Merge pull request #13859 from fabriziopandini/code-organization",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-15T10:23:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "baa3fb43c8fd016d0d6c15b755987b63289ed0a6",
          "body": null,
          "is_bot": false,
          "headline": "fix(clusterctl): reject incomplete GitHub release asset URLs",
          "author_name": "immanuwell",
          "author_login": "immanuwell",
          "committed_at": "2026-07-15T07:12:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99d2ac0f6b889c93ca96cf5d30e41e1d459f6788",
          "body": "…all-go-mod-patch-and-minor-19f889447f\n\n:seedling: Bump the all-go-mod-patch-and-minor group across 2 directories with 4 updates",
          "is_bot": true,
          "headline": "Merge pull request #13904 from kubernetes-sigs/dependabot/go_modules/…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-14T11:57:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1127a05ea36061ab28ba0c70c818b0679f4700d8",
          "body": "🐛 Delete unhealthy Machines of old MS during in-place updates",
          "is_bot": true,
          "headline": "Merge pull request #13886 from sbueringer/pr-improve-in-place-updates",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-14T10:39:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a0c557a91791fba8b679fdac7d8081094f29e95",
          "body": "…ons-whitespace\n\n🐛 clusterctl: trim whitespace in --show-conditions filters",
          "is_bot": true,
          "headline": "Merge pull request #13897 from immanuwell/fix/clusterctl-show-conditi…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-14T10:19:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e87434228544bf937403cbdfd5cb18d11ff7633b",
          "body": "📖 Add Oxide to infra provider list",
          "is_bot": true,
          "headline": "Merge pull request #13903 from bwagner5/add-oxide",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-14T09:48:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60f9f1160bc613742a17a931ea1edf5acb551dee",
          "body": "Signed-off-by: Stefan Büringer buringerst@vmware.com",
          "is_bot": false,
          "headline": "Delete unhealthy Machines on old MS during in-place updates",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-14T09:44:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85c2a765f6c1a433ee44631555a7384e33fbe71a",
          "body": "…ries with 4 updates\n\nBumps the all-go-mod-patch-and-minor group with 2 updates in the / directory: [golang.org/x/text](https://github.com/golang/text) and [sigs.k8s.io/structured-merge-diff/v6](https://github.com/kubernetes-sigs/structured-merge-diff).\nBumps the all-go-mod-patch-and-minor group wit\n[…]\nversion: 0.287.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all-go-mod-patch-and-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": ":seedling: Bump the all-go-mod-patch-and-minor group across 2 directo…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-13T21:16:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "454ea29ec336ceda6d3ecab26c4555a64f8a7608",
          "body": null,
          "is_bot": false,
          "headline": "add oxide to infra provider list",
          "author_name": "Brandon Wagner",
          "author_login": "bwagner5",
          "committed_at": "2026-07-13T20:53:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31eb689921d62490279ba651229fb298ac5d2585",
          "body": "🌱 Bump Go to v1.26.5",
          "is_bot": true,
          "headline": "Merge pull request #13902 from aman4433/bump-go-1.26.5",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-13T17:18:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91af26c28a95441080dca0d97bdc0d16a02facb2",
          "body": null,
          "is_bot": false,
          "headline": "Bump Go toolchain to 1.26.5",
          "author_name": "Aman Shrivastava",
          "author_login": "aman4433",
          "committed_at": "2026-07-13T17:00:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b5f90e52d43b7bf40539d1ad2e7da95fffbd36f",
          "body": ":seedling: Bump cert-manager to v1.21.0",
          "is_bot": true,
          "headline": "Merge pull request #13900 from nikParasyr/cert-manager",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-13T13:32:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "770965a82cc18533a0e28e51860f4ad7f904cc5e",
          "body": "🌱 Stop setting TypeMeta in typed objects (part II)",
          "is_bot": true,
          "headline": "Merge pull request #13890 from sbueringer/pr-stop-setting-typemeta",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-13T09:18:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5789eff616f1d19da8abb0b3c4c9e5da64902317",
          "body": "✨ Remove YEAR from copyright header boilerplate",
          "is_bot": true,
          "headline": "Merge pull request #13889 from sbueringer/pr-adj-boilerplate",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-13T09:18:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b5f22bac6160bef6c2eef3f73898e9bfa4186a6",
          "body": "📖 Fix diagrams in in-place update implementation notes",
          "is_bot": true,
          "headline": "Merge pull request #13887 from sbueringer/pr-improve-in-place-notes",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-13T09:18:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27bda831671c91f99b16d1760abb8d3d975ab49d",
          "body": "🌱 Adjust IsMachineDeploymentUpgrading to detect in-place upgrades",
          "is_bot": true,
          "headline": "Merge pull request #13876 from sbueringer/pr-md-in-placeupgrade",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-13T09:18:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1464a1918c1b761927f3218f51adb14b051bca2",
          "body": "🌱 Cleanup ./scripts folder",
          "is_bot": true,
          "headline": "Merge pull request #13896 from sbueringer/pr-cleanup-scripts",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-13T09:02:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b88d27d424f9d9e08bbdc1ee85f0f542d616d73",
          "body": "…ludes\n\n🌱 Cleanup golangci-lint excludes",
          "is_bot": true,
          "headline": "Merge pull request #13891 from sbueringer/pr-cleanup-golangcilint-exc…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-13T09:02:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18826c55ead3c22f6b9a6136ba14ec86ff284024",
          "body": null,
          "is_bot": false,
          "headline": "Bump cert-manager to v1.21.0",
          "author_name": "nikParasyr",
          "author_login": "nikParasyr",
          "committed_at": "2026-07-13T06:45:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6419fc4f87f326f4ff8a31f529f5c6a6ab9be02",
          "body": null,
          "is_bot": false,
          "headline": "fix: reject whitespace in clusterctl show-conditions filters",
          "author_name": "immanuwell",
          "author_login": "immanuwell",
          "committed_at": "2026-07-11T13:10:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a132cfa06c2eb656dab99d359ed88db114ab24de",
          "body": ":sparkles: Update in-place updating a workload cluster e2e test to use in-memory backend",
          "is_bot": true,
          "headline": "Merge pull request #13895 from Karthik-K-N/update-inplace-test",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-10T13:13:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d69e4a6281c071ebbafc0c5b4c7cc5b4e348a2ae",
          "body": null,
          "is_bot": false,
          "headline": "Use in-memory template for in-place update tests",
          "author_name": "Karthik Bhat",
          "author_login": "Karthik-K-N",
          "committed_at": "2026-07-10T11:22:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91e470439a03a99759280ae7cd43a31136b2d910",
          "body": null,
          "is_bot": false,
          "headline": "Cleanup ./scripts folder",
          "author_name": "Stefan Bueringer",
          "author_login": "sbueringer",
          "committed_at": "2026-07-10T08:51:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ac15e42da8b7d88e76216386a210542eaed8add",
          "body": "🐛 Fix v1beta1 describe output stream",
          "is_bot": true,
          "headline": "Merge pull request #13893 from immanuwell/fix/describe-v1beta1-stdout",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-09T11:24:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61de131d7dcc7b41dc3b9de8c04b465a1d2e013a",
          "body": "…lient-ratelimit\n\n🐛 clusterctl: raise management cluster client QPS and Burst",
          "is_bot": true,
          "headline": "Merge pull request #13875 from mboersma/mboersma/clusterctl-disable-c…",
          "author_name": "kubernetes-prow[bot]",
          "author_login": "kubernetes-prow[bot]",
          "committed_at": "2026-07-09T11:24:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed44558742a6c242bb710a361fdce848efa4d7dd",
          "body": "* clusterctl: detect cert-manager image changes during upgrade\n\n* clusterctl: treat cert-manager image count mismatch as upgrade",
          "is_bot": false,
          "headline": "🐛 clusterctl: detect cert-manager image changes during upgrade (#13850)",
          "author_name": "Haejun Lee",
          "author_login": "back1ash",
          "committed_at": "2026-07-09T11:04:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 19,
      "commits_last_year": 1642,
      "latest_release_at": "2026-06-29T10:04:03Z",
      "latest_release_tag": "v1.13.3",
      "releases_from_tags": false,
      "days_since_last_push": 2,
      "active_weeks_last_year": 52,
      "days_since_latest_release": 27,
      "mean_days_between_releases": 37
    },
    "community": {
      "has_readme": false,
      "has_license": false,
      "has_description": false,
      "has_contributing": false,
      "health_percentage": null,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "sigs.k8s.io/cluster-api",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": null,
          "registry_url": "https://pkg.go.dev/sigs.k8s.io/cluster-api",
          "is_deprecated": false,
          "latest_version": "v1.13.4",
          "repository_url": null,
          "versions_count": 268,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-14T11:31:17Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 12
        },
        {
          "name": "sigs.k8s.io/cluster-api/api",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": null,
          "registry_url": "https://pkg.go.dev/sigs.k8s.io/cluster-api/api",
          "is_deprecated": false,
          "latest_version": "v1.14.0-beta.1",
          "repository_url": null,
          "versions_count": 3,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-21T16:17:45Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "example",
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile",
        "docs/book/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "api/go.mod",
        "go.mod",
        "hack/tools/go.mod",
        "test/go.mod"
      ],
      "largest_source_bytes": 390895,
      "source_files_sampled": 1371,
      "oversized_source_files": 52,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "api/go.mod",
        "go.mod",
        "test/go.mod"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "google.golang.org/grpc",
            "direct": true,
            "version": "v1.80.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-hrxh-6v49-42gf"
            ],
            "fixed_version": "1.82.1",
            "advisory_count": 1,
            "oldest_advisory_days": 5
          },
          {
            "name": "github.com/go-git/go-git/v5",
            "direct": false,
            "version": "v5.12.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-37cx-329c-33x3",
              "GHSA-389r-gv7p-r3rp",
              "GHSA-3xc5-wrhm-f963",
              "GHSA-crhj-59gh-8x96",
              "GHSA-gm2x-2g9h-ccm8",
              "GHSA-jhf3-xxhw-2wpp",
              "GHSA-m7cr-m3pv-hgrp",
              "GHSA-r9px-m959-cxf4",
              "GHSA-v725-9546-7q7m",
              "GHSA-w5pp-99ch-qj29"
            ],
            "fixed_version": "6.0.0-alpha.4",
            "advisory_count": 20,
            "oldest_advisory_days": 566
          },
          {
            "name": "github.com/go-git/go-billy/v5",
            "direct": false,
            "version": "v5.5.0",
            "severity": "high",
            "ecosystem": "go",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-m3xc-h892-ggx6",
              "GHSA-qw64-3x98-g7q2",
              "GO-2026-5490",
              "GO-2026-5597"
            ],
            "fixed_version": "6.0.0-alpha.1",
            "advisory_count": 4,
            "oldest_advisory_days": 74
          },
          {
            "name": "github.com/google/cel-go",
            "direct": true,
            "version": "v0.26.0",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-gcjh-h69q-9w9g"
            ],
            "fixed_version": "0.29.0",
            "advisory_count": 1,
            "oldest_advisory_days": 2
          },
          {
            "name": "github.com/cloudflare/circl",
            "direct": false,
            "version": "v1.6.1",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 5.6,
            "advisory_ids": [
              "GHSA-q9hv-hpm4-hj6x",
              "GO-2026-4550"
            ],
            "fixed_version": "1.6.3",
            "advisory_count": 2,
            "oldest_advisory_days": 151
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.49.0",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-5cv4-jp36-h3mw",
              "GO-2026-4918",
              "GO-2026-5025",
              "GO-2026-5026",
              "GO-2026-5027",
              "GO-2026-5028",
              "GO-2026-5029",
              "GO-2026-5030",
              "GO-2026-5942"
            ],
            "fixed_version": "1.26.3",
            "advisory_count": 9,
            "oldest_advisory_days": 80
          },
          {
            "name": "go.opentelemetry.io/otel",
            "direct": false,
            "version": "v1.43.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5158"
            ],
            "fixed_version": "1.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 2
          },
          {
            "name": "golang.org/x/crypto",
            "direct": false,
            "version": "v0.53.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5932"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 19
          },
          {
            "name": "golang.org/x/crypto",
            "direct": false,
            "version": "v0.54.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5932"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 19
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 1,
          "unknown": 3,
          "critical": 2,
          "moderate": 3
        },
        "advisory_count": 40,
        "affected_count": 9,
        "assessed_count": 255,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 2
      },
      "ecosystems": [
        "go"
      ],
      "dependencies": [
        {
          "name": "k8s.io/api",
          "manifest": "api/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/apiextensions-apiserver",
          "manifest": "api/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/apimachinery",
          "manifest": "api/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/cluster-bootstrap",
          "manifest": "api/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "github.com/MakeNowJust/heredoc",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "github.com/Masterminds/sprig/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.3.0"
        },
        {
          "name": "github.com/adrg/xdg",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.5.3"
        },
        {
          "name": "github.com/blang/semver/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.0.0"
        },
        {
          "name": "github.com/coredns/corefile-migration",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.34"
        },
        {
          "name": "github.com/davecgh/go-spew",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.2-0.20180830191138-d8f796af33cc"
        },
        {
          "name": "github.com/distribution/reference",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.6.0"
        },
        {
          "name": "github.com/drone/envsubst/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0-20210730161058-179042472c46"
        },
        {
          "name": "github.com/evanphx/json-patch/v5",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.9.11"
        },
        {
          "name": "github.com/fatih/color",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.19.0"
        },
        {
          "name": "github.com/flatcar/container-linux-config-transpiler",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.9.4"
        },
        {
          "name": "github.com/flatcar/ignition",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "github.com/go-logr/logr",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.4"
        },
        {
          "name": "github.com/gobuffalo/flect",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.3"
        },
        {
          "name": "github.com/google/cel-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.26.0"
        },
        {
          "name": "github.com/google/go-cmp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.7.0"
        },
        {
          "name": "github.com/google/go-github/v82",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v82.0.0"
        },
        {
          "name": "github.com/olekukonko/tablewriter",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.4"
        },
        {
          "name": "github.com/onsi/ginkgo/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.32.0"
        },
        {
          "name": "github.com/onsi/gomega",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.42.1"
        },
        {
          "name": "github.com/pkg/errors",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.9.1"
        },
        {
          "name": "github.com/prometheus/client_golang",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.23.2"
        },
        {
          "name": "github.com/prometheus/client_model",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.6.2"
        },
        {
          "name": "github.com/spf13/cobra",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.10.2"
        },
        {
          "name": "github.com/spf13/pflag",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.10"
        },
        {
          "name": "github.com/spf13/viper",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.21.0"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.11.1"
        },
        {
          "name": "github.com/valyala/fastjson",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.10"
        },
        {
          "name": "go.etcd.io/etcd/api/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.6.13"
        },
        {
          "name": "go.etcd.io/etcd/client/pkg/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.6.13"
        },
        {
          "name": "go.etcd.io/etcd/client/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.6.13"
        },
        {
          "name": "go.uber.org/zap",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.28.0"
        },
        {
          "name": "golang.org/x/oauth2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.0"
        },
        {
          "name": "golang.org/x/text",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.40.0"
        },
        {
          "name": "gomodules.xyz/jsonpatch/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.5.0"
        },
        {
          "name": "google.golang.org/grpc",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.80.0"
        },
        {
          "name": "k8s.io/api",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/apiextensions-apiserver",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/apimachinery",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/apiserver",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/client-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/cluster-bootstrap",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/component-base",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/klog/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.140.0"
        },
        {
          "name": "k8s.io/streaming",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.2"
        },
        {
          "name": "k8s.io/utils",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20260210185600-b8788abfbbc2"
        },
        {
          "name": "sigs.k8s.io/cluster-api/api",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-00010101000000-000000000000"
        },
        {
          "name": "sigs.k8s.io/controller-runtime",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.24.1"
        },
        {
          "name": "sigs.k8s.io/randfill",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "sigs.k8s.io/structured-merge-diff/v6",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v6.4.2"
        },
        {
          "name": "sigs.k8s.io/yaml",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "github.com/adrg/xdg",
            "direct": true,
            "version": "v0.5.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/blang/semver/v4",
            "direct": true,
            "version": "v4.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/coredns/corefile-migration",
            "direct": true,
            "version": "v1.0.34",
            "ecosystem": "go"
          },
          {
            "name": "github.com/davecgh/go-spew",
            "direct": true,
            "version": "v1.1.2-0.20180830191138-d8f796af33cc",
            "ecosystem": "go"
          },
          {
            "name": "github.com/distribution/reference",
            "direct": true,
            "version": "v0.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/drone/envsubst/v2",
            "direct": true,
            "version": "v2.0.0-20210730161058-179042472c46",
            "ecosystem": "go"
          },
          {
            "name": "github.com/evanphx/json-patch/v5",
            "direct": true,
            "version": "v5.9.11",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fatih/color",
            "direct": true,
            "version": "v1.19.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/flatcar/container-linux-config-transpiler",
            "direct": true,
            "version": "v0.9.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/flatcar/ignition",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/logr",
            "direct": true,
            "version": "v1.4.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gobuffalo/flect",
            "direct": true,
            "version": "v1.0.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/cel-go",
            "direct": true,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/go-cmp",
            "direct": true,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/go-github/v82",
            "direct": true,
            "version": "v82.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/makenowjust/heredoc",
            "direct": true,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/masterminds/sprig/v3",
            "direct": true,
            "version": "v3.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/olekukonko/tablewriter",
            "direct": true,
            "version": "v1.1.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/onsi/ginkgo/v2",
            "direct": true,
            "version": "v2.32.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/onsi/gomega",
            "direct": true,
            "version": "v1.42.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pkg/errors",
            "direct": true,
            "version": "v0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_golang",
            "direct": true,
            "version": "v1.23.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_model",
            "direct": true,
            "version": "v0.6.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/cobra",
            "direct": true,
            "version": "v1.10.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/pflag",
            "direct": true,
            "version": "v1.0.10",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/viper",
            "direct": true,
            "version": "v1.21.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/testify",
            "direct": true,
            "version": "v1.11.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/valyala/fastjson",
            "direct": true,
            "version": "v1.6.10",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/api/v3",
            "direct": true,
            "version": "v3.6.13",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/client/pkg/v3",
            "direct": true,
            "version": "v3.6.13",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/client/v3",
            "direct": true,
            "version": "v3.6.13",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/zap",
            "direct": true,
            "version": "v1.28.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/oauth2",
            "direct": true,
            "version": "v0.36.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": true,
            "version": "v0.40.0",
            "ecosystem": "go"
          },
          {
            "name": "gomodules.xyz/jsonpatch/v2",
            "direct": true,
            "version": "v2.5.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/grpc",
            "direct": true,
            "version": "v1.80.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/grpc",
            "direct": true,
            "version": "v1.82.1",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/api",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/apiextensions-apiserver",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/apimachinery",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/apiserver",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/client-go",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/cluster-bootstrap",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/component-base",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/klog/v2",
            "direct": true,
            "version": "v2.140.0",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/streaming",
            "direct": true,
            "version": "v0.36.2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/utils",
            "direct": true,
            "version": "v0.0.0-20260210185600-b8788abfbbc2",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/utils",
            "direct": true,
            "version": "v0.0.0-20260319190234-28399d86e0b5",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/controller-runtime",
            "direct": true,
            "version": "v0.24.1",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/randfill",
            "direct": true,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/structured-merge-diff/v6",
            "direct": true,
            "version": "v6.4.2",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/yaml",
            "direct": true,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "al.essio.dev/pkg/shellescape",
            "direct": false,
            "version": "v1.5.1",
            "ecosystem": "go"
          },
          {
            "name": "cel.dev/expr",
            "direct": false,
            "version": "v0.25.1",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go",
            "direct": false,
            "version": "v0.123.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/auth",
            "direct": false,
            "version": "v0.20.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/auth/oauth2adapt",
            "direct": false,
            "version": "v0.2.8",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/compute/metadata",
            "direct": false,
            "version": "v0.9.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/iam",
            "direct": false,
            "version": "v1.11.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/monitoring",
            "direct": false,
            "version": "v1.29.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/storage",
            "direct": false,
            "version": "v1.63.1",
            "ecosystem": "go"
          },
          {
            "name": "dario.cat/mergo",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ajeddeloh/go-json",
            "direct": false,
            "version": "v0.0.0-20200220154158-5ae607161559",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alecthomas/units",
            "direct": false,
            "version": "v0.0.0-20240927000941-0f3dac36c52b",
            "ecosystem": "go"
          },
          {
            "name": "github.com/antlr4-go/antlr/v4",
            "direct": false,
            "version": "v4.13.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/beorn7/perks",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/burntsushi/toml",
            "direct": false,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cenkalti/backoff/v5",
            "direct": false,
            "version": "v5.0.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cespare/xxhash/v2",
            "direct": false,
            "version": "v2.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cheggaaa/pb/v3",
            "direct": false,
            "version": "v3.1.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/clipperhouse/displaywidth",
            "direct": false,
            "version": "v0.10.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/clipperhouse/uax29/v2",
            "direct": false,
            "version": "v2.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cloudflare/circl",
            "direct": false,
            "version": "v1.6.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cncf/xds/go",
            "direct": false,
            "version": "v0.0.0-20260202195803-dba9d589def2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/containerd/errdefs",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/containerd/errdefs/pkg",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/coredns/caddy",
            "direct": false,
            "version": "v1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/coreos/go-semver",
            "direct": false,
            "version": "v0.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/coreos/go-systemd",
            "direct": false,
            "version": "v0.0.0-20191104093116-d3cd4ed1dbcf",
            "ecosystem": "go"
          },
          {
            "name": "github.com/coreos/go-systemd/v22",
            "direct": false,
            "version": "v22.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cyphar/filepath-securejoin",
            "direct": false,
            "version": "v0.2.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/docker/go-connections",
            "direct": false,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/docker/go-units",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/emicklei/go-restful/v3",
            "direct": false,
            "version": "v3.13.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/emirpasic/gods",
            "direct": false,
            "version": "v1.18.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/envoyproxy/go-control-plane/envoy",
            "direct": false,
            "version": "v1.37.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/envoyproxy/protoc-gen-validate",
            "direct": false,
            "version": "v1.3.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/evanphx/json-patch",
            "direct": false,
            "version": "v5.7.0+incompatible",
            "ecosystem": "go"
          },
          {
            "name": "github.com/felixge/httpsnoop",
            "direct": false,
            "version": "v1.0.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fsnotify/fsnotify",
            "direct": false,
            "version": "v1.10.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fsnotify/fsnotify",
            "direct": false,
            "version": "v1.9.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fxamacker/cbor/v2",
            "direct": false,
            "version": "v2.9.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fxamacker/cbor/v2",
            "direct": false,
            "version": "v2.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-errors/errors",
            "direct": false,
            "version": "v1.4.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-git/gcfg",
            "direct": false,
            "version": "v1.5.1-0.20230307220236-3a3c6141e376",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-git/go-billy/v5",
            "direct": false,
            "version": "v5.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-git/go-git/v5",
            "direct": false,
            "version": "v5.12.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-jose/go-jose/v4",
            "direct": false,
            "version": "v4.1.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/stdr",
            "direct": false,
            "version": "v1.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/zapr",
            "direct": false,
            "version": "v1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/jsonpointer",
            "direct": false,
            "version": "v0.21.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/jsonpointer",
            "direct": false,
            "version": "v0.23.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/jsonreference",
            "direct": false,
            "version": "v0.20.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/jsonreference",
            "direct": false,
            "version": "v0.21.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag",
            "direct": false,
            "version": "v0.23.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/cmdutils",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/conv",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/fileutils",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/jsonname",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/jsonutils",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/loading",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/mangling",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/netutils",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/stringutils",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/typeutils",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag/yamlutils",
            "direct": false,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-task/slim-sprig/v3",
            "direct": false,
            "version": "v3.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-viper/mapstructure/v2",
            "direct": false,
            "version": "v2.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gogo/protobuf",
            "direct": false,
            "version": "v1.3.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang/groupcache",
            "direct": false,
            "version": "v0.0.0-20210331224755-41bb18bfe9da",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang/protobuf",
            "direct": false,
            "version": "v1.5.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/gnostic-models",
            "direct": false,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/gnostic-models",
            "direct": false,
            "version": "v0.7.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/go-github/v58",
            "direct": false,
            "version": "v58.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/go-querystring",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/pprof",
            "direct": false,
            "version": "v0.0.0-20260402051712-545e8a4df936",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/s2a-go",
            "direct": false,
            "version": "v0.1.9",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/uuid",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googleapis/enterprise-certificate-proxy",
            "direct": false,
            "version": "v0.3.18",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googleapis/gax-go/v2",
            "direct": false,
            "version": "v2.23.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googlecloudplatform/opentelemetry-operations-go/detectors/gcp",
            "direct": false,
            "version": "v1.32.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googlecloudplatform/opentelemetry-operations-go/exporter/metric",
            "direct": false,
            "version": "v0.57.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googlecloudplatform/opentelemetry-operations-go/internal/resourcemapping",
            "direct": false,
            "version": "v0.57.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gorilla/websocket",
            "direct": false,
            "version": "v1.5.4-0.20250319132907-e064f32e3674",
            "ecosystem": "go"
          },
          {
            "name": "github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/grpc-ecosystem/go-grpc-middleware/v2",
            "direct": false,
            "version": "v2.3.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/grpc-ecosystem/grpc-gateway/v2",
            "direct": false,
            "version": "v2.28.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/huandu/xstrings",
            "direct": false,
            "version": "v1.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/inconshreveable/mousetrap",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jbenet/go-context",
            "direct": false,
            "version": "v0.0.0-20150711004518-d14ea06fba99",
            "ecosystem": "go"
          },
          {
            "name": "github.com/josharian/intern",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/json-iterator/go",
            "direct": false,
            "version": "v1.1.12",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kevinburke/ssh_config",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kylelemons/godebug",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mailru/easyjson",
            "direct": false,
            "version": "v0.7.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/masterminds/goutils",
            "direct": false,
            "version": "v1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/masterminds/semver/v3",
            "direct": false,
            "version": "v3.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-colorable",
            "direct": false,
            "version": "v0.1.14",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-isatty",
            "direct": false,
            "version": "v0.0.20",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-runewidth",
            "direct": false,
            "version": "v0.0.19",
            "ecosystem": "go"
          },
          {
            "name": "github.com/microsoft/go-winio",
            "direct": false,
            "version": "v0.6.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mitchellh/copystructure",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mitchellh/reflectwalk",
            "direct": false,
            "version": "v1.0.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/moby/docker-image-spec",
            "direct": false,
            "version": "v1.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/moby/moby/api",
            "direct": false,
            "version": "v1.55.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/moby/moby/client",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/moby/spdystream",
            "direct": false,
            "version": "v0.5.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/modern-go/concurrent",
            "direct": false,
            "version": "v0.0.0-20180306012644-bacd9c7ef1dd",
            "ecosystem": "go"
          },
          {
            "name": "github.com/modern-go/reflect2",
            "direct": false,
            "version": "v1.0.3-0.20250322232337-35a7c28c31ee",
            "ecosystem": "go"
          },
          {
            "name": "github.com/munnerz/goautoneg",
            "direct": false,
            "version": "v0.0.0-20191010083416-a7dc8b61c822",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nozzle/throttler",
            "direct": false,
            "version": "v0.0.0-20180817012639-2ea982251481",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nytimes/gziphandler",
            "direct": false,
            "version": "v1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/olekukonko/cat",
            "direct": false,
            "version": "v0.0.0-20250911104152-50322a0618f6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/olekukonko/errors",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/olekukonko/ll",
            "direct": false,
            "version": "v0.1.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/opencontainers/go-digest",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/opencontainers/image-spec",
            "direct": false,
            "version": "v1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pelletier/go-toml",
            "direct": false,
            "version": "v1.9.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pelletier/go-toml/v2",
            "direct": false,
            "version": "v2.2.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pjbgf/sha1cd",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/planetscale/vtprotobuf",
            "direct": false,
            "version": "v0.6.1-0.20240319094008-0393e58bdf10",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pmezard/go-difflib",
            "direct": false,
            "version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/common",
            "direct": false,
            "version": "v0.67.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/procfs",
            "direct": false,
            "version": "v0.19.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/procfs",
            "direct": false,
            "version": "v0.20.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/protonmail/go-crypto",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sagikazarmark/locafero",
            "direct": false,
            "version": "v0.11.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/saschagrunert/go-modiff",
            "direct": false,
            "version": "v1.3.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sergi/go-diff",
            "direct": false,
            "version": "v1.3.2-0.20230802210424-5b0b94c5c0d3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/shopspring/decimal",
            "direct": false,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sirupsen/logrus",
            "direct": false,
            "version": "v1.9.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/skeema/knownhosts",
            "direct": false,
            "version": "v1.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sourcegraph/conc",
            "direct": false,
            "version": "v0.3.1-0.20240121214520-5f936abd7ae8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/afero",
            "direct": false,
            "version": "v1.15.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/cast",
            "direct": false,
            "version": "v1.10.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spiffe/go-spiffe/v2",
            "direct": false,
            "version": "v2.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stoewer/go-strcase",
            "direct": false,
            "version": "v1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/subosito/gotenv",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/vincent-petithory/dataurl",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/vividcortex/ewma",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/x448/float16",
            "direct": false,
            "version": "v0.8.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xanzy/ssh-agent",
            "direct": false,
            "version": "v0.3.3",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/auto/sdk",
            "direct": false,
            "version": "v1.2.1",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/detectors/gcp",
            "direct": false,
            "version": "v1.43.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
            "direct": false,
            "version": "v0.65.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
            "direct": false,
            "version": "v0.68.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
            "direct": false,
            "version": "v0.65.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
            "direct": false,
            "version": "v0.67.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel",
            "direct": false,
            "version": "v1.43.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
            "direct": false,
            "version": "v1.43.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
            "direct": false,
            "version": "v1.43.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/metric",
            "direct": false,
            "version": "v1.43.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/metric",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/sdk",
            "direct": false,
            "version": "v1.43.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/sdk",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/sdk/metric",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/trace",
            "direct": false,
            "version": "v1.43.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/trace",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/proto/otlp",
            "direct": false,
            "version": "v1.10.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/multierr",
            "direct": false,
            "version": "v1.11.0",
            "ecosystem": "go"
          },
          {
            "name": "go.yaml.in/yaml/v2",
            "direct": false,
            "version": "v2.4.3",
            "ecosystem": "go"
          },
          {
            "name": "go.yaml.in/yaml/v2",
            "direct": false,
            "version": "v2.4.4",
            "ecosystem": "go"
          },
          {
            "name": "go.yaml.in/yaml/v3",
            "direct": false,
            "version": "v3.0.4",
            "ecosystem": "go"
          },
          {
            "name": "go4.org",
            "direct": false,
            "version": "v0.0.0-20201209231011-d4a079459e60",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": false,
            "version": "v0.53.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": false,
            "version": "v0.54.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/exp",
            "direct": false,
            "version": "v0.0.0-20251219203646-944ab1f22d93",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/mod",
            "direct": false,
            "version": "v0.37.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.49.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.56.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.57.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": false,
            "version": "v0.22.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.46.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.47.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/term",
            "direct": false,
            "version": "v0.44.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/term",
            "direct": false,
            "version": "v0.45.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/time",
            "direct": false,
            "version": "v0.14.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/time",
            "direct": false,
            "version": "v0.15.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/tools",
            "direct": false,
            "version": "v0.47.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/api",
            "direct": false,
            "version": "v0.289.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto",
            "direct": false,
            "version": "v0.0.0-20260519071638-aa98bba5eb94",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/api",
            "direct": false,
            "version": "v0.0.0-20260401024825-9d38bb4040a9",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/api",
            "direct": false,
            "version": "v0.0.0-20260630182238-925bb5da69e7",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/rpc",
            "direct": false,
            "version": "v0.0.0-20260401024825-9d38bb4040a9",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/rpc",
            "direct": false,
            "version": "v0.0.0-20260706201446-f0a921348800",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/protobuf",
            "direct": false,
            "version": "v1.36.12-0.20260120151049-f2248ac996af",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/evanphx/json-patch.v4",
            "direct": false,
            "version": "v4.13.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/inf.v0",
            "direct": false,
            "version": "v0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/warnings.v0",
            "direct": false,
            "version": "v0.1.2",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v2",
            "direct": false,
            "version": "v2.4.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v3",
            "direct": false,
            "version": "v3.0.1",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/kube-openapi",
            "direct": false,
            "version": "v0.0.0-20260317180543-43fb72c5454a",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/kube-openapi",
            "direct": false,
            "version": "v0.0.0-20260427204847-8949caaa1199",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/release",
            "direct": false,
            "version": "v0.16.9",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/apiserver-network-proxy/konnectivity-client",
            "direct": false,
            "version": "v0.34.0",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/controller-tools",
            "direct": false,
            "version": "v0.21.0",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/json",
            "direct": false,
            "version": "v0.0.0-20250730193827-2d320260d730",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/kind",
            "direct": false,
            "version": "v0.32.0",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/kubebuilder/docs/book/utils",
            "direct": false,
            "version": "v0.0.0-20211028165026-57688c578b5d",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/kustomize/api",
            "direct": false,
            "version": "v0.17.3",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/kustomize/kyaml",
            "direct": false,
            "version": "v0.17.2",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/release-sdk",
            "direct": false,
            "version": "v0.11.0",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/release-utils",
            "direct": false,
            "version": "v0.8.1",
            "ecosystem": "go"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 255,
        "direct_count": 52,
        "indirect_count": 203
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 2,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "k8s-ci-robot",
          "commits": 6107,
          "avatar_url": "https://avatars.githubusercontent.com/u/20407524?v=4"
        },
        {
          "type": "User",
          "login": "sbueringer",
          "commits": 1332,
          "avatar_url": "https://avatars.githubusercontent.com/u/4662360?v=4"
        },
        {
          "type": "User",
          "login": "fabriziopandini",
          "commits": 842,
          "avatar_url": "https://avatars.githubusercontent.com/u/5013060?v=4"
        },
        {
          "type": "User",
          "login": "vincepri",
          "commits": 633,
          "avatar_url": "https://avatars.githubusercontent.com/u/3118335?v=4"
        },
        {
          "type": "User",
          "login": "killianmuldoon",
          "commits": 394,
          "avatar_url": "https://avatars.githubusercontent.com/u/47175296?v=4"
        },
        {
          "type": "User",
          "login": "chrischdi",
          "commits": 314,
          "avatar_url": "https://avatars.githubusercontent.com/u/417870?v=4"
        },
        {
          "type": "User",
          "login": "justinsb",
          "commits": 278,
          "avatar_url": "https://avatars.githubusercontent.com/u/100893?v=4"
        },
        {
          "type": "User",
          "login": "chuckha",
          "commits": 129,
          "avatar_url": "https://avatars.githubusercontent.com/u/98927?v=4"
        },
        {
          "type": "User",
          "login": "pipejakob",
          "commits": 108,
          "avatar_url": "https://avatars.githubusercontent.com/u/1605981?v=4"
        },
        {
          "type": "User",
          "login": "sivchari",
          "commits": 106,
          "avatar_url": "https://avatars.githubusercontent.com/u/55221074?v=4"
        }
      ],
      "contributors_sampled": 98,
      "top_contributor_share": 0.485
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "pr-dependabot.yaml",
        "pr-gh-workflow-approve.yaml",
        "pr-golangci-lint.yaml",
        "pr-md-link-check.yaml",
        "pr-verify.yaml",
        "release.yaml",
        "weekly-md-link-check.yaml",
        "weekly-security-scan.yaml",
        "weekly-test-release.yaml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".golangci.yml"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 5,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 45 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 5,
            "reason": "dependency not pinned by hash detected -- score normalized to 5",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "25 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "a51856a032639cebcfed15fcb0ec9f907c442e1e",
        "ran_at": "2026-07-27T01:19:31Z",
        "aggregate_score": 5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-25T00:47:25Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/rancher/cluster-api",
    "host": "github.com",
    "name": "cluster-api",
    "owner": "rancher"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 59,
      "inputs": {
        "security": 53,
        "vitality": 96,
        "community": 12,
        "governance": 58,
        "engineering": 68
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 96,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "commits_last_year": 1642,
              "human_commit_share": 0.46,
              "days_since_last_push": 2,
              "active_weeks_last_year": 52
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 2 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "52/52 weeks with commits",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 52
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1642 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1642
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 19,
              "latest_release_tag": "v1.13.3",
              "releases_from_tags": false,
              "days_since_latest_release": 27,
              "mean_days_between_releases": 37
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "19 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 27 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 27
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~37 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 37
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 2,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 2 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "critical",
        "name": "Community & Adoption",
        "value": 12,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 0,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "critical",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 25,
            "inputs": {
              "has_readme": false,
              "has_license": false,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 58,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 98,
              "top_contributor_share": 0.485
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 48% of commits",
                "points": 11.6,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 48
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "98 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 98
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 45 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "followers": 1383,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "rancher",
              "public_repos": 590,
              "account_age_days": 4296
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "1,383 followers of rancher",
                "points": 22.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1383,
                      "login": "rancher"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "590 public repos, account ~11 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 590
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 11
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "sigs.k8s.io/cluster-api",
                "sigs.k8s.io/cluster-api/api"
              ],
              "ecosystems": "go",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on go",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "go"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "268 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 268
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 68,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 80,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "9 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".golangci.yml",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".golangci.yml"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": "https://cluster-api.sigs.k8s.io",
              "has_readme": false,
              "has_docs_dir": true,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://cluster-api.sigs.k8s.io",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 53,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 50,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 45 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 5",
                "points": 2.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "25 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "moderate",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 255 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 255
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 65,
            "inputs": {
              "source": "osv",
              "advisories": 40,
              "affected_packages": 9,
              "assessed_packages": 255,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 2, high 1, moderate 3, unknown 3",
              "direct_affected_packages": 2
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "2 affected: google.golang.org/grpc v1.80.0 (critical 9.1), github.com/google/cel-go v0.26.0 (moderate 5.3)",
                "points": 8.4,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "google.golang.org/grpc v1.80.0 (critical 9.1), github.com/google/cel-go v0.26.0 (moderate 5.3)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 255,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 14
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 58,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 10,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.196,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "9 of 46 human commits state their intent (structured subject or explanatory body)",
                "points": 10.4,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 9,
                      "sampled": 46
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile",
                "docs/book/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "api/go.mod",
                "go.mod",
                "hack/tools/go.mod",
                "test/go.mod"
              ],
              "dependency_bot_commit_share": 0.04
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile, docs/book/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile, docs/book/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".golangci.yml",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".golangci.yml"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Go (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "4 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 4,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 5",
                "points": 5,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "primary_language": "Go",
              "largest_source_bytes": 390895,
              "source_files_sampled": 1371,
              "oversized_source_files": 52
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Go (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "52/1371 source files over 60KB",
                "points": 52.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1371,
                      "oversized": 52
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "example",
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "example, examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "example, examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Community profile unavailable"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T01:19:50.411362Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/r/rancher/cluster-api.svg",
  "full_name": "rancher/cluster-api",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsGo.