Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"k8s-staging"
],
"is_fork": false,
"size_kb": 8870,
"has_wiki": false,
"homepage": null,
"languages": {
"Go": 3713535
},
"pushed_at": "2026-07-23T11:31:16Z",
"created_at": "2017-01-09T19:14:14Z",
"owner_type": "Organization",
"updated_at": "2026-07-23T11:31:25Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "master",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": "https://kubernetes.io",
"name": "Kubernetes",
"type": "Organization",
"login": "kubernetes",
"company": null,
"location": null,
"followers": 14117,
"avatar_url": "https://avatars.githubusercontent.com/u/13629408?v=4",
"created_at": "2015-08-03T17:55:43Z",
"is_verified": null,
"public_repos": 79,
"account_age_days": 4009
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.37.0-beta.0",
"kind": "prerelease",
"published_at": "2026-07-21T02:57:31Z"
},
{
"tag": "v0.37.0-alpha.3",
"kind": "prerelease",
"published_at": "2026-07-08T21:56:18Z"
},
{
"tag": "v0.37.0-alpha.2",
"kind": "prerelease",
"published_at": "2026-06-25T04:54:29Z"
},
{
"tag": "v0.37.0-alpha.1",
"kind": "prerelease",
"published_at": "2026-06-11T04:01:52Z"
},
{
"tag": "v0.37.0-alpha.0",
"kind": "prerelease",
"published_at": "2026-04-09T02:17:34Z"
},
{
"tag": "v0.36.3",
"kind": "patch",
"published_at": "2026-07-23T01:29:31Z"
},
{
"tag": "v0.36.2",
"kind": "patch",
"published_at": "2026-06-12T12:17:04Z"
},
{
"tag": "v0.36.1",
"kind": "patch",
"published_at": "2026-05-12T17:54:19Z"
},
{
"tag": "v0.36.0",
"kind": "minor",
"published_at": "2026-04-22T18:20:11Z"
},
{
"tag": "v0.36.0-rc.1",
"kind": "prerelease",
"published_at": "2026-04-15T02:20:49Z"
},
{
"tag": "v0.36.0-rc.0",
"kind": "prerelease",
"published_at": "2026-04-09T18:24:45Z"
},
{
"tag": "v0.36.0-beta.0",
"kind": "prerelease",
"published_at": "2026-03-20T11:01:17Z"
},
{
"tag": "v0.36.0-alpha.2",
"kind": "prerelease",
"published_at": "2026-02-24T23:33:33Z"
},
{
"tag": "v0.36.0-alpha.1",
"kind": "prerelease",
"published_at": "2026-02-05T23:34:55Z"
},
{
"tag": "v0.36.0-alpha.0",
"kind": "prerelease",
"published_at": "2025-11-26T20:36:13Z"
},
{
"tag": "v0.35.7",
"kind": "patch",
"published_at": "2026-06-25T12:57:26Z"
},
{
"tag": "v0.35.6",
"kind": "patch",
"published_at": "2026-06-08T15:17:40Z"
},
{
"tag": "v0.35.5",
"kind": "patch",
"published_at": "2026-04-14T14:07:04Z"
},
{
"tag": "v0.35.4",
"kind": "patch",
"published_at": "2026-04-14T14:07:04Z"
},
{
"tag": "v0.35.3",
"kind": "patch",
"published_at": "2025-12-04T22:24:03Z"
},
{
"tag": "v0.35.2",
"kind": "patch",
"published_at": "2025-12-04T22:24:03Z"
},
{
"tag": "v0.35.1",
"kind": "patch",
"published_at": "2025-12-04T22:24:03Z"
},
{
"tag": "v0.35.0",
"kind": "minor",
"published_at": "2025-12-04T22:24:03Z"
},
{
"tag": "v0.35.0-rc.1",
"kind": "prerelease",
"published_at": "2025-12-04T22:24:03Z"
},
{
"tag": "v0.35.0-rc.0",
"kind": "prerelease",
"published_at": "2025-11-26T20:36:13Z"
},
{
"tag": "v0.35.0-beta.0",
"kind": "prerelease",
"published_at": "2025-11-10T20:42:54Z"
},
{
"tag": "v0.35.0-alpha.3",
"kind": "prerelease",
"published_at": "2025-11-04T19:42:12Z"
},
{
"tag": "v0.35.0-alpha.2",
"kind": "prerelease",
"published_at": "2025-10-21T20:16:38Z"
},
{
"tag": "v0.34.10",
"kind": "patch",
"published_at": "2026-06-24T20:56:54Z"
},
{
"tag": "v0.34.9",
"kind": "patch",
"published_at": "2026-04-14T14:04:22Z"
},
{
"tag": "v0.34.8",
"kind": "patch",
"published_at": "2026-04-14T14:04:22Z"
},
{
"tag": "v0.34.7",
"kind": "patch",
"published_at": "2026-04-14T14:04:22Z"
},
{
"tag": "v0.34.6",
"kind": "patch",
"published_at": "2025-08-16T07:57:26Z"
},
{
"tag": "v0.34.5",
"kind": "patch",
"published_at": "2025-08-16T07:57:26Z"
},
{
"tag": "v0.34.4",
"kind": "patch",
"published_at": "2025-08-16T07:57:26Z"
},
{
"tag": "v0.34.3",
"kind": "patch",
"published_at": "2025-08-16T07:57:26Z"
},
{
"tag": "v0.34.2",
"kind": "patch",
"published_at": "2025-08-16T07:57:26Z"
},
{
"tag": "v0.33.13",
"kind": "patch",
"published_at": "2026-04-14T14:01:58Z"
},
{
"tag": "v0.33.12",
"kind": "patch",
"published_at": "2026-04-14T14:01:58Z"
},
{
"tag": "v0.33.11",
"kind": "patch",
"published_at": "2026-04-14T14:01:58Z"
},
{
"tag": "v0.33.10",
"kind": "patch",
"published_at": "2025-05-13T12:05:15Z"
},
{
"tag": "v0.33.9",
"kind": "patch",
"published_at": "2025-05-13T12:05:15Z"
},
{
"tag": "v0.33.8",
"kind": "patch",
"published_at": "2025-05-13T12:05:15Z"
},
{
"tag": "v0.33.7",
"kind": "patch",
"published_at": "2025-05-13T12:05:15Z"
},
{
"tag": "v0.33.6",
"kind": "patch",
"published_at": "2025-05-13T12:05:15Z"
},
{
"tag": "v0.32.13",
"kind": "patch",
"published_at": "2024-12-06T18:18:55Z"
},
{
"tag": "v0.32.12",
"kind": "patch",
"published_at": "2024-12-06T18:18:55Z"
},
{
"tag": "v0.32.11",
"kind": "patch",
"published_at": "2024-12-06T18:18:55Z"
},
{
"tag": "v0.32.10",
"kind": "patch",
"published_at": "2024-12-06T18:18:55Z"
},
{
"tag": "v0.31.14",
"kind": "patch",
"published_at": "2024-07-19T19:04:41Z"
}
],
"recent_commits": [
{
"oid": "eed236ceee2c19c2753a3d93ac0631dc20750454",
"body": "KEP-5517: DRANodeAllocatableResources alpha 2 implementation\n\nKubernetes-commit: af7eeeb20678d1d817b41cb5f08a773a96cb2e97",
"is_bot": false,
"headline": "Merge pull request #140009 from pravk03/native-dra-alpha2",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-23T07:07:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "02f7088a48902f112f0986b220fa7e557b71a628",
"body": "Kubernetes-commit: b638ce7d3e91db5f876161fd0e25254099796823",
"is_bot": false,
"headline": "feat(api): Update node restriction admission to use new API",
"author_name": "Praveen Krishna",
"author_login": "pravk03",
"committed_at": "2026-07-09T05:55:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb0680df9e7c8d72b959be977a0694c7d6cdef8c",
"body": "client-go: finish context support\n\nKubernetes-commit: 0d0b68f0ee2a7800c598bca09d7e23326a638998",
"is_bot": false,
"headline": "Merge pull request #129125 from pohly/log-client-go-tools-apis",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-23T01:20:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97b2132e87074366f7b3055e02f35d797fc0ea5a",
"body": "Implement volume health api\n\nKubernetes-commit: 9c722bc288a761747528086f354a7d2bc6e0e1ba",
"is_bot": false,
"headline": "Merge pull request #140194 from gnufied/implement-volume-health-api",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-22T15:06:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f21afabd3984d2f59df1ebfdfcbb585945247329",
"body": "Update test/declarative_validation/core/pod/declarative_validation_test.go\n\nCo-authored-by: Eddie <torredil@amazon.com>\n\nKubernetes-commit: c362ec8eb6518a2fad85848d4d1281380fd87568",
"is_bot": false,
"headline": "Add validation for camelcase in reason field",
"author_name": "Hemant Kumar",
"author_login": "gnufied",
"committed_at": "2026-07-21T13:23:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7ad413f224ba8d6e9045403707b72feaccb278b",
"body": "Update k8s.io/kube-openapi to v0.0.0-20260721132016-d427ff9ee9ad\n\nKubernetes-commit: 578f9c968306146dcbffd11cbc80fdacff59d3ac",
"is_bot": false,
"headline": "Merge pull request #140782 from dims/update-kube-openapi",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-21T18:56:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e15ad7c70234114bc2d05e860a0152b7fed8fe63",
"body": "KEP-4222: Cbor encoder supports streaming for collection objects\n\nKubernetes-commit: ef7adabca2a685247eb73c5f0563fa7c3b17bcd2",
"is_bot": false,
"headline": "Merge pull request #138808 from chenk008/cbor-streaminglist",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-21T18:56:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "464b5d1e936a9934d8ac7c42478426b2ec976050",
"body": "Picks up:\n- kubernetes/kube-openapi#625: update the go-openapi/swag family to v0.27.1\n- kubernetes/kube-openapi#622: propagate nullable field between SMD and OpenAPI schemas\n\nTransitive dependency changes:\n- github.com/go-openapi/swag (and submodules) v0.25.4 -> v0.27.1\n- github.com/go-openapi/jsonp\n[…]\nmoved (package now provided by jsonpointer)\n- github.com/go-openapi/swag/pools added\n\nNo changes to hack/unwanted-dependencies.json needed.\n\nKubernetes-commit: 0706a3bb8948385550b71e5c01f30b30f7041200",
"is_bot": false,
"headline": "Update k8s.io/kube-openapi to v0.0.0-20260721132016-d427ff9ee9ad",
"author_name": "Davanum Srinivas",
"author_login": "dims",
"committed_at": "2026-07-21T13:56:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0de14ec6eb6a4d554848376552caeb1e38358a6e",
"body": "Add a DV format for k8s-prefixed-label-key\n\nKubernetes-commit: 4e9e4144dd9c905e48bfeb7fa865b3b702cd9f41",
"is_bot": false,
"headline": "Merge pull request #140732 from thockin/dv-add-prefixed-label-key",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-20T18:56:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "95258ebe22f4bf8176e56e8d19a9b8bcb9e71130",
"body": "…e-of-corrupt-objects-dry-run\n\nKEP-3926: implement dry-run support for unsafe corrupt object deletion\n\nKubernetes-commit: 1d9320544ddd6637d545b79bfee032dc0b273264",
"is_bot": false,
"headline": "Merge pull request #134037 from ibihim/ibihim/2025-09-09_unsafe-delet…",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-20T18:56:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52d6a1804554ed8f4c716d3ff0cb69923ea29937",
"body": "Kubernetes-commit: 67efa8b845ca3cbc0746ef5068a4da601a7e645e",
"is_bot": false,
"headline": "Add a DV format for prefixed label key",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-19T23:23:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e2f8459fe700173d950a449853b57c0745a1de4",
"body": "Kubernetes-commit: 370dc63674c92d4b690ada2abea19d9082b4f7d1",
"is_bot": false,
"headline": "test: cover CBOR collection-head length boundaries",
"author_name": "chenk008",
"author_login": "chenk008",
"committed_at": "2026-07-19T14:58:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2d36bc7a654cee58d7856face3dd2b3fce6e169",
"body": "Kubernetes-commit: 3f87428309d66d549bda9aaba5648cee1463ada3",
"is_bot": false,
"headline": "fix: refuse to stream list types carrying a cbor struct tag",
"author_name": "chenk008",
"author_login": "chenk008",
"committed_at": "2026-07-19T14:33:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3912cae1a8ac97873221322a67c760679a8045d",
"body": "Kubernetes-commit: e0a2a843248084292f2b62f39170296bc91b6cd4",
"is_bot": false,
"headline": "fix: CBOR streaming list encoder honors RawExtension marshaler",
"author_name": "chenk008",
"author_login": "chenk008",
"committed_at": "2026-07-19T14:11:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52ed2791fbb9c442e41b7d856ad916753092316d",
"body": "DRA Condition Reason Required \n\nKubernetes-commit: 797905794006fed0bed0bdcea33c84b139159ad3",
"is_bot": false,
"headline": "Merge pull request #139927 from darshansreenivas/batch1-reason",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-18T01:49:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ac3e9d78cee48240042b106128f9bce682c4b01",
"body": "Kubernetes-commit: 520f4df5834c6c343c3cbb11f9cc5903316bee31",
"is_bot": false,
"headline": "apimachinery/validation: enable dry-run mode for corrupt object deletion",
"author_name": "Krzysztof Ostrowski",
"author_login": "ibihim",
"committed_at": "2026-07-01T10:05:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "906b871f1a5fd79e042b1f7463f9f05e1c66fd95",
"body": "Required (+k8s:required)\nMaxLength 1024 (+k8s:maxLength=1024)\n\nKubernetes-commit: ff8fbae18f706aa02fff843671cc40a8880aa2ca",
"is_bot": false,
"headline": "Reason",
"author_name": "Darshan Murthy",
"author_login": "darshansreenivas",
"committed_at": "2026-06-27T02:49:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2596865fdece77235b475a1a1c63f6d886d1ef48",
"body": "Surface undeclared declarative-validation options as errors instead of silently disabling\n\nKubernetes-commit: be72160dfd9254fde9b27518f9c6c161bb9f58b1",
"is_bot": false,
"headline": "Merge pull request #140380 from yongruilin/dv-ifenabled-not-silent",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-14T21:56:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "185cdab01724902e6956cce8a9291df4ac3c8a02",
"body": "Configure DV on objectMeta OwnerReference \n\nKubernetes-commit: 73d0eb30ba980b733d356499fbca5ade917fd4fc",
"is_bot": false,
"headline": "Merge pull request #140381 from lalitc375/configure-dv-part1",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-14T19:41:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c99400515e93512c99dc900fc1c4e137f4fd48b",
"body": "…back\n\n- enum: check every rule's option so an undefined option always errors, matching IfOption\n- operation.Options: note an option can be enabled even when its feature gate is off\n- api/testing: fall back to strategy options only when the caller supplied none\n\nKubernetes-commit: 7c3452f8d3ec4e43b79a02cdf58b5a5f857398ab",
"is_bot": false,
"headline": "address comments: enum undefined-option check, options doc, test fall…",
"author_name": "Yongrui Lin",
"author_login": "yongruilin",
"committed_at": "2026-07-13T21:47:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f783453b0def5fe146dbad288d79bd02bcf38681",
"body": "Kubernetes-commit: 23bfb73f395f205a65534b81acb491c255bdf464",
"is_bot": false,
"headline": "Add support for beta errors in the objectMeta tests",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-13T17:30:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8186ee8a18f297680ceed16ba05470769f92a0a",
"body": "Kubernetes-commit: b2d1083d7a04ecce41c25b0de97605f3e0114f99",
"is_bot": false,
"headline": "Fix DV for ownerReferences.APIVersion.",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-13T16:51:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebdf591b41df1718beb900d3e669e307052f2143",
"body": "Return comma-ok instead of (bool, error); IfOption/Enum surface an\nundefined (not merely undeclared) option as an internal error. Applies\nthe scheme_test suggestion.\n\nKubernetes-commit: 26630153ca420363089ca07436f978b56ab7084f",
"is_bot": false,
"headline": "address comment: HasOption returns (value, defined bool)",
"author_name": "Yongrui Lin",
"author_login": "yongruilin",
"committed_at": "2026-07-10T18:18:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5275c8ea8f0aa2386ca170925635b33ccf3a5b20",
"body": "Kubernetes-commit: 38c9bbeb73df42e8c7479f759133e9d2dbe797ee",
"is_bot": false,
"headline": "Update generated declarative validation code and tests",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-09T21:44:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f988e75e735209f4c03242241e2fa8b1e268cda0",
"body": "…eck marked covered by declarative validation\n\nAdd ValidateNonnegativeField check with MarkCoveredByDeclarative to ValidateObjectMetaUpdate and update verification test suites with comprehensive generation update test cases (zero, decremented to zero, and negative on update).\n\nJustification for why \n[…]\nn parity with the generated declarative validation rule (`+k8s:validation:Minimum=0`), which runs across both Create and Update operations.\n\nKubernetes-commit: b8a2b6d8f1faa2f61d3c76ed412384ef8e3962f1",
"is_bot": false,
"headline": "Refactor ObjectMeta generation update validation: add non-negative ch…",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-09T21:44:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dfda18d343e724db5705d314ac9cc060620831b0",
"body": "…ion loop and remove manual error helpers\n\nKubernetes-commit: 1465fbd566821811827ab7c19570eaaa09d10f07",
"is_bot": false,
"headline": "Refactor ObjectMeta declarative tests: adopt universal source convers…",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-09T21:43:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "35f307f3c8060317995a67f432af8d7b611f45d1",
"body": "… are marked covered by declarative validation\n\nKubernetes-commit: 49686bc2c7423bbd0cf447f4011d9952bd0db2c3",
"is_bot": false,
"headline": "Refactor ObjectMeta validation and tags: ensure OwnerReference fields…",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-09T21:42:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16d43734bc5ce5e756cc231746a61f9e44fb8581",
"body": "Migrate ObjectMeta immutability checks to DV\n\nKubernetes-commit: d6c2b22e8940b36d6f9ea8985f0233a55d465b18",
"is_bot": false,
"headline": "Merge pull request #140416 from itzPranshul/migrate-objectMeta-to-DV",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-14T08:02:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45394dd41e9cfb729e7be84b0c55b2b300c6943f",
"body": "Kubernetes-commit: 965104eb5431423016e27a76a8d9cd97a78f5f21",
"is_bot": false,
"headline": "add declarative validation tests for immutable ObjectMeta fields",
"author_name": "pranshul gupta",
"author_login": "itzPranshul",
"committed_at": "2026-07-10T17:34:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6321f28f0f2cb8b6cdbe3b69e071ffc62a841c30",
"body": "Kubernetes-commit: 05d2b3a8387d3a6522db9b8ffe4df51c4eabbf22",
"is_bot": false,
"headline": "ran hack/update-codegen.sh",
"author_name": "pranshul gupta",
"author_login": "itzPranshul",
"committed_at": "2026-07-10T15:42:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "39e5b93c6736ac93f2ed473a8db00513f9b60c1b",
"body": "Kubernetes-commit: e94b501ea1da68a97449e8069583f2ca5298da90",
"is_bot": false,
"headline": "migrate objectMeta immutabilty checks to declarative validation",
"author_name": "pranshul gupta",
"author_login": "itzPranshul",
"committed_at": "2026-07-10T15:04:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0838f1f442d52387e92ed7668fc5bf911a8509a9",
"body": "bump github.com/google/cadvisor/lib from v0.60.3 to v0.60.4\n\nKubernetes-commit: 0fe889a76062e58098cb7582ee7aa91cf2649812",
"is_bot": false,
"headline": "Merge pull request #140385 from dims/update-cadvisor-v0.60.4",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-10T09:56:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a09ea07d7627a14840e8fe58eafc3830ab3be14b",
"body": "The new cadvisor version requires newer golang.org/x modules. Module\nversion selection raised crypto, mod, net, sync, sys, term, text, and\ntools. golang.org/x/net moves from a pseudo-version to the v0.57.0\nrelease, which includes the http2 fixes the pseudo-version pointed at.\n\ncadvisor/lib no longer\n[…]\nds on github.com/gogo/protobuf. This change\nremoves cadvisor/lib from the gogo/protobuf dependants list in\nhack/unwanted-dependencies.json.\n\nKubernetes-commit: c2e122037dfaa8c5e4e7951c155df282236d30f4",
"is_bot": false,
"headline": "bump github.com/google/cadvisor/lib from v0.60.3 to v0.60.4",
"author_name": "Davanum Srinivas",
"author_login": "dims",
"committed_at": "2026-07-10T02:54:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fc9f41803d395e45ab9bda5b0a0ed6690e1f1634",
"body": "Adapt the enum and scheme validation tests to map[string]bool options and add\ncoverage for the undeclared-option internal error.\n\nKubernetes-commit: f53e2b9dc905946b40fdde6ec444b7a559203fd7",
"is_bot": false,
"headline": "apimachinery: cover undeclared validation options in tests",
"author_name": "Yongrui Lin",
"author_login": "yongruilin",
"committed_at": "2026-07-09T21:28:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2b8ade4d40c9415cb380cdffdaea832ab20e407",
"body": "operation.Options becomes map[string]bool and Operation.HasOption returns\n(bool, error), erroring on an option that was never declared instead of\ntreating it as disabled. validate.IfOption and validate.Enum surface that as a\nfield.InternalError, so a strategy that forgets to declare a referenced option\nfails loudly instead of silently mis-validating (#139197).\n\nKubernetes-commit: 84e784bad514a64183eabd31ea39320e3b9a0531",
"is_bot": false,
"headline": "apimachinery: fail on undeclared validation options",
"author_name": "Yongrui Lin",
"author_login": "yongruilin",
"committed_at": "2026-07-09T21:28:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "65dcc73823245baab295de8a97ba447bc265239a",
"body": "Declarative validation: Add new declarative validation tag for monotonic increasing counters\n\nKubernetes-commit: 1460c265d5b0863421f2092518545ea062b9c6b3",
"is_bot": false,
"headline": "Merge pull request #137881 from itzPranshul/monotonic",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-09T05:28:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bfe1de0d9d9dd7bc2af218e2c913ecfbfd5591c5",
"body": "…s according to the comments.\n\nCo-authored-by: Ben Luddy <bluddy@redhat.com>\n\nKubernetes-commit: c5e065c4906c54a54d738bfc42fc11b17558dcfc",
"is_bot": false,
"headline": "fix ut: do a semantic equality comparison; fix lint; revised the test…",
"author_name": "chenk008",
"author_login": "chenk008",
"committed_at": "2026-05-19T13:10:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b7a09010a63016967e1329897f84a9deac15a76",
"body": "Kubernetes-commit: 1b6bb20f442ab7e0dfeac93abd0a352c42deb7fd",
"is_bot": false,
"headline": "writeCollectionHead delete ext param",
"author_name": "chenk008",
"author_login": "chenk008",
"committed_at": "2026-05-18T13:14:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5271fe737351f631bec12f5ca4c52dd443c0691d",
"body": "…ic and nondeterministic.\n\nKubernetes-commit: 795241c62e3af1d487077596610ecad58613261c",
"is_bot": false,
"headline": "CBOR serializer encodes collections item by item. Support determinist…",
"author_name": "chenk008",
"author_login": "chenk008",
"committed_at": "2026-05-04T07:37:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dda272844f5c98213d6939fd1abe789697ea531c",
"body": "Add support for the +k8s:monotonic validation marker to enforce that integer fields are non-decreasing during updates.\n\n- Introduced +k8s:monotonic marker in validation-gen\n- Implemeted the runtime validation logic in k8s.io/apimachinery\n- Added exhaustive output tests in validation-gen to verify the interaction between monotonicity,custom minimum bounds, and NoUnset constraints\n\nKubernetes-commit: 745f3a73711aab59713bb980fba1e5e779706eeb",
"is_bot": false,
"headline": "validation-gen:Implement +k8s:monotonic validation tag",
"author_name": "pranshul gupta",
"author_login": "itzPranshul",
"committed_at": "2026-04-02T13:33:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "806395eee25dc163a749050e7f0c1b4794da141a",
"body": "Configure DV on ObjectMeta\n\nKubernetes-commit: 65c13335183a0f3ca0d4e8615ddeca8edb74b23a",
"is_bot": false,
"headline": "Merge pull request #139505 from lalitc375/configure-dv-part1",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-08T23:06:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6443deec0b42aaa34b0459e040f0ff7e00504fb",
"body": "Add ValidateObjectMetaDeclaratively to perform declarative ObjectMeta validation and filter covered handwritten validation errors.\n\nKubernetes-commit: f7f1428385562f43227a0f1c1350c645836ebe1e",
"is_bot": false,
"headline": "apimachinery: Add ValidateObjectMetaDeclaratively validation helper",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-06T18:48:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd38f5459ad8c563f668a08c9377a8952411ddef",
"body": "Add FilterCoveredHandwrittenErrors and FilterEnforcedDeclarativeErrors helpers to pkg/api/validate in a dedicated errors.go file for reuse across declarative validation pathways.\n\nKubernetes-commit: 5160114ab7eaac4169f2772379568d51da3058c6",
"is_bot": false,
"headline": "apimachinery: Centralize declarative error helpers in errors.go",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-06T18:46:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e40d1cfdcfdb59d543d32479b50eb977f325d34e",
"body": "Kubernetes-commit: 5aeb5fea9b562fdf468ac55a03209815df1966c8",
"is_bot": false,
"headline": "Mark managedfield validation covered by DV for a few cases",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-07-06T23:17:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c912ee71ec05e884a47ed50dad9ee3e36fa8738",
"body": "Update the imperative validation for `ObjectMeta.generation` and `ObjectMeta.managedFields` to align with the newly introduced declarative validation rules:\n\n1. Mark the non-negative `generation` check as covered by declarative validation.\n2. Refactor `ValidateManagedFields` to return `field.Require\n[…]\nntVolumeClaim` is marked `opaqueType` and thus does not undergo declarative `ObjectMeta` validation, making equivalence tests inapplicable.\n\nKubernetes-commit: 7fead81bc9075740bfada0a5207e1533a7687bc8",
"is_bot": false,
"headline": "validation: align imperative and declarative validation for ObjectMeta",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-06-29T18:31:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2d402d407ffa59fe1f0751ec47c47a1371759769",
"body": "Regenerate all declarative validation test files by running `hack/update-codegen.sh validation`.\n\nThis update incorporates the new validation rules added to `ObjectMeta` (such as the non-negative limit on `generation` and the required/enum constraints on `managedFields.operation`) and respects the `+k8s:opaqueType` markers on metadata fields of subresources and other specialized types.\n\nKubernetes-commit: 2bafbddc196ae43e1e82439c95a0d0fcb31f3213",
"is_bot": false,
"headline": "api: regenerate declarative validation tests",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-06-29T18:26:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fed1332849f7899e7984887dee977f80d04b7f50",
"body": "Some API types embed ObjectMeta in their metadata field but do not undergo standard ObjectMeta validation (e.g., subresources, partial metadata). We mark these metadata fields with `+k8s:opaqueType` to prevent validation-gen from generating standard ObjectMeta validations for them.\n\nThe following re\n[…]\nlpha1)\n- Eviction (policy/v1, v1beta1)\n- ResourceClaimTemplateSpec (resource.k8s.io/v1, v1beta1, v1beta2)\n- PartialObjectMetadata (meta/v1)\n\nKubernetes-commit: 29d85614e7f46c79eab3ad2066834037410ed12c",
"is_bot": false,
"headline": "apimachinery: add declarative validation tags to ObjectMeta",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-06-29T17:15:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c8a72d86aa4eba4ef6b8e95d45a0aeeb0f928d75",
"body": "validation-gen can be used for protobuf Go code\n\nKubernetes-commit: f2a1c0cd234644b1898c5b09db5a778a1624fd80",
"is_bot": false,
"headline": "Merge pull request #140204 from thockin/validation-gen-for-protobuf",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-08T21:55:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "387f8c31f3a83a6a1d56b5e28ba02d2f885671c4",
"body": "…izer\n\nReduce allocations in protobuf list streaming\n\nKubernetes-commit: cf8431ef5d403ffd66177c5914e98cc42e86dd7d",
"is_bot": false,
"headline": "Merge pull request #140199 from jpbetz/opt/prealloc-bundle-pr2-serial…",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-08T17:55:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54f40c0d9f0b76eb146b2301ab8aea3ff765dd77",
"body": "Bump SMD to v6.4.2 to revert #306 to fix regression in SSA for nullable container types\n\nKubernetes-commit: 63373922a5b5ade70edbf12bee45b2b00d93230a",
"is_bot": false,
"headline": "Merge pull request #140294 from jpbetz/revert-smd-306",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-08T01:55:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "842884a4d792de37519e0335b37f2f6043f8e0bb",
"body": "Kubernetes-commit: 51033909f53c62483cff47a1a4e73b7f50fd9af1",
"is_bot": false,
"headline": "Bump sigs.k8s.io/structured-merge-diff/v6 to v6.4.2",
"author_name": "Joe Betz",
"author_login": "jpbetz",
"committed_at": "2026-07-07T22:41:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "192219b332a81ce9a1eab895bea37a19b25e10a2",
"body": "Migrate metav1.Condition.lastTransitionTime to declarative validation\n\nKubernetes-commit: d764a40ae62545f2fc175b94f9b5be3e6657ad84",
"is_bot": false,
"headline": "Merge pull request #140265 from yongruilin/dv-condition-transitiontime",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-07T21:54:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "533784679ac1cf87c8ebfb07ddbc015a334558db",
"body": "…idation\n\nWire the required check for Condition.lastTransitionTime into declarative\nvalidation via +k8s:customValidation, since no existing tag expresses the\n\"must be non-zero\" check on a non-pointer Time struct.\n\nThe handwritten check in ValidateCondition is retained and marked\nCoveredByDeclarative during the alpha phase.\n\nKubernetes-commit: f0cad89c621006f34832c988924cf1019ba0aacf",
"is_bot": false,
"headline": "apimachinery: migrate Condition.lastTransitionTime to declarative val…",
"author_name": "Yongrui Lin",
"author_login": "yongruilin",
"committed_at": "2026-07-06T23:53:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71f45b51c42f68e5e4e28c86ec34c4783ab53ec3",
"body": "Kubernetes-commit: 045d301647b88eca6aca758cb978ced6edb7accf",
"is_bot": false,
"headline": "Fix lint for ptr.To()",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-03T21:20:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a17a467ff63177ec83f9610d8af33d95ed920f87",
"body": "Kubernetes-commit: f160772efd7320b9ee92dda019693527cae66f40",
"is_bot": false,
"headline": "validation-gen: Move functions around, no changes",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-03T03:28:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cfcd5c8eff7de5c7b3181942823ed5040eac80e2",
"body": "Kubernetes-commit: 35644aff3e009e627353743b50232d57009171a0",
"is_bot": false,
"headline": "validation-gen: Rename and comment functions",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-03T03:25:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a03641618893dcad062c06d8355a1da2c4cc4f09",
"body": "We don't support this in k8s but it seems that validation-gen can be\nused to generate code for other environments, like protobuf, which do\nsupport lists of pointers.\n\nGemini helped with this one.\n\nKubernetes-commit: 4449df4be78c63dc8f194c3bd93ba9342c4ee503",
"is_bot": false,
"headline": "validation-gen: Support lists of pointers",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-03T02:42:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "308d57a8e9adaba7457702c0bccf0083e77e1702",
"body": "Kubernetes-commit: 237f89612cfdbc5a867678bb0b6c3a5e34868924",
"is_bot": false,
"headline": "validation-gen: Remove 1-use func, rename another",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-03T00:39:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "73ae4035c746904193fef3bcecfb6fa9d73529ff",
"body": "Kubernetes-commit: 60db4d99f33ac6458c557a0434b4a955c066d82b",
"is_bot": false,
"headline": "validation-gen: Add comments",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-02T23:20:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdad33dcba8a740ae1dadf338fd4e95045f90155",
"body": "Kubernetes-commit: 78fa807216451f38b22446447b2eed25c90e83d6",
"is_bot": false,
"headline": "validation-gen: Change MatchFunc signature",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-02T22:59:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e66b37d5dfdc484ad3ec1c70c690ec4c236ae195",
"body": "Kubernetes-commit: b60e6b211dc20aea0e0f42a47e42d5e78c7d44bf",
"is_bot": false,
"headline": "validation-gen: Trivial rename for consistency",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-02T22:53:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3fdf6cee198b1b5ee91c372040b96ec6a12a4433",
"body": "Kubernetes-commit: 0a9a6cff45b7e6988e508170aa0a68e9d1ffad8c",
"is_bot": false,
"headline": "validation-gen: Remove now unused DirectEqualPtr",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-03T00:12:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9125edfaa86b5b9badc778e6222440619114a49d",
"body": "This clarifies code for upcoming changes but is also a small perf win.\n\nGiven this benchmark:\n\n./bm/doc.go:\n```\n// +k8s:validation-gen=TypesWithField=TypeMeta\n// +k8s:validation-gen-scheme-registry=k8s.io/code-generator/cmd/validation-gen/testscheme.Scheme\n\n// This is a test package.\n// +k8s:validat\n[…]\n 576 B/op 12 allocs/op\nBenchmarkLarge-12 852565 21278 ns/op 9696 B/op 202 allocs/op\n\nKubernetes-commit: 167d04287e56175ca2b89aa9b5c85b015fea218d",
"is_bot": false,
"headline": "validation-gen: Change MatchFunc to take pointers",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-02T22:28:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "514a87090e39d314e50aa3911a5afec5b41ffd15",
"body": "optional tracking and documentation of breaking Go API changes in client-go\n\nKubernetes-commit: b82bfba4efce18d0d5b6a345995f12aa4ff6edea",
"is_bot": false,
"headline": "Merge pull request #138351 from pohly/apidiff-changelog",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-02T20:49:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6bfb70346599c674cd31fa46573429d1c88f034b",
"body": "Kubernetes-commit: b8a20977dbfc79a2aafb7c1f6edeb138e5008435",
"is_bot": false,
"headline": "Use buffers for streaming list and presize json keys",
"author_name": "Joe Betz",
"author_login": "jpbetz",
"committed_at": "2026-07-02T18:30:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d967eaa95ca858be4657c302b8942e38537b1fb8",
"body": "What used to be:\n `// +k8s:validation-gen=TypeMeta`\n...is now:\n `// +k8s:validation-gen=TypesWithField=TypeMeta`\n...which leaves room for other criteria\n\nKubernetes-commit: 84001df0a339342606f1ccad40cea35d6446c926",
"is_bot": false,
"headline": "validation-gen: make file-tag more expressive",
"author_name": "Tim Hockin",
"author_login": "thockin",
"committed_at": "2026-07-02T02:56:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a77f06b7664f6272a08207753214ebe7a746aaa2",
"body": "Auto-discover declarative-validation GVKs in the validation equivalence fuzz test\n\nKubernetes-commit: 89689ff0e19b3990b9e3949ab027301c9af2aff2",
"is_bot": false,
"headline": "Merge pull request #140120 from yongruilin/dv-auto-enumerate-gvs",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-01T18:18:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c315eedbaa66a8f9b06f9945740d7f07fa37b1fd",
"body": "Reports whether a validation function is registered for a type. Validate\ncannot answer this: it returns a nil error list both when no function is\nregistered and when a registered function finds no errors.\n\nKubernetes-commit: 69e5b9cb58a89f93354d65efded51d1152c56d8e",
"is_bot": false,
"headline": "apimachinery: add Scheme.HasValidationFunc",
"author_name": "Yongrui Lin",
"author_login": "yongruilin",
"committed_at": "2026-06-30T21:13:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c428e39362be71ce785d5805bcaa2c37d3ca6ea0",
"body": "Use unsafe pointer casts for memory-identical struct conversions in conversion-gen\n\nKubernetes-commit: dde51bfc48b109a0f311055843d4d81a1966e9da",
"is_bot": false,
"headline": "Merge pull request #139974 from jpbetz/conversion-gen-struct-cast",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-01T16:50:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0c6bf7ce9608ce21d7ea0a1031f013f9cacc84b",
"body": "* do not generate uint64 in structToUnstructured\n\n* fix typo\n\n* test DeepCopyJSONValue in TestRoundTrip\n\nKubernetes-commit: 2ddb0fa5fc96039b7cd07b2505c376d6bb267e04",
"is_bot": false,
"headline": "fix: do not generate uint64 in structToUnstructured (#138750)",
"author_name": "zhshishkin",
"author_login": "zhshishkin",
"committed_at": "2026-06-30T23:32:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b16db0ad9a397d34bf1de31faf8f2e64f9e0aab3",
"body": "restmapper + discovery: add context-aware APIs\n\nKubernetes-commit: b308e6c5067486765de78de1dc809fb30b0b68c3",
"is_bot": false,
"headline": "Merge pull request #129109 from pohly/log-client-go-restmapper-discovery",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-07-01T08:29:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fa8dff7b19f13e310ef489972c8f394a9c185ad",
"body": "kube-proxy: detect host CPU count via cpuset.NumCPU instead of cadvisor\n\nKubernetes-commit: 04d5d2647dc7fd1e8f0cd6a61244d18642af9522",
"is_bot": false,
"headline": "Merge pull request #140021 from dims/conntrack-cpuset",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-26T17:27:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23600ca99695aeed9a9d0fb6a0ec9d0880cca977",
"body": "detectNumCPU sized nf_conntrack_max using github.com/google/cadvisor/lib\nmachine topology. nf_conntrack_max is host-wide, so it must be sized from the\nnode's CPU count, not runtime.NumCPU(): the latter honors the process cpuset\nand undercounts when kube-proxy runs under a static CPU policy, which is\n[…]\nh a runtime.NumCPU() fallback. This\ndrops the cadvisor dependency from pkg/proxy/conntrack and bumps k8s.io/utils\nto pick up cpuset.NumCPU.\n\nKubernetes-commit: 92ce184653f03c312915993d7fde93d8e65602c1",
"is_bot": false,
"headline": "kube-proxy: detect host CPU count via cpuset.NumCPU instead of cadvisor",
"author_name": "Davanum Srinivas",
"author_login": "dims",
"committed_at": "2026-06-25T18:04:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6f14bf1afffe82d51e16ce697ae3bdc3efeadefc",
"body": "Kubernetes-commit: e89ecc6af06f3b7e86ab388e14685e7691c8fbd2",
"is_bot": false,
"headline": "generate",
"author_name": "Joe Betz",
"author_login": "jpbetz",
"committed_at": "2026-06-24T02:43:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0cde5273b9171d9b42214fed0adf3e8c91594246",
"body": "validation-gen: add k8s:dependentForbidden tag validator\n\nKubernetes-commit: 92519b9fbfd141e4c1ebe40289e40e03a3c5a69b",
"is_bot": false,
"headline": "Merge pull request #139757 from yongruilin/dv-dependentforbidden",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-24T00:53:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6050db0fc570e984fe01266cbf63e3dd025ebd4",
"body": "Add declarative validation tags to metav1.Condition.Status\n\nKubernetes-commit: 2e9a3ef1de6a85dc83d8a5224e7dfb40a034d7fc",
"is_bot": false,
"headline": "Merge pull request #139903 from itzPranshul/migrate_status",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-24T00:53:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e52c30ad1fa983db34fa3dc17bc64ff70ef2006",
"body": "…-endpoints\n\nKEP-4222: Support CBOR encoding for non-resource endpoints.\n\nKubernetes-commit: f8d03cc04ee538995f02b2a9d93d54f09a0d80c9",
"is_bot": false,
"headline": "Merge pull request #139632 from benluddy/cbor-non-resource-structured…",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-24T00:53:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c07aceafe7e8edac8afb69b63ffe0057adf24652",
"body": "Kubernetes-commit: 0bf62577ce5755e6d22ba73e133dabe61e1e1f38",
"is_bot": false,
"headline": "add declarative validation tags to metav1.Condition.Status",
"author_name": "pranshul gupta",
"author_login": "itzPranshul",
"committed_at": "2026-06-22T05:03:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6bdb38e7395b5518f3111f71bdf16152db13ad46",
"body": "Update to match Go 1.27 json/v2 inline -> embed transition\n\nKubernetes-commit: e9fcaa8af5952d2a95205d421421b0c464025b42",
"is_bot": false,
"headline": "Merge pull request #139868 from liggitt/inline-revert",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-19T00:44:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80b8b74b90f95fa1388cfdee11e5426985f27624",
"body": "Kubernetes-commit: f5e8e99a17911f418bb1ae252337a8d899f2d16c",
"is_bot": false,
"headline": "Update to match Go 1.27 json/v2 inline -> embed transition",
"author_name": "Jordan Liggitt",
"author_login": "liggitt",
"committed_at": "2026-06-18T23:09:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "111d7ab7ffaf610c3a06e5dbb174bd0336590b8b",
"body": "Update kube-openapi to isolate from stdlib json/v2 prerelease\n\nKubernetes-commit: 2a799b273281aa952f457553e865050aba08bfe3",
"is_bot": false,
"headline": "Merge pull request #139867 from liggitt/json-v2-kube-openapi",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-19T00:53:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d76beacace617fdaf7c993a1de51e39ba7f90355",
"body": "Kubernetes-commit: f45bf7803fa2fa86ea924a5cfe3503cb224fcbd1",
"is_bot": false,
"headline": "Update kube-openapi to isolate from stdlib json/v2 prerelease",
"author_name": "Jordan Liggitt",
"author_login": "liggitt",
"committed_at": "2026-06-18T22:54:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7826df81647d2584bd71746274925912882b80e3",
"body": "Migrate metav1.Condition ObservedGeneration to declarative validation\n\nKubernetes-commit: b2630712414b3eae0e6a961f6b1fe366d93397db",
"is_bot": false,
"headline": "Merge pull request #139673 from suii2210/migrate-observedgeneration-dv",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-18T20:53:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b887553eddd6ee904c0cceeaed24401c51e8122",
"body": "Improve same-version fast return for SSA\n\nKubernetes-commit: e65019a8e8e3da844ce38ed3a9ae4bd0d6be15c8",
"is_bot": false,
"headline": "Merge pull request #139826 from jpbetz/opt/ssa-sameversion-fastpath",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-18T16:52:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "133473ea7cf9a55a341180c5b5246ed5f673f942",
"body": "Kubernetes-commit: 36c2162d1e3d853ec27ab0bf3d8c463effb3f51d",
"is_bot": false,
"headline": "Improve same-version fast return for SSA",
"author_name": "Joe Betz",
"author_login": "jpbetz",
"committed_at": "2026-06-18T02:44:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "633df38c9cedcae8faa625377fa3cf6a7499ec2b",
"body": "Signed-off-by: suii2210 <work8758@gmail.com>\n\nKubernetes-commit: 77f3a2ab2a05933739d899f283b49c38a72ca4ee",
"is_bot": false,
"headline": "Add test case for observedGeneration zero condition",
"author_name": "Shruti Singh",
"author_login": "suii2210",
"committed_at": "2026-06-16T06:00:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf530c0b0cadc8724387cbc0b11e63b8be65b970",
"body": "Kubernetes-commit: 4fec034335a8325cdd2757d588c5b3f91731dd26",
"is_bot": false,
"headline": "validate: add DependentForbidden runtime function",
"author_name": "Yongrui Lin",
"author_login": "yongruilin",
"committed_at": "2026-06-15T20:24:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f27849d497094a34cd00c530e19712b924d75c3a",
"body": "Avoid per-item output copy in JSON streaming list encoder\n\nKubernetes-commit: df0ac48dcc9aa25fd89af2c93266f9c66e6bb566",
"is_bot": false,
"headline": "Merge pull request #139617 from jpbetz/opt/json-collections-encoder",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-12T19:07:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9634dc079a0f01983bdcaa0b2321c1704a16e15",
"body": "Kubernetes-commit: 782b7e6d78c04ba4dcb865b9317c1b1e1fb54cef",
"is_bot": false,
"headline": "Add tests and bench",
"author_name": "Joe Betz",
"author_login": "jpbetz",
"committed_at": "2026-06-12T17:18:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c5c837d7d32803af4e6192283fabfcd44e652ac",
"body": "Kubernetes-commit: e080797048c6dde6ce3939a0e65e41d9a4fed881",
"is_bot": false,
"headline": "Avoid per-item output copy in JSON streaming list encoder",
"author_name": "Joe Betz",
"author_login": "jpbetz",
"committed_at": "2026-06-12T17:18:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ff1ad65646ae2d8da401ce1a980de93824e826a",
"body": "Signed-off-by: suii2210 <work8758@gmail.com>\n\nKubernetes-commit: 530be8dcac4b12d45e1c133ce48467ba0e729a2a",
"is_bot": false,
"headline": "Migrate metav1.Condition ObservedGeneration to declarative validation",
"author_name": "suii2210",
"author_login": "suii2210",
"committed_at": "2026-06-12T11:56:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c12c3cb2dc6b5d906ee937cad28b5281e28fa7c6",
"body": "Setup metav1.Condition for declarative valdiations.\n\nKubernetes-commit: 8f8aa9aae157b88db6ba02836c57596496d3f684",
"is_bot": false,
"headline": "Merge pull request #139101 from lalitc375/conditions",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-11T04:00:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "142d4d6f1669ab17d47e90507c8bfedc349c8957",
"body": "In addition to the already-supported /statusz and /flagz, tests and wiring are added to support the\ndiscovery endpoints and structured error responses returned from filters.\n\nKubernetes-commit: 4fce1c5e8e01bd154268a4275cb9658a0f7dea14",
"is_bot": false,
"headline": "KEP-4222: Support CBOR encoding for non-resource endpoints.",
"author_name": "Ben Luddy",
"author_login": "benluddy",
"committed_at": "2026-06-10T20:45:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e9e1931369bacb3f641178cb47ad93d7293ee4b",
"body": "Test inline tags, match stdlib inline tag handling behavior\n\nKubernetes-commit: 8f977c385589f270453515bab3d17d963fe529c5",
"is_bot": false,
"headline": "Merge pull request #139607 from liggitt/spurious-inline-test",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-10T19:18:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0a123099d0e7b426b5ab066806386af4d6170fc",
"body": "… inline support\n\nKubernetes-commit: 357a72eac815f5313ad154b91214fee6b1347432",
"is_bot": false,
"headline": "Add back tests of behavior around spurious inline tags, match Go 1.27…",
"author_name": "Jordan Liggitt",
"author_login": "liggitt",
"committed_at": "2026-06-09T22:14:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ff574143e0ad800d5bbfbf0042ee3967be9e7ce5",
"body": "Allow tests targets to published for output_tests dir\n\nKubernetes-commit: 283c9eb03da3ee5ebfef8147ed3f48a706dbf72a",
"is_bot": false,
"headline": "Merge pull request #139367 from lalitc375/test-targets",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-09T07:29:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4585d9a2cf934d4489c05520dddcbe40e5f11433",
"body": "Kubernetes-commit: dfce60b8e048accd822c9d9ed41643fe5643b97f",
"is_bot": false,
"headline": "Error nil path better handling",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-06-08T22:27:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4051dba6f891bdb71bf3af353145b810d10615c1",
"body": "Let's focus only on client-go initially. When we have more experience with the\nnew tooling, apimachinery can be added back.\n\nKubernetes-commit: 74dd02ba3bb2116db6ef5dd21e61f28ca08b2ccb",
"is_bot": false,
"headline": "apimachinery: exclude from Go API tracking for now",
"author_name": "Patrick Ohly",
"author_login": "pohly",
"committed_at": "2026-06-02T13:53:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3e00c9eacc7c63197c6ce57f2a87c93615f75ed",
"body": "Kubernetes-commit: 106b93b6cd259b596f851295b37b9e2d0be2ad8d",
"is_bot": false,
"headline": "Allow generating tests targets in output_tests",
"author_name": "Lalit Chauhan",
"author_login": "lalitc375",
"committed_at": "2026-05-28T20:17:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1f41aba69e0b7bb36dc920b8a725e8784802fa2",
"body": "Fix wrong marking of errors\n\nKubernetes-commit: 0d31ea790cfb8ff96fbbab0554507658c8287dc0",
"is_bot": false,
"headline": "Merge pull request #139480 from lalitc375/fix-wrong-marking",
"author_name": "Kubernetes Publisher",
"author_login": "k8s-publishing-bot",
"committed_at": "2026-06-03T23:01:46Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 50,
"commits_last_year": 373,
"latest_release_at": "2026-07-23T01:29:31Z",
"latest_release_tag": "v0.36.3",
"releases_from_tags": true,
"days_since_last_push": 2,
"active_weeks_last_year": 47,
"days_since_latest_release": 3,
"mean_days_between_releases": 11.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": false,
"has_contributing": true,
"health_percentage": 75,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "k8s.io/apimachinery",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": null,
"registry_url": "https://pkg.go.dev/k8s.io/apimachinery",
"is_deprecated": false,
"latest_version": "v0.36.3",
"repository_url": null,
"versions_count": 639,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-23T01:29:31Z",
"latest_version_yanked": null,
"days_since_latest_publish": 3
}
]
},
"popularity": {
"forks": 570,
"stars": 899,
"watchers": 36,
"fork_history": {
"days": [
{
"date": "2017-01-10",
"count": 1
},
{
"date": "2017-01-17",
"count": 2
},
{
"date": "2017-02-02",
"count": 3
},
{
"date": "2017-02-28",
"count": 1
},
{
"date": "2017-03-03",
"count": 1
},
{
"date": "2017-03-05",
"count": 1
},
{
"date": "2017-03-09",
"count": 1
},
{
"date": "2017-03-14",
"count": 1
},
{
"date": "2017-03-16",
"count": 1
},
{
"date": "2017-03-23",
"count": 1
},
{
"date": "2017-03-30",
"count": 1
},
{
"date": "2017-04-10",
"count": 1
},
{
"date": "2017-04-11",
"count": 1
},
{
"date": "2017-04-15",
"count": 1
},
{
"date": "2017-04-26",
"count": 2
},
{
"date": "2017-05-27",
"count": 1
},
{
"date": "2017-05-31",
"count": 1
},
{
"date": "2017-06-06",
"count": 1
},
{
"date": "2017-06-11",
"count": 2
},
{
"date": "2017-06-16",
"count": 1
},
{
"date": "2017-06-26",
"count": 1
},
{
"date": "2017-07-02",
"count": 1
},
{
"date": "2017-07-13",
"count": 1
},
{
"date": "2017-07-23",
"count": 1
},
{
"date": "2017-07-26",
"count": 1
},
{
"date": "2017-08-07",
"count": 1
},
{
"date": "2017-08-13",
"count": 1
},
{
"date": "2017-08-30",
"count": 1
},
{
"date": "2017-08-31",
"count": 1
},
{
"date": "2017-09-08",
"count": 1
},
{
"date": "2017-09-19",
"count": 1
},
{
"date": "2017-09-21",
"count": 1
},
{
"date": "2017-09-22",
"count": 1
},
{
"date": "2017-10-02",
"count": 1
},
{
"date": "2017-10-08",
"count": 1
},
{
"date": "2017-10-09",
"count": 2
},
{
"date": "2017-10-13",
"count": 1
},
{
"date": "2017-10-17",
"count": 1
},
{
"date": "2017-10-18",
"count": 1
},
{
"date": "2017-10-23",
"count": 1
},
{
"date": "2017-10-24",
"count": 1
},
{
"date": "2017-10-26",
"count": 1
},
{
"date": "2017-11-05",
"count": 2
},
{
"date": "2017-11-07",
"count": 1
},
{
"date": "2017-11-10",
"count": 1
},
{
"date": "2017-11-15",
"count": 2
},
{
"date": "2017-11-17",
"count": 1
},
{
"date": "2017-11-24",
"count": 1
},
{
"date": "2017-11-25",
"count": 1
},
{
"date": "2017-11-29",
"count": 2
},
{
"date": "2017-12-08",
"count": 1
},
{
"date": "2017-12-10",
"count": 1
},
{
"date": "2017-12-17",
"count": 1
},
{
"date": "2017-12-19",
"count": 1
},
{
"date": "2017-12-20",
"count": 1
},
{
"date": "2018-01-07",
"count": 1
},
{
"date": "2018-01-11",
"count": 1
},
{
"date": "2018-01-12",
"count": 1
},
{
"date": "2018-01-17",
"count": 1
},
{
"date": "2018-01-28",
"count": 1
},
{
"date": "2018-01-31",
"count": 1
},
{
"date": "2018-02-17",
"count": 1
},
{
"date": "2018-02-20",
"count": 1
},
{
"date": "2018-02-21",
"count": 1
},
{
"date": "2018-02-27",
"count": 1
},
{
"date": "2018-02-28",
"count": 1
},
{
"date": "2018-03-03",
"count": 1
},
{
"date": "2018-03-09",
"count": 1
},
{
"date": "2018-03-16",
"count": 1
},
{
"date": "2018-03-22",
"count": 2
},
{
"date": "2018-04-05",
"count": 1
},
{
"date": "2018-04-22",
"count": 1
},
{
"date": "2018-04-23",
"count": 1
},
{
"date": "2018-05-01",
"count": 1
},
{
"date": "2018-05-10",
"count": 1
},
{
"date": "2018-05-19",
"count": 1
},
{
"date": "2018-05-20",
"count": 1
},
{
"date": "2018-05-25",
"count": 1
},
{
"date": "2018-06-11",
"count": 1
},
{
"date": "2018-06-12",
"count": 1
},
{
"date": "2018-06-15",
"count": 2
},
{
"date": "2018-07-02",
"count": 1
},
{
"date": "2018-07-05",
"count": 1
},
{
"date": "2018-07-09",
"count": 1
},
{
"date": "2018-07-13",
"count": 1
},
{
"date": "2018-07-17",
"count": 1
},
{
"date": "2018-08-02",
"count": 2
},
{
"date": "2018-08-07",
"count": 1
},
{
"date": "2018-08-10",
"count": 1
},
{
"date": "2018-08-17",
"count": 1
},
{
"date": "2018-09-06",
"count": 1
},
{
"date": "2018-09-07",
"count": 1
},
{
"date": "2018-09-21",
"count": 1
},
{
"date": "2018-10-10",
"count": 1
},
{
"date": "2018-10-24",
"count": 1
},
{
"date": "2018-10-30",
"count": 1
},
{
"date": "2018-10-31",
"count": 2
},
{
"date": "2018-11-08",
"count": 1
},
{
"date": "2018-11-12",
"count": 1
},
{
"date": "2018-11-16",
"count": 1
},
{
"date": "2018-11-18",
"count": 1
},
{
"date": "2018-11-20",
"count": 2
},
{
"date": "2018-11-21",
"count": 1
},
{
"date": "2018-11-28",
"count": 1
},
{
"date": "2018-11-30",
"count": 1
},
{
"date": "2018-12-12",
"count": 1
},
{
"date": "2018-12-15",
"count": 1
},
{
"date": "2018-12-16",
"count": 1
},
{
"date": "2018-12-24",
"count": 1
},
{
"date": "2018-12-26",
"count": 1
},
{
"date": "2019-01-07",
"count": 1
},
{
"date": "2019-01-17",
"count": 1
},
{
"date": "2019-01-25",
"count": 1
},
{
"date": "2019-01-31",
"count": 1
},
{
"date": "2019-02-07",
"count": 2
},
{
"date": "2019-02-08",
"count": 1
},
{
"date": "2019-02-11",
"count": 1
},
{
"date": "2019-03-02",
"count": 1
},
{
"date": "2019-03-07",
"count": 1
},
{
"date": "2019-03-18",
"count": 1
},
{
"date": "2019-03-20",
"count": 1
},
{
"date": "2019-03-28",
"count": 1
},
{
"date": "2019-04-01",
"count": 1
},
{
"date": "2019-04-04",
"count": 1
},
{
"date": "2019-04-10",
"count": 1
},
{
"date": "2019-04-12",
"count": 1
},
{
"date": "2019-04-17",
"count": 1
},
{
"date": "2019-04-18",
"count": 2
},
{
"date": "2019-05-03",
"count": 1
},
{
"date": "2019-05-10",
"count": 1
},
{
"date": "2019-05-11",
"count": 1
},
{
"date": "2019-05-17",
"count": 1
},
{
"date": "2019-05-20",
"count": 1
},
{
"date": "2019-05-23",
"count": 1
},
{
"date": "2019-05-28",
"count": 2
},
{
"date": "2019-06-03",
"count": 1
},
{
"date": "2019-06-04",
"count": 2
},
{
"date": "2019-06-06",
"count": 1
},
{
"date": "2019-06-12",
"count": 1
},
{
"date": "2019-06-19",
"count": 1
},
{
"date": "2019-06-24",
"count": 1
},
{
"date": "2019-06-26",
"count": 2
},
{
"date": "2019-07-11",
"count": 1
},
{
"date": "2019-07-15",
"count": 1
},
{
"date": "2019-07-18",
"count": 1
},
{
"date": "2019-07-26",
"count": 1
},
{
"date": "2019-07-29",
"count": 1
},
{
"date": "2019-08-05",
"count": 1
},
{
"date": "2019-08-08",
"count": 1
},
{
"date": "2019-08-15",
"count": 1
},
{
"date": "2019-08-19",
"count": 1
},
{
"date": "2019-08-23",
"count": 1
},
{
"date": "2019-08-29",
"count": 1
},
{
"date": "2019-09-07",
"count": 1
},
{
"date": "2019-09-18",
"count": 1
},
{
"date": "2019-09-19",
"count": 1
},
{
"date": "2019-09-24",
"count": 1
},
{
"date": "2019-09-30",
"count": 1
},
{
"date": "2019-10-04",
"count": 1
},
{
"date": "2019-10-05",
"count": 1
},
{
"date": "2019-10-06",
"count": 1
},
{
"date": "2019-10-08",
"count": 1
},
{
"date": "2019-10-10",
"count": 1
},
{
"date": "2019-10-12",
"count": 1
},
{
"date": "2019-10-16",
"count": 1
},
{
"date": "2019-10-19",
"count": 1
},
{
"date": "2019-10-21",
"count": 1
},
{
"date": "2019-11-04",
"count": 1
},
{
"date": "2019-11-13",
"count": 1
},
{
"date": "2019-11-14",
"count": 1
},
{
"date": "2019-11-20",
"count": 1
},
{
"date": "2019-11-23",
"count": 1
},
{
"date": "2019-11-29",
"count": 1
},
{
"date": "2019-11-30",
"count": 1
},
{
"date": "2019-12-04",
"count": 1
},
{
"date": "2019-12-05",
"count": 1
},
{
"date": "2019-12-16",
"count": 1
},
{
"date": "2019-12-17",
"count": 1
},
{
"date": "2019-12-18",
"count": 1
},
{
"date": "2020-01-02",
"count": 1
},
{
"date": "2020-01-03",
"count": 1
},
{
"date": "2020-01-06",
"count": 1
},
{
"date": "2020-01-10",
"count": 1
},
{
"date": "2020-01-30",
"count": 1
},
{
"date": "2020-02-03",
"count": 1
},
{
"date": "2020-02-12",
"count": 1
},
{
"date": "2020-02-14",
"count": 1
},
{
"date": "2020-02-17",
"count": 1
},
{
"date": "2020-02-20",
"count": 1
},
{
"date": "2020-02-24",
"count": 1
},
{
"date": "2020-03-01",
"count": 1
},
{
"date": "2020-03-02",
"count": 1
},
{
"date": "2020-03-03",
"count": 1
},
{
"date": "2020-03-05",
"count": 2
},
{
"date": "2020-03-06",
"count": 1
},
{
"date": "2020-03-11",
"count": 2
},
{
"date": "2020-03-16",
"count": 1
},
{
"date": "2020-03-17",
"count": 1
},
{
"date": "2020-03-19",
"count": 2
},
{
"date": "2020-03-22",
"count": 1
},
{
"date": "2020-03-23",
"count": 1
},
{
"date": "2020-03-24",
"count": 1
},
{
"date": "2020-03-25",
"count": 1
},
{
"date": "2020-03-26",
"count": 1
},
{
"date": "2020-03-31",
"count": 1
},
{
"date": "2020-04-01",
"count": 1
},
{
"date": "2020-04-02",
"count": 1
},
{
"date": "2020-04-07",
"count": 1
},
{
"date": "2020-04-12",
"count": 1
},
{
"date": "2020-04-14",
"count": 2
},
{
"date": "2020-04-19",
"count": 1
},
{
"date": "2020-04-22",
"count": 1
},
{
"date": "2020-04-25",
"count": 1
},
{
"date": "2020-04-30",
"count": 3
},
{
"date": "2020-05-02",
"count": 1
},
{
"date": "2020-05-07",
"count": 1
},
{
"date": "2020-05-08",
"count": 2
},
{
"date": "2020-05-12",
"count": 1
},
{
"date": "2020-05-18",
"count": 1
},
{
"date": "2020-05-24",
"count": 1
},
{
"date": "2020-05-27",
"count": 1
},
{
"date": "2020-06-01",
"count": 1
},
{
"date": "2020-06-02",
"count": 1
},
{
"date": "2020-06-05",
"count": 2
},
{
"date": "2020-06-07",
"count": 1
},
{
"date": "2020-06-12",
"count": 1
},
{
"date": "2020-06-15",
"count": 1
},
{
"date": "2020-06-17",
"count": 1
},
{
"date": "2020-06-30",
"count": 1
},
{
"date": "2020-07-04",
"count": 1
},
{
"date": "2020-07-07",
"count": 1
},
{
"date": "2020-07-08",
"count": 1
},
{
"date": "2020-07-22",
"count": 1
},
{
"date": "2020-07-24",
"count": 1
},
{
"date": "2020-08-12",
"count": 1
},
{
"date": "2020-08-18",
"count": 1
},
{
"date": "2020-08-20",
"count": 1
},
{
"date": "2020-08-21",
"count": 1
},
{
"date": "2020-09-04",
"count": 1
},
{
"date": "2020-09-17",
"count": 1
},
{
"date": "2020-09-21",
"count": 1
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-09-30",
"count": 2
},
{
"date": "2020-10-02",
"count": 1
},
{
"date": "2020-10-07",
"count": 1
},
{
"date": "2020-10-14",
"count": 1
},
{
"date": "2020-10-22",
"count": 1
},
{
"date": "2020-10-23",
"count": 1
},
{
"date": "2020-11-04",
"count": 2
},
{
"date": "2020-11-13",
"count": 1
},
{
"date": "2020-11-17",
"count": 1
},
{
"date": "2020-11-20",
"count": 1
},
{
"date": "2020-11-25",
"count": 1
},
{
"date": "2020-12-06",
"count": 1
},
{
"date": "2020-12-10",
"count": 1
},
{
"date": "2020-12-14",
"count": 1
},
{
"date": "2020-12-16",
"count": 2
},
{
"date": "2020-12-22",
"count": 1
},
{
"date": "2020-12-23",
"count": 2
},
{
"date": "2020-12-30",
"count": 1
},
{
"date": "2021-01-05",
"count": 1
},
{
"date": "2021-01-18",
"count": 1
},
{
"date": "2021-01-28",
"count": 1
},
{
"date": "2021-02-10",
"count": 1
},
{
"date": "2021-02-17",
"count": 1
},
{
"date": "2021-02-19",
"count": 1
},
{
"date": "2021-02-20",
"count": 1
},
{
"date": "2021-03-08",
"count": 1
},
{
"date": "2021-03-11",
"count": 1
},
{
"date": "2021-03-12",
"count": 1
},
{
"date": "2021-03-16",
"count": 1
},
{
"date": "2021-03-26",
"count": 1
},
{
"date": "2021-04-08",
"count": 1
},
{
"date": "2021-04-13",
"count": 1
},
{
"date": "2021-04-15",
"count": 1
},
{
"date": "2021-04-21",
"count": 1
},
{
"date": "2021-04-22",
"count": 1
},
{
"date": "2021-05-01",
"count": 1
},
{
"date": "2021-05-05",
"count": 1
},
{
"date": "2021-05-11",
"count": 1
},
{
"date": "2021-05-13",
"count": 1
},
{
"date": "2021-05-19",
"count": 1
},
{
"date": "2021-05-20",
"count": 1
},
{
"date": "2021-05-24",
"count": 1
},
{
"date": "2021-05-26",
"count": 1
},
{
"date": "2021-06-01",
"count": 1
},
{
"date": "2021-06-02",
"count": 1
},
{
"date": "2021-06-06",
"count": 2
},
{
"date": "2021-06-07",
"count": 1
},
{
"date": "2021-06-11",
"count": 1
},
{
"date": "2021-06-23",
"count": 1
},
{
"date": "2021-07-02",
"count": 1
},
{
"date": "2021-07-03",
"count": 1
},
{
"date": "2021-07-14",
"count": 1
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2021-07-31",
"count": 1
},
{
"date": "2021-08-03",
"count": 1
},
{
"date": "2021-08-14",
"count": 1
},
{
"date": "2021-08-18",
"count": 1
},
{
"date": "2021-08-19",
"count": 1
},
{
"date": "2021-08-20",
"count": 1
},
{
"date": "2021-08-27",
"count": 1
},
{
"date": "2021-09-03",
"count": 1
},
{
"date": "2021-09-06",
"count": 1
},
{
"date": "2021-09-15",
"count": 1
},
{
"date": "2021-09-16",
"count": 1
},
{
"date": "2021-09-17",
"count": 1
},
{
"date": "2021-09-19",
"count": 1
},
{
"date": "2021-09-26",
"count": 1
},
{
"date": "2021-09-27",
"count": 1
},
{
"date": "2021-10-01",
"count": 1
},
{
"date": "2021-10-07",
"count": 1
},
{
"date": "2021-10-22",
"count": 1
},
{
"date": "2021-11-08",
"count": 1
},
{
"date": "2021-11-14",
"count": 1
},
{
"date": "2021-11-23",
"count": 1
},
{
"date": "2021-11-29",
"count": 2
},
{
"date": "2021-12-01",
"count": 1
},
{
"date": "2021-12-07",
"count": 1
},
{
"date": "2021-12-16",
"count": 1
},
{
"date": "2021-12-21",
"count": 2
},
{
"date": "2021-12-22",
"count": 1
},
{
"date": "2021-12-23",
"count": 1
},
{
"date": "2021-12-25",
"count": 1
},
{
"date": "2021-12-28",
"count": 1
},
{
"date": "2022-01-04",
"count": 1
},
{
"date": "2022-01-13",
"count": 1
},
{
"date": "2022-01-27",
"count": 1
},
{
"date": "2022-01-30",
"count": 1
},
{
"date": "2022-02-01",
"count": 1
},
{
"date": "2022-02-02",
"count": 1
},
{
"date": "2022-02-11",
"count": 1
},
{
"date": "2022-02-14",
"count": 1
},
{
"date": "2022-02-22",
"count": 1
},
{
"date": "2022-03-01",
"count": 1
},
{
"date": "2022-03-07",
"count": 1
},
{
"date": "2022-03-14",
"count": 1
},
{
"date": "2022-03-25",
"count": 1
},
{
"date": "2022-04-06",
"count": 1
},
{
"date": "2022-04-07",
"count": 3
},
{
"date": "2022-04-09",
"count": 1
},
{
"date": "2022-04-13",
"count": 1
},
{
"date": "2022-04-19",
"count": 1
},
{
"date": "2022-04-30",
"count": 1
},
{
"date": "2022-05-14",
"count": 2
},
{
"date": "2022-05-15",
"count": 1
},
{
"date": "2022-05-16",
"count": 1
},
{
"date": "2022-05-18",
"count": 1
},
{
"date": "2022-05-26",
"count": 1
},
{
"date": "2022-06-07",
"count": 1
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-10",
"count": 1
},
{
"date": "2022-06-14",
"count": 1
},
{
"date": "2022-06-15",
"count": 1
},
{
"date": "2022-06-17",
"count": 1
},
{
"date": "2022-06-20",
"count": 1
},
{
"date": "2022-06-21",
"count": 1
},
{
"date": "2022-06-23",
"count": 2
},
{
"date": "2022-06-25",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-07-01",
"count": 1
},
{
"date": "2022-07-02",
"count": 1
},
{
"date": "2022-07-04",
"count": 1
},
{
"date": "2022-07-05",
"count": 2
},
{
"date": "2022-07-07",
"count": 1
},
{
"date": "2022-07-16",
"count": 1
},
{
"date": "2022-07-28",
"count": 1
},
{
"date": "2022-07-31",
"count": 2
},
{
"date": "2022-08-27",
"count": 1
},
{
"date": "2022-09-14",
"count": 1
},
{
"date": "2022-09-18",
"count": 1
},
{
"date": "2022-09-19",
"count": 1
},
{
"date": "2022-09-29",
"count": 1
},
{
"date": "2022-10-04",
"count": 1
},
{
"date": "2022-10-05",
"count": 1
},
{
"date": "2022-10-06",
"count": 1
},
{
"date": "2022-10-07",
"count": 1
},
{
"date": "2022-10-15",
"count": 1
},
{
"date": "2022-10-18",
"count": 1
},
{
"date": "2022-10-28",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-11-23",
"count": 2
},
{
"date": "2022-11-30",
"count": 1
},
{
"date": "2022-12-08",
"count": 2
},
{
"date": "2022-12-14",
"count": 1
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-27",
"count": 1
},
{
"date": "2023-01-02",
"count": 1
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-01-12",
"count": 1
},
{
"date": "2023-01-20",
"count": 1
},
{
"date": "2023-01-23",
"count": 1
},
{
"date": "2023-01-31",
"count": 2
},
{
"date": "2023-02-19",
"count": 1
},
{
"date": "2023-02-22",
"count": 1
},
{
"date": "2023-02-23",
"count": 1
},
{
"date": "2023-02-24",
"count": 1
},
{
"date": "2023-03-02",
"count": 1
},
{
"date": "2023-03-13",
"count": 1
},
{
"date": "2023-03-15",
"count": 1
},
{
"date": "2023-03-22",
"count": 1
},
{
"date": "2023-04-01",
"count": 1
},
{
"date": "2023-04-05",
"count": 1
},
{
"date": "2023-04-06",
"count": 1
},
{
"date": "2023-04-07",
"count": 1
},
{
"date": "2023-04-14",
"count": 1
},
{
"date": "2023-04-21",
"count": 1
},
{
"date": "2023-04-23",
"count": 1
},
{
"date": "2023-04-24",
"count": 2
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-04-27",
"count": 1
},
{
"date": "2023-05-01",
"count": 1
},
{
"date": "2023-05-23",
"count": 1
},
{
"date": "2023-05-28",
"count": 1
},
{
"date": "2023-05-30",
"count": 1
},
{
"date": "2023-06-02",
"count": 1
},
{
"date": "2023-06-08",
"count": 1
},
{
"date": "2023-06-25",
"count": 1
},
{
"date": "2023-07-12",
"count": 1
},
{
"date": "2023-07-14",
"count": 1
},
{
"date": "2023-07-17",
"count": 1
},
{
"date": "2023-08-09",
"count": 2
},
{
"date": "2023-08-27",
"count": 1
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-10-16",
"count": 1
},
{
"date": "2023-10-20",
"count": 2
},
{
"date": "2023-10-22",
"count": 1
},
{
"date": "2023-11-10",
"count": 1
},
{
"date": "2023-11-13",
"count": 1
},
{
"date": "2023-12-03",
"count": 1
},
{
"date": "2023-12-10",
"count": 1
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-01-01",
"count": 1
},
{
"date": "2024-01-09",
"count": 1
},
{
"date": "2024-01-10",
"count": 1
},
{
"date": "2024-01-25",
"count": 1
},
{
"date": "2024-01-26",
"count": 1
},
{
"date": "2024-02-11",
"count": 1
},
{
"date": "2024-02-14",
"count": 1
},
{
"date": "2024-03-05",
"count": 1
},
{
"date": "2024-03-11",
"count": 1
},
{
"date": "2024-03-19",
"count": 1
},
{
"date": "2024-03-28",
"count": 1
},
{
"date": "2024-04-29",
"count": 1
},
{
"date": "2024-04-30",
"count": 2
},
{
"date": "2024-05-02",
"count": 1
},
{
"date": "2024-05-07",
"count": 1
},
{
"date": "2024-05-17",
"count": 2
},
{
"date": "2024-06-13",
"count": 1
},
{
"date": "2024-06-27",
"count": 1
},
{
"date": "2024-07-11",
"count": 1
},
{
"date": "2024-08-28",
"count": 1
},
{
"date": "2024-09-02",
"count": 1
},
{
"date": "2024-09-04",
"count": 1
},
{
"date": "2024-09-05",
"count": 1
},
{
"date": "2024-09-06",
"count": 1
},
{
"date": "2024-09-11",
"count": 1
},
{
"date": "2024-09-26",
"count": 1
},
{
"date": "2024-10-25",
"count": 1
},
{
"date": "2024-10-30",
"count": 1
},
{
"date": "2024-11-01",
"count": 2
},
{
"date": "2024-11-10",
"count": 1
},
{
"date": "2024-11-20",
"count": 1
},
{
"date": "2024-12-05",
"count": 1
},
{
"date": "2025-01-20",
"count": 2
},
{
"date": "2025-01-25",
"count": 1
},
{
"date": "2025-01-29",
"count": 1
},
{
"date": "2025-02-10",
"count": 1
},
{
"date": "2025-02-19",
"count": 1
},
{
"date": "2025-03-11",
"count": 1
},
{
"date": "2025-03-25",
"count": 2
},
{
"date": "2025-04-16",
"count": 1
},
{
"date": "2025-05-17",
"count": 1
},
{
"date": "2025-05-23",
"count": 1
},
{
"date": "2025-06-05",
"count": 1
},
{
"date": "2025-06-24",
"count": 1
},
{
"date": "2025-07-15",
"count": 1
},
{
"date": "2025-07-26",
"count": 1
},
{
"date": "2025-08-06",
"count": 1
},
{
"date": "2025-09-11",
"count": 1
},
{
"date": "2025-09-13",
"count": 1
},
{
"date": "2025-10-19",
"count": 3
},
{
"date": "2025-10-20",
"count": 2
},
{
"date": "2025-10-23",
"count": 1
},
{
"date": "2025-10-29",
"count": 1
},
{
"date": "2025-12-01",
"count": 1
},
{
"date": "2025-12-02",
"count": 1
},
{
"date": "2025-12-11",
"count": 1
},
{
"date": "2025-12-13",
"count": 1
},
{
"date": "2026-01-04",
"count": 1
},
{
"date": "2026-01-12",
"count": 1
},
{
"date": "2026-01-25",
"count": 1
},
{
"date": "2026-02-16",
"count": 1
},
{
"date": "2026-04-20",
"count": 1
},
{
"date": "2026-05-11",
"count": 1
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-06-08",
"count": 1
},
{
"date": "2026-07-16",
"count": 1
}
],
"complete": true,
"collected": 552,
"total_forks": 570
},
"star_history": null,
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [
"pkg/api/resource/generated.proto",
"pkg/apis/meta/v1/generated.proto",
"pkg/apis/meta/v1beta1/generated.proto",
"pkg/apis/testapigroup/v1/generated.proto",
"pkg/runtime/generated.proto",
"pkg/runtime/schema/generated.proto",
"pkg/util/intstr/generated.proto",
"pkg/util/managedfields/internal/testdata/swagger.json"
],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 241252,
"source_files_sampled": 525,
"oversized_source_files": 5,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 49,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/fxamacker/cbor/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.9.1"
},
{
"name": "github.com/google/gnostic-models",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "github.com/google/go-cmp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "github.com/google/uuid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/mxk/go-flowrate",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20140419014527-cca7078d478f"
},
{
"name": "github.com/pmezard/go-difflib",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.1-0.20181226105442-5d4384ee4fb2"
},
{
"name": "github.com/spf13/pflag",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.10"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "golang.org/x/net",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.57.0"
},
{
"name": "golang.org/x/time",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.15.0"
},
{
"name": "gopkg.in/evanphx/json-patch.v4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v4.13.0"
},
{
"name": "gopkg.in/inf.v0",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.9.1"
},
{
"name": "k8s.io/klog/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.140.0"
},
{
"name": "k8s.io/kube-openapi",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20260721132016-d427ff9ee9ad"
},
{
"name": "k8s.io/streaming",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20260710095143-d1a4397cb62c"
},
{
"name": "k8s.io/utils",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20260626114624-be93311217bd"
},
{
"name": "sigs.k8s.io/json",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20250730193827-2d320260d730"
},
{
"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/fxamacker/cbor/v2",
"direct": true,
"version": "v2.9.1",
"ecosystem": "go"
},
{
"name": "github.com/google/gnostic-models",
"direct": true,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/go-cmp",
"direct": true,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/mxk/go-flowrate",
"direct": true,
"version": "v0.0.0-20140419014527-cca7078d478f",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": true,
"version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": true,
"version": "v1.0.10",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": true,
"version": "v0.57.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": true,
"version": "v0.15.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/evanphx/json-patch.v4",
"direct": true,
"version": "v4.13.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/inf.v0",
"direct": true,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "k8s.io/klog/v2",
"direct": true,
"version": "v2.140.0",
"ecosystem": "go"
},
{
"name": "k8s.io/kube-openapi",
"direct": true,
"version": "v0.0.0-20260721132016-d427ff9ee9ad",
"ecosystem": "go"
},
{
"name": "k8s.io/streaming",
"direct": true,
"version": "v0.0.0-20260710095143-d1a4397cb62c",
"ecosystem": "go"
},
{
"name": "k8s.io/utils",
"direct": true,
"version": "v0.0.0-20260626114624-be93311217bd",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/json",
"direct": true,
"version": "v0.0.0-20250730193827-2d320260d730",
"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": "github.com/davecgh/go-spew",
"direct": false,
"version": "v1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/jsonpointer",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/jsonreference",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/cmdutils",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/conv",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/fileutils",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/jsonutils",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/loading",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/mangling",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/netutils",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/pools",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/stringutils",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/typeutils",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag/yamlutils",
"direct": false,
"version": "v0.27.1",
"ecosystem": "go"
},
{
"name": "github.com/json-iterator/go",
"direct": false,
"version": "v1.1.12",
"ecosystem": "go"
},
{
"name": "github.com/kr/pretty",
"direct": false,
"version": "v0.3.1",
"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/rogpeppe/go-internal",
"direct": false,
"version": "v1.14.1",
"ecosystem": "go"
},
{
"name": "github.com/x448/float16",
"direct": false,
"version": "v0.8.4",
"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": "golang.org/x/text",
"direct": false,
"version": "v0.40.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": false,
"version": "v1.36.12-0.20260120151049-f2248ac996af",
"ecosystem": "go"
},
{
"name": "gopkg.in/check.v1",
"direct": false,
"version": "v1.0.0-20201130134442-10cb98267c6c",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": false,
"version": "v3.0.1",
"ecosystem": "go"
}
],
"collected": true,
"truncated": false,
"total_count": 49,
"direct_count": 20,
"indirect_count": 29
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 5,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 28
},
"bus_factor": 3,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "k8s-publishing-bot",
"commits": 1298,
"avatar_url": "https://avatars.githubusercontent.com/u/34088196?v=4"
},
{
"type": "User",
"login": "liggitt",
"commits": 184,
"avatar_url": "https://avatars.githubusercontent.com/u/980082?v=4"
},
{
"type": "User",
"login": "k8s-publish-robot",
"commits": 166,
"avatar_url": "https://avatars.githubusercontent.com/u/26662517?v=4"
},
{
"type": "User",
"login": "deads2k",
"commits": 120,
"avatar_url": "https://avatars.githubusercontent.com/u/8225098?v=4"
},
{
"type": "User",
"login": "smarterclayton",
"commits": 98,
"avatar_url": "https://avatars.githubusercontent.com/u/1163175?v=4"
},
{
"type": "User",
"login": "dims",
"commits": 97,
"avatar_url": "https://avatars.githubusercontent.com/u/23304?v=4"
},
{
"type": "User",
"login": "sttts",
"commits": 85,
"avatar_url": "https://avatars.githubusercontent.com/u/730123?v=4"
},
{
"type": "User",
"login": "wojtek-t",
"commits": 72,
"avatar_url": "https://avatars.githubusercontent.com/u/10743879?v=4"
},
{
"type": "User",
"login": "jpbetz",
"commits": 64,
"avatar_url": "https://avatars.githubusercontent.com/u/523590?v=4"
},
{
"type": "User",
"login": "pohly",
"commits": 63,
"avatar_url": "https://avatars.githubusercontent.com/u/22076?v=4"
}
],
"contributors_sampled": 100,
"top_contributor_share": 0.419
},
"quality_signals": {
"has_ci": false,
"has_tests": true,
"ci_workflows": [],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"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": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"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 42 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": null,
"reason": "no workflows found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no 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": null,
"reason": "no dependencies found",
"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": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": null,
"reason": "No tokens found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "eed236ceee2c19c2753a3d93ac0631dc20750454",
"ran_at": "2026-07-26T05:49:30Z",
"aggregate_score": 5.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-23T11:31:17Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2017-12-22T22:21:02Z",
"ci_last_conclusion": null,
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/kubernetes/apimachinery",
"host": "github.com",
"name": "apimachinery",
"owner": "kubernetes"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"security": 63,
"vitality": 93,
"community": 86,
"governance": 65,
"engineering": 34
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 93,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 96,
"inputs": {
"commits_last_year": 373,
"human_commit_share": 1,
"days_since_last_push": 2,
"active_weeks_last_year": 47
},
"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": "47/52 weeks with commits",
"points": 32.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 47
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "373 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 373
}
}
],
"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": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 88,
"inputs": {
"releases_count": 50,
"latest_release_tag": "v0.36.3",
"releases_from_tags": true,
"days_since_latest_release": 3,
"mean_days_between_releases": 11.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "50 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 50
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 3 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 3
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~11.7 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 11.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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": "excellent",
"name": "Community & Adoption",
"value": 86,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"forks": 570,
"stars": 899,
"watchers": 36,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "899 stars",
"points": 47.9,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 899
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "570 forks",
"points": 23,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 570
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "36 watchers",
"points": 8.6,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 36
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"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": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"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": 6.3,
"status": "met",
"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": 65,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 100,
"top_contributor_share": 0.419
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "3 contributor(s) cover half of all commits",
"points": 36,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 3
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 42% of commits",
"points": 13.1,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 42
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "100 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 100
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 42 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. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 11,
"inputs": {
"merged_prs": 5,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 28
},
"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": "5/33 decided PRs merged",
"points": 5.8,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 5,
"decided": 33
}
}
],
"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": 80,
"inputs": {
"followers": 14117,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "kubernetes",
"public_repos": 79,
"account_age_days": 4009
},
"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": "14,117 followers of kubernetes",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 14117,
"login": "kubernetes"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "79 public repos, account ~10 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 79
}
},
{
"code": "account_age_years",
"params": {
"years": 10
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"k8s.io/apimachinery"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 3
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 3 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 3
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "639 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 639
}
}
],
"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": "at_risk",
"name": "Engineering Quality",
"value": 34,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "at_risk",
"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": 30,
"inputs": {
"has_ci": false,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"topics": [
"k8s-staging"
],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"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": "1 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 1
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 63,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"ci_tests",
"dangerous_workflow",
"packaging",
"pinned_dependencies",
"signed_releases",
"token_permissions"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 54,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 11,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 7,
"scorecard_aggregate": 5.4
},
"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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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 42 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no workflows found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"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": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "No tokens found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 49 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",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 49
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 49,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"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 carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"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": 49,
"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": 10
},
"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": 57,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 37,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.7,
"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": "70 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 37.3,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 70,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 62,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "go.mod (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "go.mod"
}
}
],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "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": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 241252,
"source_files_sampled": 525,
"oversized_source_files": 5
},
"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": "5/525 source files over 60KB",
"points": 54.5,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 525,
"oversized": 5
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [],
"has_mcp_signal": false,
"api_schema_files": [
"pkg/api/resource/generated.proto",
"pkg/apis/meta/v1/generated.proto",
"pkg/apis/meta/v1beta1/generated.proto",
"pkg/apis/testapigroup/v1/generated.proto",
"pkg/runtime/generated.proto",
"pkg/runtime/schema/generated.proto",
"pkg/util/intstr/generated.proto",
"pkg/util/managedfields/internal/testdata/swagger.json"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "pkg/api/resource/generated.proto, pkg/apis/meta/v1/generated.proto, pkg/apis/meta/v1beta1/generated.proto, pkg/apis/testapigroup/v1/generated.proto, pkg/runtime/generated.proto, pkg/runtime/schema/generated.proto, pkg/util/intstr/generated.proto, pkg/util/managedfields/internal/testdata/swagger.json",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "pkg/api/resource/generated.proto, pkg/apis/meta/v1/generated.proto, pkg/apis/meta/v1beta1/generated.proto, pkg/apis/testapigroup/v1/generated.proto, pkg/runtime/generated.proto, pkg/runtime/schema/generated.proto, pkg/util/intstr/generated.proto, pkg/util/managedfields/internal/testdata/swagger.json"
}
}
],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-26T05:49:46.460380Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/k/kubernetes/apimachinery.svg",
"full_name": "kubernetes/apimachinery",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}