Звіт у форматі JSON машиночитний
{
"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"
}