原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": true,
"size_kb": 65345,
"has_wiki": true,
"homepage": null,
"languages": {
"Go": 1077626,
"Shell": 120992,
"Makefile": 10749,
"Mustache": 3482,
"Dockerfile": 2748,
"Go Template": 24133
},
"pushed_at": "2026-07-07T21:19:11Z",
"created_at": "2019-03-05T22:46:36Z",
"owner_type": "Organization",
"updated_at": "2026-06-17T19:01:51Z",
"description": "CSI driver for AWS EBS https://aws.amazon.com/ebs/",
"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://openshift.com",
"name": "OpenShift",
"type": "Organization",
"login": "openshift",
"company": null,
"location": null,
"followers": 2237,
"avatar_url": "https://avatars.githubusercontent.com/u/792337?v=4",
"created_at": "2011-05-17T02:01:03Z",
"is_verified": null,
"public_repos": 844,
"account_age_days": 5549
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2019-01-31T04:42:17Z"
},
{
"tag": "v0.2.0-alpha.0",
"kind": "prerelease",
"published_at": "2019-01-26T20:34:12Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2018-11-28T21:15:36Z"
},
{
"tag": "v0.1.0-alpha.2",
"kind": "prerelease",
"published_at": "2018-11-16T18:16:41Z"
},
{
"tag": "v0.1.0-alpha.1",
"kind": "prerelease",
"published_at": "2018-11-15T05:39:50Z"
}
],
"recent_commits": [
{
"oid": "8b8c4cef02ec9b670e2709f2aacc0ed72420be90",
"body": "…5.0-ose-aws-ebs-csi-driver\n\nOCPBUGS-87394: Updating ose-aws-ebs-csi-driver-container image to be consistent with ART for 5.0",
"is_bot": true,
"headline": "Merge pull request #324 from openshift-bot/art-consistency-openshift-…",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-06-17T19:00:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa26511437f16543f0f307ad967cfe3a7121ec5d",
"body": "OCPBUGS-87394: UPSTREAM: <carry>: Updating ose-aws-ebs-csi-driver-container image",
"is_bot": true,
"headline": "Merge pull request #326 from rvagner78/ocpbugs-87394-nolint",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-06-17T13:34:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b04e8ad839f419e2b11393f5d8ec407edc6a4e08",
"body": "This commit should be dropped by the next rebase.",
"is_bot": false,
"headline": "UPSTREAM: <drop>: changes necessary to run current codebase with go1.26",
"author_name": "Radomir Vagner",
"author_login": "rvagner78",
"committed_at": "2026-06-15T12:37:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a05883f18a0e1f1bab08990182eb571c7d60ddc",
"body": "… be consistent with ART for 5.0",
"is_bot": false,
"headline": "UPSTREAM: <carry>: Updating ose-aws-ebs-csi-driver-container image to…",
"author_name": "Radomir Vagner",
"author_login": "rvagner78",
"committed_at": "2026-06-15T11:10:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e6a7798f690d3c4849a15181dd1dcc9d8b2ead1",
"body": "… be consistent with ART for 5.0\n\nReconciling with https://github.com/openshift-eng/ocp-build-data/tree/7691ed4dc0b6585b358f9e73fb736ace9a48a286/images/ose-aws-ebs-csi-driver.yml",
"is_bot": false,
"headline": "UPSTREAM: <carry>: Updating ose-aws-ebs-csi-driver-container image to…",
"author_name": "AOS Automation Release Team",
"author_login": null,
"committed_at": "2026-06-06T23:20:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0dc99489474b344fd8363d4ff1e2d91b4da1a312",
"body": "NO-ISSUE: UPSTREAM: 2911: CVE-2026-33186: bump google.golang.org/grpc v1.80.0",
"is_bot": true,
"headline": "Merge pull request #315 from kunalmemane/CVE-2026-33186-master",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-05-11T09:00:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9579ff1c1811d25037523e623402886f0dd12d38",
"body": "Signed-off-by: Kunal Memane <kmemane@redhat.com>",
"is_bot": false,
"headline": "UPSTREAM: 2911: CVE-2026-33186: bump google.golang.org/grpc v1.80.0",
"author_name": "Kunal Memane",
"author_login": "kunalmemane",
"committed_at": "2026-05-06T11:18:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0927af1c1397b6f3c7545c715e1a87e0263ae2bf",
"body": "TRT-2576: Revert #301 \"STOR-2766: Rebase to upstream v1.55.0 for OCP 4.22\"",
"is_bot": true,
"headline": "Merge pull request #303 from stbenjam/revert-301-17732568623N",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-03-11T22:07:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0a2c4b219b67b17d339b3a87cd100c5d590644f",
"body": "…e-v1.55.0\"\n\nThis reverts commit dc7de907357d68b22e64c145b43e453265742851, reversing\nchanges made to e3a53930433bc6deec4e550b413b3693ecdf5ad3.",
"is_bot": false,
"headline": "UPSTREAM: <carry>: Revert \"Merge pull request #301 from dfajmon/rebas…",
"author_name": "Stephen Benjamin",
"author_login": "stbenjam",
"committed_at": "2026-03-11T19:21:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc7de907357d68b22e64c145b43e453265742851",
"body": "STOR-2766: Rebase to upstream v1.55.0 for OCP 4.22",
"is_bot": true,
"headline": "Merge pull request #301 from dfajmon/rebase-v1.55.0",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-03-11T09:38:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3a53930433bc6deec4e550b413b3693ecdf5ad3",
"body": "…4.22-ose-aws-ebs-csi-driver\n\nOCPBUGS-77628: Updating ose-aws-ebs-csi-driver-container image to be consistent with ART for 4.22",
"is_bot": true,
"headline": "Merge pull request #302 from openshift-bot/art-consistency-openshift-…",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-03-04T12:20:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d15ae1643a36bf4c25715ffc53f5b9f5fad8b299",
"body": "… be consistent with ART for 4.22\n\nReconciling with https://github.com/openshift/ocp-build-data/tree/992b0dc3f0e12d86e7466dadf1eb51b2584a9a83/images/ose-aws-ebs-csi-driver.yml",
"is_bot": false,
"headline": "UPSTREAM: <carry>: Updating ose-aws-ebs-csi-driver-container image to…",
"author_name": "AOS Automation Release Team",
"author_login": null,
"committed_at": "2026-03-03T07:10:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdc2f42a20a03a6d8ab4adebc62fad97c3316d0f",
"body": "This commit carries OpenShift-specific files and modifications:\n- OpenShift CI configuration (.ci-operator.yaml, OWNERS, OWNERS_ALIASES)\n- OpenShift Dockerfile (Dockerfile.openshift.rhel7) for RHEL 9 with Go 1.25 and OpenShift 4.22\n- Snyk configuration (.snyk)\n- Vendored dependencies (vendor/)\n- Lic\n[…]\nrectory\n- Remove upstream GitHub workflows and templates\n- Fix `make verify` not to require a license header in OCP .ci-operator.yaml in generate-license-header.sh\n\nUpdated for OpenShift 4.22 release.",
"is_bot": false,
"headline": "UPSTREAM: <carry>: Add OpenShift files",
"author_name": "Daniel Fajmon",
"author_login": "dfajmon",
"committed_at": "2026-02-24T15:51:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d07ca45bb3d8a73d6e787bf3f53d27d0d2de65ec",
"body": null,
"is_bot": false,
"headline": "Merge remote-tracking branch 'openshift/master' into rebase-v1.55.0",
"author_name": "Daniel Fajmon",
"author_login": "dfajmon",
"committed_at": "2026-02-16T14:33:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "229c1bf798d92f348d599b283f9941c7a6ca4520",
"body": "OCPBUGS-74521: UPSTREAM: 2806, 2816: Remove VolumeAttributesClass FeatureGate",
"is_bot": true,
"headline": "Merge pull request #300 from dfajmon/vac-remove-featuregate-4.22",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-02-02T17:57:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b069203a7df2ee98611e55f0db2bd1831de03af0",
"body": "https://github.com/kubernetes-sigs/aws-ebs-csi-driver/pull/2816",
"is_bot": false,
"headline": "UPSTREAM: 2816: Fix VAC fallback on 1.33 and before",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-30T10:22:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46ddd2d3935f1fb5b52ae73496e68b9b7ed54ebe",
"body": "https://github.com/kubernetes-sigs/aws-ebs-csi-driver/pull/2806",
"is_bot": false,
"headline": "UPSTREAM: 2806: Enable VAC v1beta1 fallback for K8s 1.31-1.33",
"author_name": "Eddie Torres",
"author_login": "torredil",
"committed_at": "2026-01-30T10:22:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a42de62d1142e48c05b2a81798ee3917be98cbd",
"body": "Bump dependencies for release v1.55.0",
"is_bot": false,
"headline": "Merge pull request #2836 from ConnorJC3/dep-bump-155",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-23T20:39:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "522d9d435e5b51f7886598e356b763027bc01a96",
"body": "Signed-off-by: Connor catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Bump dependencies for release v1.55.0",
"author_name": "Connor catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-23T18:19:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51e3676f5cfab9449e275bb77730e8919cc0788b",
"body": "Automatically assign EBS card index for instances with multiple EBS cards",
"is_bot": false,
"headline": "Merge pull request #2835 from ConnorJC3/add-multicard-support",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-23T17:07:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03352d57e545c1d5d70592dd404bff2a576f98e0",
"body": "…ards\n\nSigned-off-by: Connor catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Automatically assign EBS card index for instances with multiple EBS c…",
"author_name": "Connor catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-23T14:58:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8839bde438e7cb8bcfbb9daee1715d631c6254e6",
"body": "Bump Go dependencies and fix test mocking",
"is_bot": false,
"headline": "Merge pull request #2834 from ConnorJC3/bump-deps-mock",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-22T21:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59c63dee98df66306f0b5f6950a2788f77877e12",
"body": "Detect, abort, and retry stuck attachments",
"is_bot": false,
"headline": "Merge pull request #2833 from ConnorJC3/retry-stuck-attachments",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-22T20:33:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf27d379757a3f9f098f0deab2e3eee89f9dcecf",
"body": "Signed-off-by: Connor catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Bump dependencies and fix test mocking",
"author_name": "Connor catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-22T19:38:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a71459bb6f1d43decfe3ecc8ec5f126065c43e5",
"body": "Added snapshot management to overview",
"is_bot": false,
"headline": "Merge pull request #2832 from mdzraf/updateReadMe",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-22T18:51:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a1edb0721f329399063b01646a0aff6d762a1cc9",
"body": "Signed-off-by: Connor catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Detect, abort, and retry stuck attachments",
"author_name": "Connor catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-22T18:40:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e5fe992084d9177e5ef019d3c395de628eea7a5",
"body": null,
"is_bot": false,
"headline": "Added snapshot management to overview",
"author_name": "Rafael Mendez",
"author_login": "mdzraf",
"committed_at": "2026-01-22T14:18:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f1a18bf3e2d7a46a2e127a7e32bd000767f069ef",
"body": "Initialize name-dependent variables in metadata-labaler node path",
"is_bot": false,
"headline": "Merge pull request #2827 from ConnorJC3/fix-metadata-labeler",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-21T15:57:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6d7e0ce4d0564ae808d0bace25d922517b2b635",
"body": "Update MV documentation to remove references to 6-hour cooldown",
"is_bot": false,
"headline": "Merge pull request #2829 from ConnorJC3/update-mv-docs",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-15T22:27:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04566a9a2c382346b879ef6598f1ff76320c1d67",
"body": "Signed-off-by: Connor catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Update MV documentation to remove references to 6-hour cooldown",
"author_name": "Connor catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-15T22:14:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78b9b2751746566794f216b9da110b0b5283471c",
"body": "Adding SnapshotLock Capabilities",
"is_bot": false,
"headline": "Merge pull request #2797 from mdzraf/snapshotLockOnCreate",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-15T20:16:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b683e15acc0f25a75a9e877633f0f1087fa9c5a9",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Initialize name-dependent variables in metadata-labaler node path",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-14T20:06:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c18caa81b8f934950301080146f90f696cbd6c1",
"body": "Enable MutableCSINodeAllocatableCount feature gate in external-attacher",
"is_bot": false,
"headline": "Merge pull request #2826 from torredil/external-attacher-5123",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-13T16:49:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d47b05fbae68dfc9b2cecb394908ce0f76e898c9",
"body": "Signed-off-by: Eddie Torres <torredil@amazon.com>",
"is_bot": false,
"headline": "Enable MutableCSINodeAllocatableCount in external-attacher",
"author_name": "Eddie Torres",
"author_login": "torredil",
"committed_at": "2026-01-13T15:52:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da47861831629c264b297bf2a902beee828ceea2",
"body": null,
"is_bot": false,
"headline": "Adding SnapshotLock Capabilities",
"author_name": "Rafael Mendez",
"author_login": "mdzraf",
"committed_at": "2026-01-12T14:35:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a41918636a3a0670f1735389d142d337270d7b24",
"body": "Remove instances of gomock Any/AssignableToTypeOf/AnyTimes",
"is_bot": false,
"headline": "Merge pull request #2821 from ConnorJC3/no-more-any",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-09T21:13:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f5bd2c742ccc94563079799e9c97e26c3adaded5",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Remove instances of gomock Any/AssignableToTypeOf/AnyTimes",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-09T20:30:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3f79c3a4d1c940b387751e9c6e9c72f5e9bfaa6",
"body": "Remove out.md",
"is_bot": false,
"headline": "Merge pull request #2824 from torredil/remove-outmd",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-09T20:23:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08e8a2fee44df497d3117178a3b6dbb50f6fe6ef",
"body": "Signed-off-by: Eddie Torres <torredil@amazon.com>",
"is_bot": false,
"headline": "Remove out.md",
"author_name": "Eddie Torres",
"author_login": "torredil",
"committed_at": "2026-01-09T20:05:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da925dd5f8f1bc6130e9c586868f94c4d4736367",
"body": "Cache known bad ids to remove from batch calls",
"is_bot": false,
"headline": "Merge pull request #2817 from ElijahQuinones/cache",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-09T19:53:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16084489eccef8f433b165cba9924d77e66e9e24",
"body": null,
"is_bot": false,
"headline": "Cache known bad ids to remove from batch calls",
"author_name": "Elijah Quinones",
"author_login": "ElijahQuinones",
"committed_at": "2026-01-08T20:43:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69387d006cdf8d700b37829442a0cb4b9a994e54",
"body": "Remove a1compat image and references to it",
"is_bot": false,
"headline": "Merge pull request #2823 from ConnorJC3/remove-a1compat",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-07T21:45:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45c4fae1881648c52fe0ad2458453cee6e919ace",
"body": "Detect and disallow use of IMDS as a metadata source on Hyperpod Nodes",
"is_bot": false,
"headline": "Merge pull request #2822 from ElijahQuinones/hyperPodMD",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-07T20:53:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ff72cb2c260edaf8b90c22fcd9582e9a2915d741",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Remove a1compat image and references to it",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-07T20:14:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8146ae241d4c1ba3db6fcd22a66055e0941b3f94",
"body": null,
"is_bot": false,
"headline": "Detect and disallow use of IMDS as a metadata source on Hyperpod Nodes",
"author_name": "Elijah Quinones",
"author_login": "ElijahQuinones",
"committed_at": "2026-01-07T20:08:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd1e895089607a0c2b77a7b341180f241f6559a9",
"body": "Add encryption support ext4 format option to StorageClass params",
"is_bot": false,
"headline": "Merge pull request #2820 from ConnorJC3/encrypt-format-option",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-07T19:51:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57d45ad4784e9a4e1c2e2db3e7c12548ac8e7e0a",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Add ext4 format option to StorageClass params",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2026-01-07T19:07:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53109e3522ac5a8883a32ad27dee38ffeeef08d4",
"body": "Update nodeDriverRegistrar livenessProbe",
"is_bot": false,
"headline": "Merge pull request #2819 from mdzraf/fixRegLivProb",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2026-01-06T19:33:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0f7da78af5fc9d3e791908dd808ff25558bbd77",
"body": "…4.22-ose-aws-ebs-csi-driver\n\nOCPBUGS-69918: Updating ose-aws-ebs-csi-driver-container image to be consistent with ART for 4.22",
"is_bot": true,
"headline": "Merge pull request #296 from openshift-bot/art-consistency-openshift-…",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-01-06T17:22:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "224169576a8370642bf576aa60c26fe23704ca72",
"body": "OCPBUGS-69918: UPSTREAM: <carry>: do not require license in OCP files (follow-up)",
"is_bot": true,
"headline": "Merge pull request #298 from dobsonj/OCPBUGS-69918",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-01-06T15:01:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b7b9b24dcf07872f6fc9dba0155458796d4ff81",
"body": null,
"is_bot": false,
"headline": "UPSTREAM: <carry>: do not require license in OCP files (follow-up)",
"author_name": "Jonathan Dobson",
"author_login": "dobsonj",
"committed_at": "2026-01-05T23:03:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "452e23ea548d53c655c2af6f51eb3e375534de70",
"body": null,
"is_bot": false,
"headline": "Update nodeDriverRegistrar livenessProbe",
"author_name": "Rafael Mendez",
"author_login": "mdzraf",
"committed_at": "2026-01-05T20:37:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9fd3876d49f96d678cf4759597f38e370059e6f0",
"body": "OCPBUGS-69918: UPSTREAM: <carry>: do not require license in OCP files",
"is_bot": true,
"headline": "Merge pull request #297 from jsafrane/skip-ocp-files",
"author_name": "openshift-merge-bot[bot]",
"author_login": "openshift-merge-bot[bot]",
"committed_at": "2026-01-05T18:34:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "64998f7e88ad8695e01f2c349407154a43754653",
"body": "Fix `make verify` not to require license header in OCP .ci-operator.yaml\n\nART scripts removes the license with every go update.",
"is_bot": false,
"headline": "UPSTREAM: <carry>: do not require license in OCP files",
"author_name": "Jan Safranek",
"author_login": "jsafrane",
"committed_at": "2026-01-05T12:06:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce51527d93a94ddb7720232dbb9bcfdb42e16e2b",
"body": "… be consistent with ART for 4.22\n\nReconciling with https://github.com/openshift/ocp-build-data/tree/087d1930e36b609f77d73bd8a313d85c940cff4d/images/ose-aws-ebs-csi-driver.yml",
"is_bot": false,
"headline": "UPSTREAM: <carry>: Updating ose-aws-ebs-csi-driver-container image to…",
"author_name": "AOS Automation Release Team",
"author_login": null,
"committed_at": "2025-12-19T09:48:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34809358a819d8aaf61d0172911dcf60c45d503d",
"body": "…2815-to-master\n\n[master] Fix VAC fallback on 1.33 and before",
"is_bot": false,
"headline": "Merge pull request #2816 from k8s-infra-cherrypick-robot/cherry-pick-…",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-16T17:02:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c89af6b41c7b99824cc66c34dd275639df263fe",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Fix VAC fallback on 1.33 and before",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2025-12-16T16:20:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d01b3217839c110478f30a92fa4a3dbca9dbbf8e",
"body": "…2810-to-master\n\n[master] Release v1.54.0",
"is_bot": false,
"headline": "Merge pull request #2811 from k8s-infra-cherrypick-robot/cherry-pick-…",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-16T15:54:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b74a3eec8846d90b2928023ec66edc2e5311c761",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Release v1.54.0",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2025-12-15T20:40:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b4743722b806896c5871898550390fab058406f",
"body": "Dependency bump for v1.53.0",
"is_bot": false,
"headline": "Merge pull request #2809 from ConnorJC3/depbump1225",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-15T19:27:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91a819a04e5e700fbb196888198663328bf6b581",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Dependency bump for v1.53.0",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2025-12-15T19:11:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58ceb25be57a3bac5edd16583a0df7e8dcb65669",
"body": "Enable VAC v1beta1 fallback for K8s 1.31-1.33",
"is_bot": false,
"headline": "Merge pull request #2806 from torredil/master",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-12T16:49:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2220a08880a8c4507c3a389ef31f3f1b35a08f88",
"body": "Signed-off-by: Eddie Torres <torredil@amazon.com>",
"is_bot": false,
"headline": "Enable VAC v1beta1 fallback for K8s 1.31-1.33",
"author_name": "Eddie Torres",
"author_login": "torredil",
"committed_at": "2025-12-12T16:04:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33be568c96afd3729698531f6a0d3fe9f5b58868",
"body": "Adjust error codes",
"is_bot": false,
"headline": "Merge pull request #2803 from ElijahQuinones/returnCode",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-09T18:21:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e854748fc5c627eb72ca698aaffae4e4d72a6bac",
"body": "Increase log level of middleware api errors",
"is_bot": false,
"headline": "Merge pull request #2804 from ElijahQuinones/loglevel",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-05T11:24:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2568b5eea5c79d900a90b4e61bfbfc5c3b5fbcf7",
"body": null,
"is_bot": false,
"headline": "Increase log level of middleware api errors",
"author_name": "Elijah Quinones",
"author_login": "ElijahQuinones",
"committed_at": "2025-12-04T19:33:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a37ff26f96bb5b20afaeddefe951112dae3a0eb5",
"body": null,
"is_bot": false,
"headline": "Adjust error codes",
"author_name": "Elijah Quinones",
"author_login": "ElijahQuinones",
"committed_at": "2025-12-04T18:47:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2b572ed7ad45a9e511b54c2f92984308f9617ae",
"body": "Fix a1 e2e tests",
"is_bot": false,
"headline": "Merge pull request #2801 from ElijahQuinones/a1",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-03T14:38:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80b248ec76875ab9769850a433bcacb293ea0fe9",
"body": null,
"is_bot": false,
"headline": "Fix a1 e2e tests",
"author_name": "Elijah Quinones",
"author_login": "ElijahQuinones",
"committed_at": "2025-12-02T19:57:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "18aa7b714c3d1521a657e076344f95e22677704c",
"body": "Pre-create report dir in config.sh",
"is_bot": false,
"headline": "Merge pull request #2800 from ConnorJC3/fix-report-dir",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-02T15:34:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c52f5c3223378c16328113963a00747e2e2f5b2f",
"body": "Fix metadata labeler test flakes",
"is_bot": false,
"headline": "Merge pull request #2795 from torredil/84712nkwkq",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-12-01T19:20:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7c34253d105981c7aba8f73d3f25ad438ed6c50",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Pre-create report dir in config.sh",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2025-12-01T14:32:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f67c44960f12aaf0739fe2c14b9a364c83b525eb",
"body": "Signed-off-by: Eddie Torres <torredil@amazon.com>",
"is_bot": false,
"headline": "Fix metadata labeler test flakes",
"author_name": "Eddie Torres",
"author_login": "torredil",
"committed_at": "2025-11-26T14:51:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79e8b1dd07a8d2d0e800a772338dd8111e5b5672",
"body": "Added Verification Of Expected Parameters for e2e tests",
"is_bot": false,
"headline": "Merge pull request #2780 from mdzraf/e2eValidateParams",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-21T19:56:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33182e3e9a55c2c8fe806378bbeb240709723232",
"body": null,
"is_bot": false,
"headline": "Added Verification Of Expected Parameters for e2e tests",
"author_name": "Rafael Mendez",
"author_login": "mdzraf",
"committed_at": "2025-11-19T18:26:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87f31ef521f660aee6d12a9d4d8612de59ff0b69",
"body": "Revise docs and example to account for managed policy change",
"is_bot": false,
"headline": "Merge pull request #2793 from ElijahQuinones/mangedPolicyClones",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-17T18:43:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdb921d83d0942e9a534a520221990e321989fc4",
"body": "…2791-to-master\n\n[master] Release v1.53.0",
"is_bot": false,
"headline": "Merge pull request #2792 from k8s-infra-cherrypick-robot/cherry-pick-…",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-17T18:21:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e2373ca922883cacdfb916da2bd90464622e107",
"body": null,
"is_bot": false,
"headline": "Revise docs and example to account for managed policy change",
"author_name": "Elijah Quinones",
"author_login": "ElijahQuinones",
"committed_at": "2025-11-17T17:46:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46064ea3e7cf79011a69d109bdb15fd641848302",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Release v1.53.0",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2025-11-17T17:32:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7dae31c242c5448925dac06b902efa70334bd228",
"body": "Bump dependencies for release v1.53.0",
"is_bot": false,
"headline": "Merge pull request #2790 from ConnorJC3/dep-bump-1125",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-17T15:39:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c91bf7d936dfb0328c1e86b260ac94065ecfbe1",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Bump dependencies for release v1.53.0",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2025-11-17T13:51:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68213ec99058bacf86780ebc68ecc983e0c49fcc",
"body": "Add support for custom build-time plugins",
"is_bot": false,
"headline": "Merge pull request #2786 from ConnorJC3/custom-plugins",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-14T21:33:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "deed127f066c17bcdf0b4cd25c7baf117c30dbcf",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Add support for custom build-time plugins",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2025-11-14T20:43:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a193652a686332d053d6cc9b4e0f9fbe2feea50b",
"body": "Fix Max IOPS Extraction From Error Bug",
"is_bot": false,
"headline": "Merge pull request #2781 from mdzraf/fixIopsLimitRet",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-14T20:23:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "937c52eb07dfee3f18ef3cf6efe224875515a540",
"body": "Adding Missed Changelog Entry",
"is_bot": false,
"headline": "Merge pull request #2788 from mdzraf/fixHelmChart",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-14T17:39:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "274826de0fde618171de940ddac83262ed6983e1",
"body": null,
"is_bot": false,
"headline": "Adding Missed Changelog Entry",
"author_name": "Rafael Mendez",
"author_login": "mdzraf",
"committed_at": "2025-11-14T17:27:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "344026833098e9ed080b24387c71614c312ec5dd",
"body": null,
"is_bot": false,
"headline": "Fix Max IOPS Extraction From Error Bug",
"author_name": "Rafael Mendez",
"author_login": "mdzraf",
"committed_at": "2025-11-12T14:03:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7b4b76cc63b8d7a8e3b5ba9047085e178d556da",
"body": "Remove reference to snapshots in clones e2e testsuite",
"is_bot": false,
"headline": "Merge pull request #2785 from ElijahQuinones/cloneComment",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-11T21:32:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c38c781b2ebd5729ab9a17d9ef15dbcd0ab9f9fc",
"body": null,
"is_bot": false,
"headline": "Remove reference to snapshots in clones e2e testsuite",
"author_name": "Elijah Quinones",
"author_login": "ElijahQuinones",
"committed_at": "2025-11-11T20:40:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2170d29aee16e09e51b90238119bb60d0c8c827f",
"body": "cmd: handle `--version` before metadata initialization",
"is_bot": false,
"headline": "Merge pull request #2776 from debasishbsws/fix-only-version-flag",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-11T15:20:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0dfbcc0f4e4ade5ee8ae1035faea52297feb6998",
"body": "Support Node-Local Shared Cache Volume Access",
"is_bot": false,
"headline": "Merge pull request #2726 from torredil/local-cache-74123",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-10T21:18:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "210c8cd9865ece96fb4733b8e85f3e9d35487c38",
"body": "Add `dnsConfig` parameter for node plugin",
"is_bot": false,
"headline": "Merge pull request #2778 from torredil/hc-dns-84123",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-10T19:34:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ae88c3744ac8b7cf03be94270bb73ff631ce07e",
"body": "Improve Prom ServiceMonitor CRD detection",
"is_bot": false,
"headline": "Merge pull request #2779 from torredil/prom-crds-85123",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-10T15:42:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4cb014dd8775c0b96beccd7a2b3e4b08cab9761",
"body": "…cies-6243090a87\n\nBump the \"all-dependencies\" group with 2 updates across multiple ecosystems",
"is_bot": false,
"headline": "Merge pull request #2773 from kubernetes-sigs/dependabot/all_dependen…",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-07T14:58:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57324a99b3a69cd576f004c05ddbda8d5e70638f",
"body": "Signed-off-by: Eddie Torres <torredil@amazon.com>",
"is_bot": false,
"headline": "Improve Prom ServiceMonitor CRD detection",
"author_name": "Eddie Torres",
"author_login": "torredil",
"committed_at": "2025-11-07T14:53:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9163ab01f879add200aa890e68b078b50796de8a",
"body": "Signed-off-by: Eddie Torres <torredil@amazon.com>",
"is_bot": false,
"headline": "Add dnsConfig support for node pods",
"author_name": "Eddie Torres",
"author_login": "torredil",
"committed_at": "2025-11-07T14:35:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b77d44af581c15a97e5c74f3b05e292a99c19f86",
"body": "Print the version and exit before any cloud or metadata setup so that\ninvoking '--version' doesn't attempt IMDS or in-cluster Kubernetes API\ncalls. Previously those initialization attempts could time out or fail\nin CI, local, or isolated build environments and cause '--version' to\nreturn a non-zero status.\n\nNormal startup behavior is unchanged when '--version' is not used.\n\nSigned-off-by: Debasish Biswas <debasishbsws.dev@gmail.com>",
"is_bot": false,
"headline": "cmd: handle --version before metadata initialization",
"author_name": "Debasish Biswas",
"author_login": "debasishbsws",
"committed_at": "2025-11-07T08:44:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8a0e8b77b020dc31b038e7aedd9f7996f8769b0",
"body": "Fix patch releases in generate-release-pr script",
"is_bot": false,
"headline": "Merge pull request #2775 from ConnorJC3/fix-patch-release-script",
"author_name": "Kubernetes Prow Robot",
"author_login": "k8s-ci-robot",
"committed_at": "2025-11-06T14:02:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46c85e63c3b25e226689f4594be3b83411db0ca0",
"body": "Signed-off-by: Connor Catlett <conncatl@amazon.com>",
"is_bot": false,
"headline": "Fix patch releases in generate-release-pr script",
"author_name": "Connor Catlett",
"author_login": "ConnorJC3",
"committed_at": "2025-11-06T11:41:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9dbc932afdd1ef70b886e2df6993866159b59851",
"body": "Bumps the all-dependencies group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [github/codeql-action](https://github.com/github/codeql-action).\n\n\nUpdates `actions/upload-artifact` from 4 to 5\n- [Release notes](https://github.com/actions/upload-artifact/rel\n[…]\nependency-version: 1.261.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: all-dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump the all-dependencies group with 2 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-11-03T22:45:36Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 5,
"commits_last_year": 284,
"latest_release_at": "2019-01-31T04:42:17Z",
"latest_release_tag": "v0.2.0",
"releases_from_tags": true,
"days_since_last_push": 19,
"active_weeks_last_year": 34,
"days_since_latest_release": 2733,
"mean_days_between_releases": 19.2
},
"community": {
"has_readme": false,
"has_license": false,
"has_description": false,
"has_contributing": false,
"health_percentage": null,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "github.com/kubernetes-sigs/aws-ebs-csi-driver",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": false,
"registry_url": "https://pkg.go.dev/github.com/kubernetes-sigs/aws-ebs-csi-driver",
"is_deprecated": false,
"latest_version": "v1.63.0",
"repository_url": "https://github.com/kubernetes-sigs/aws-ebs-csi-driver",
"versions_count": 137,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-21T16:39:45Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
}
]
},
"popularity": {
"forks": 28,
"stars": 3,
"watchers": 10,
"fork_history": {
"days": [
{
"date": "2020-04-15",
"count": 1
},
{
"date": "2020-08-24",
"count": 1
},
{
"date": "2020-09-30",
"count": 1
},
{
"date": "2020-11-18",
"count": 2
},
{
"date": "2020-11-30",
"count": 1
},
{
"date": "2021-02-06",
"count": 3
},
{
"date": "2021-06-14",
"count": 1
},
{
"date": "2022-02-03",
"count": 1
},
{
"date": "2022-02-07",
"count": 1
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2023-07-26",
"count": 1
},
{
"date": "2024-01-16",
"count": 1
},
{
"date": "2024-07-04",
"count": 1
},
{
"date": "2024-09-05",
"count": 1
},
{
"date": "2024-09-20",
"count": 1
},
{
"date": "2024-12-17",
"count": 1
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-03-20",
"count": 1
},
{
"date": "2025-04-04",
"count": 1
},
{
"date": "2025-06-25",
"count": 1
},
{
"date": "2026-03-11",
"count": 1
},
{
"date": "2026-03-30",
"count": 1
},
{
"date": "2026-04-30",
"count": 1
},
{
"date": "2026-05-06",
"count": 1
},
{
"date": "2026-05-15",
"count": 1
}
],
"complete": true,
"collected": 28,
"total_forks": 28
},
"star_history": null,
"open_issues_and_prs": 2
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile",
"vendor/github.com/aws/smithy-go/Makefile",
"vendor/github.com/emicklei/go-restful/v3/Makefile",
"vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml",
"vendor/github.com/gogo/protobuf/proto/Makefile",
"vendor/github.com/munnerz/goautoneg/Makefile",
"vendor/github.com/onsi/ginkgo/v2/Makefile",
"vendor/github.com/pkg/errors/Makefile",
"vendor/github.com/prometheus/procfs/Makefile",
"vendor/github.com/spf13/cobra/Makefile",
"vendor/go.opentelemetry.io/otel/Makefile",
"vendor/go.uber.org/automaxprocs/Makefile",
"vendor/go.uber.org/multierr/Makefile",
"vendor/go.uber.org/zap/Makefile",
"vendor/google.golang.org/grpc/Makefile",
"vendor/sigs.k8s.io/json/Makefile"
],
"api_schema_files": [
"vendor/github.com/google/gnostic-models/extensions/extension.proto",
"vendor/github.com/google/gnostic-models/openapiv2/OpenAPIv2.proto",
"vendor/github.com/google/gnostic-models/openapiv3/OpenAPIv3.proto",
"vendor/github.com/google/gnostic-models/openapiv3/annotations.proto",
"vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1/api.proto",
"vendor/github.com/kubernetes-csi/csi-proxy/client/api/filesystem/v1/api.proto",
"vendor/github.com/kubernetes-csi/csi-proxy/client/api/volume/v1/api.proto",
"vendor/k8s.io/api/admissionregistration/v1/generated.proto",
"vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto",
"vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto",
"vendor/k8s.io/api/apidiscovery/v2/generated.proto",
"vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto",
"vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto",
"vendor/k8s.io/api/apps/v1/generated.proto",
"vendor/k8s.io/api/apps/v1beta1/generated.proto",
"vendor/k8s.io/api/apps/v1beta2/generated.proto",
"vendor/k8s.io/api/authentication/v1/generated.proto",
"vendor/k8s.io/api/authentication/v1alpha1/generated.proto",
"vendor/k8s.io/api/authentication/v1beta1/generated.proto",
"vendor/k8s.io/api/authorization/v1/generated.proto",
"vendor/k8s.io/api/authorization/v1beta1/generated.proto",
"vendor/k8s.io/api/autoscaling/v1/generated.proto",
"vendor/k8s.io/api/autoscaling/v2/generated.proto",
"vendor/k8s.io/api/autoscaling/v2beta1/generated.proto",
"vendor/k8s.io/api/autoscaling/v2beta2/generated.proto",
"vendor/k8s.io/api/batch/v1/generated.proto",
"vendor/k8s.io/api/batch/v1beta1/generated.proto",
"vendor/k8s.io/api/certificates/v1/generated.proto",
"vendor/k8s.io/api/certificates/v1alpha1/generated.proto",
"vendor/k8s.io/api/certificates/v1beta1/generated.proto",
"vendor/k8s.io/api/coordination/v1/generated.proto",
"vendor/k8s.io/api/coordination/v1alpha2/generated.proto",
"vendor/k8s.io/api/coordination/v1beta1/generated.proto",
"vendor/k8s.io/api/core/v1/generated.proto",
"vendor/k8s.io/api/discovery/v1/generated.proto",
"vendor/k8s.io/api/discovery/v1beta1/generated.proto",
"vendor/k8s.io/api/events/v1/generated.proto",
"vendor/k8s.io/api/events/v1beta1/generated.proto",
"vendor/k8s.io/api/extensions/v1beta1/generated.proto",
"vendor/k8s.io/api/flowcontrol/v1/generated.proto",
"vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto",
"vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto",
"vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto",
"vendor/k8s.io/api/imagepolicy/v1alpha1/generated.proto",
"vendor/k8s.io/api/networking/v1/generated.proto",
"vendor/k8s.io/api/networking/v1alpha1/generated.proto",
"vendor/k8s.io/api/networking/v1beta1/generated.proto",
"vendor/k8s.io/api/node/v1/generated.proto",
"vendor/k8s.io/api/node/v1alpha1/generated.proto",
"vendor/k8s.io/api/node/v1beta1/generated.proto",
"vendor/k8s.io/api/policy/v1/generated.proto",
"vendor/k8s.io/api/policy/v1beta1/generated.proto",
"vendor/k8s.io/api/rbac/v1/generated.proto",
"vendor/k8s.io/api/rbac/v1alpha1/generated.proto",
"vendor/k8s.io/api/rbac/v1beta1/generated.proto",
"vendor/k8s.io/api/resource/v1alpha3/generated.proto",
"vendor/k8s.io/api/resource/v1beta1/generated.proto",
"vendor/k8s.io/api/resource/v1beta2/generated.proto",
"vendor/k8s.io/api/scheduling/v1/generated.proto",
"vendor/k8s.io/api/scheduling/v1alpha1/generated.proto",
"vendor/k8s.io/api/scheduling/v1beta1/generated.proto",
"vendor/k8s.io/api/storage/v1/generated.proto",
"vendor/k8s.io/api/storage/v1alpha1/generated.proto",
"vendor/k8s.io/api/storage/v1beta1/generated.proto",
"vendor/k8s.io/api/storagemigration/v1alpha1/generated.proto",
"vendor/k8s.io/apimachinery/pkg/api/resource/generated.proto",
"vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto",
"vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/generated.proto",
"vendor/k8s.io/apimachinery/pkg/runtime/generated.proto",
"vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto",
"vendor/k8s.io/apimachinery/pkg/util/intstr/generated.proto"
],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod",
"hack/cluster-debugging-scripts/go.mod",
"tests/e2e/go.mod"
],
"largest_source_bytes": 143262,
"source_files_sampled": 109,
"oversized_source_files": 4,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "google.golang.org/grpc",
"direct": true,
"version": "v1.80.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-hrxh-6v49-42gf"
],
"fixed_version": "1.82.1",
"advisory_count": 1,
"oldest_advisory_days": 5
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.47.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 10,
"advisory_ids": [
"GHSA-45gg-vh54-h5m9",
"GHSA-5cgq-3rg8-m6cv",
"GHSA-78mq-xcr3-xm33",
"GHSA-89gr-r52h-f8rx",
"GHSA-9m57-25v3-79x9",
"GHSA-f5wc-c3c7-36mc",
"GHSA-jppx-rxg9-jmrx",
"GHSA-q4h4-gmj2-qvw2",
"GHSA-qpw4-5x99-6vjp",
"GHSA-rm3j-f69w-wqmq"
],
"fixed_version": "0.52.0",
"advisory_count": 27,
"oldest_advisory_days": 65
},
{
"name": "go.opentelemetry.io/otel",
"direct": true,
"version": "v1.39.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-mh2q-q3fh-2475",
"GO-2026-5506"
],
"fixed_version": "1.41.0",
"advisory_count": 2,
"oldest_advisory_days": 110
},
{
"name": "go.opentelemetry.io/otel/sdk",
"direct": true,
"version": "v1.39.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7,
"advisory_ids": [
"GHSA-9h8m-3fm2-qjrq",
"GHSA-hfvc-g4fc-pqhx",
"GO-2026-4394",
"GO-2026-5426"
],
"fixed_version": "1.43.0",
"advisory_count": 4,
"oldest_advisory_days": 174
},
{
"name": "github.com/moby/spdystream",
"direct": false,
"version": "v0.5.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-pc3f-x583-g7j2",
"GO-2026-4958"
],
"fixed_version": "0.5.1",
"advisory_count": 2,
"oldest_advisory_days": 101
},
{
"name": "github.com/opencontainers/selinux",
"direct": false,
"version": "v1.12.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GHSA-cgrx-mc8f-2prm",
"GO-2025-4098"
],
"fixed_version": "1.13.0",
"advisory_count": 2,
"oldest_advisory_days": 263
},
{
"name": "github.com/google/cel-go",
"direct": false,
"version": "v0.26.0",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-gcjh-h69q-9w9g"
],
"fixed_version": "0.29.0",
"advisory_count": 1,
"oldest_advisory_days": 2
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.49.0",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 6.5,
"advisory_ids": [
"GHSA-5cv4-jp36-h3mw",
"GO-2026-4918",
"GO-2026-5025",
"GO-2026-5026",
"GO-2026-5027",
"GO-2026-5028",
"GO-2026-5029",
"GO-2026-5030",
"GO-2026-5942"
],
"fixed_version": "1.26.3",
"advisory_count": 9,
"oldest_advisory_days": 80
},
{
"name": "k8s.io/kubernetes",
"direct": false,
"version": "v1.33.4",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.8,
"advisory_ids": [
"GHSA-r6j8-c6r2-37rr",
"GO-2025-3521",
"GO-2025-3547",
"GO-2025-4240"
],
"fixed_version": "1.34.2",
"advisory_count": 4,
"oldest_advisory_days": 488
},
{
"name": "golang.org/x/sys",
"direct": true,
"version": "v0.40.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5024"
],
"fixed_version": "0.44.0",
"advisory_count": 1,
"oldest_advisory_days": 65
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.33.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 12
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 4,
"unknown": 2,
"critical": 2,
"moderate": 3
},
"advisory_count": 54,
"affected_count": 11,
"assessed_count": 147,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 4
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/aws/aws-sdk-go-v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.38.0"
},
{
"name": "github.com/aws/aws-sdk-go-v2/config",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.31.0"
},
{
"name": "github.com/aws/aws-sdk-go-v2/feature/ec2/imds",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.18.3"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/ec2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.244.0"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sagemaker",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.209.0"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sts",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.37.0"
},
{
"name": "github.com/aws/smithy-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.22.5"
},
{
"name": "github.com/awslabs/volume-modifier-for-k8s",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "github.com/container-storage-interface/spec",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.0"
},
{
"name": "github.com/golang/mock",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/google/go-cmp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "github.com/kubernetes-csi/csi-proxy/client",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.1"
},
{
"name": "github.com/kubernetes-csi/csi-proxy/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.0.0-alpha.1"
},
{
"name": "github.com/kubernetes-csi/csi-test/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.3.1"
},
{
"name": "github.com/prometheus/client_golang",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.23.0"
},
{
"name": "github.com/prometheus/common",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.65.0"
},
{
"name": "github.com/spf13/pflag",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.7"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.62.0"
},
{
"name": "go.opentelemetry.io/otel",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.39.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.37.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.37.0"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.39.0"
},
{
"name": "golang.org/x/sys",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.40.0"
},
{
"name": "google.golang.org/grpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.80.0"
},
{
"name": "google.golang.org/protobuf",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.36.11"
},
{
"name": "k8s.io/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.33.4"
},
{
"name": "k8s.io/apimachinery",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.33.4"
},
{
"name": "k8s.io/client-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.33.4"
},
{
"name": "k8s.io/component-base",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.33.4"
},
{
"name": "k8s.io/klog/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.130.1"
},
{
"name": "k8s.io/mount-utils",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.33.4"
},
{
"name": "k8s.io/utils",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20250604170112-4c0f3b243397"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/aws/aws-sdk-go-v2",
"direct": true,
"version": "v1.38.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/config",
"direct": true,
"version": "v1.31.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/feature/ec2/imds",
"direct": true,
"version": "v1.18.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/ec2",
"direct": true,
"version": "v1.244.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sagemaker",
"direct": true,
"version": "v1.209.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sts",
"direct": true,
"version": "v1.37.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/smithy-go",
"direct": true,
"version": "v1.22.5",
"ecosystem": "go"
},
{
"name": "github.com/awslabs/volume-modifier-for-k8s",
"direct": true,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/container-storage-interface/spec",
"direct": true,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "github.com/golang/mock",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/google/go-cmp",
"direct": true,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/kubernetes-csi/csi-proxy/client",
"direct": true,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "github.com/kubernetes-csi/csi-proxy/v2",
"direct": true,
"version": "v2.0.0-alpha.1",
"ecosystem": "go"
},
{
"name": "github.com/kubernetes-csi/csi-test/v5",
"direct": true,
"version": "v5.3.1",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": true,
"version": "v1.23.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": true,
"version": "v0.65.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": true,
"version": "v1.0.7",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
"direct": true,
"version": "v0.62.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": true,
"version": "v1.39.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
"direct": true,
"version": "v1.37.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
"direct": true,
"version": "v1.37.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"direct": true,
"version": "v1.39.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": true,
"version": "v0.40.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": true,
"version": "v1.80.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": true,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "k8s.io/api",
"direct": true,
"version": "v0.33.4",
"ecosystem": "go"
},
{
"name": "k8s.io/apimachinery",
"direct": true,
"version": "v0.33.4",
"ecosystem": "go"
},
{
"name": "k8s.io/client-go",
"direct": true,
"version": "v0.33.4",
"ecosystem": "go"
},
{
"name": "k8s.io/component-base",
"direct": true,
"version": "v0.33.4",
"ecosystem": "go"
},
{
"name": "k8s.io/klog/v2",
"direct": true,
"version": "v2.130.1",
"ecosystem": "go"
},
{
"name": "k8s.io/mount-utils",
"direct": true,
"version": "v0.33.4",
"ecosystem": "go"
},
{
"name": "k8s.io/utils",
"direct": true,
"version": "v0.0.0-20250604170112-4c0f3b243397",
"ecosystem": "go"
},
{
"name": "cel.dev/expr",
"direct": false,
"version": "v0.25.1",
"ecosystem": "go"
},
{
"name": "github.com/antlr4-go/antlr/v4",
"direct": false,
"version": "v4.13.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/credentials",
"direct": false,
"version": "v1.18.4",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/configsources",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2",
"direct": false,
"version": "v2.7.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/ini",
"direct": false,
"version": "v1.8.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding",
"direct": false,
"version": "v1.13.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url",
"direct": false,
"version": "v1.13.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sso",
"direct": false,
"version": "v1.28.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/ssooidc",
"direct": false,
"version": "v1.33.0",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/blang/semver/v4",
"direct": false,
"version": "v4.0.0",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v5",
"direct": false,
"version": "v5.0.3",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/containerd/api",
"direct": false,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/errdefs/pkg",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/log",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/ttrpc",
"direct": false,
"version": "v1.2.7",
"ecosystem": "go"
},
{
"name": "github.com/containerd/typeurl/v2",
"direct": false,
"version": "v2.2.3",
"ecosystem": "go"
},
{
"name": "github.com/coreos/go-systemd/v22",
"direct": false,
"version": "v22.5.0",
"ecosystem": "go"
},
{
"name": "github.com/cyphar/filepath-securejoin",
"direct": false,
"version": "v0.4.1",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": false,
"version": "v1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/distribution/reference",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/docker/go-units",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/emicklei/go-restful/v3",
"direct": false,
"version": "v3.13.0",
"ecosystem": "go"
},
{
"name": "github.com/euank/go-kmsg-parser",
"direct": false,
"version": "v2.0.0+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/fsnotify/fsnotify",
"direct": false,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "github.com/fxamacker/cbor/v2",
"direct": false,
"version": "v2.9.0",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/stdr",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/zapr",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/jsonpointer",
"direct": false,
"version": "v0.21.2",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/jsonreference",
"direct": false,
"version": "v0.21.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag",
"direct": false,
"version": "v0.23.1",
"ecosystem": "go"
},
{
"name": "github.com/go-task/slim-sprig/v3",
"direct": false,
"version": "v3.0.0",
"ecosystem": "go"
},
{
"name": "github.com/godbus/dbus/v5",
"direct": false,
"version": "v5.1.0",
"ecosystem": "go"
},
{
"name": "github.com/gogo/protobuf",
"direct": false,
"version": "v1.3.2",
"ecosystem": "go"
},
{
"name": "github.com/google/cadvisor",
"direct": false,
"version": "v0.53.0",
"ecosystem": "go"
},
{
"name": "github.com/google/cel-go",
"direct": false,
"version": "v0.26.0",
"ecosystem": "go"
},
{
"name": "github.com/google/gnostic-models",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/pprof",
"direct": false,
"version": "v0.0.0-20250403155104-27863c87afa6",
"ecosystem": "go"
},
{
"name": "github.com/google/pprof",
"direct": false,
"version": "v0.0.0-20250630185457-6e76a2b096b5",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": false,
"version": "v1.5.4-0.20250319132907-e064f32e3674",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway/v2",
"direct": false,
"version": "v2.27.1",
"ecosystem": "go"
},
{
"name": "github.com/inconshreveable/mousetrap",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/jeffashton/win_pdh",
"direct": false,
"version": "v0.0.0-20161109143554-76bb4ee9f0ab",
"ecosystem": "go"
},
{
"name": "github.com/josharian/intern",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/json-iterator/go",
"direct": false,
"version": "v1.1.12",
"ecosystem": "go"
},
{
"name": "github.com/karrick/godirwalk",
"direct": false,
"version": "v1.17.0",
"ecosystem": "go"
},
{
"name": "github.com/kubernetes-csi/external-snapshotter/client/v4",
"direct": false,
"version": "v4.2.0",
"ecosystem": "go"
},
{
"name": "github.com/kylelemons/godebug",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/mailru/easyjson",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "github.com/masterminds/semver/v3",
"direct": false,
"version": "v3.4.0",
"ecosystem": "go"
},
{
"name": "github.com/microsoft/go-winio",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/mistifyio/go-zfs",
"direct": false,
"version": "v2.1.2-0.20190413222219-f784269be439+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/moby/spdystream",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/sys/mountinfo",
"direct": false,
"version": "v0.7.2",
"ecosystem": "go"
},
{
"name": "github.com/moby/sys/userns",
"direct": false,
"version": "v0.1.0",
"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.2",
"ecosystem": "go"
},
{
"name": "github.com/munnerz/goautoneg",
"direct": false,
"version": "v0.0.0-20191010083416-a7dc8b61c822",
"ecosystem": "go"
},
{
"name": "github.com/mxk/go-flowrate",
"direct": false,
"version": "v0.0.0-20140419014527-cca7078d478f",
"ecosystem": "go"
},
{
"name": "github.com/onsi/ginkgo/v2",
"direct": false,
"version": "v2.23.4",
"ecosystem": "go"
},
{
"name": "github.com/onsi/ginkgo/v2",
"direct": false,
"version": "v2.24.0",
"ecosystem": "go"
},
{
"name": "github.com/onsi/gomega",
"direct": false,
"version": "v1.38.0",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/cgroups",
"direct": false,
"version": "v0.0.4",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/go-digest",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/image-spec",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/runtime-spec",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/selinux",
"direct": false,
"version": "v1.12.0",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": false,
"version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "v0.17.0",
"ecosystem": "go"
},
{
"name": "github.com/sirupsen/logrus",
"direct": false,
"version": "v1.9.3",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cobra",
"direct": false,
"version": "v1.9.1",
"ecosystem": "go"
},
{
"name": "github.com/stoewer/go-strcase",
"direct": false,
"version": "v1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/x448/float16",
"direct": false,
"version": "v0.8.4",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"direct": false,
"version": "v0.62.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.39.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": false,
"version": "v1.39.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/proto/otlp",
"direct": false,
"version": "v1.7.1",
"ecosystem": "go"
},
{
"name": "go.uber.org/automaxprocs",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/multierr",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/zap",
"direct": false,
"version": "v1.27.0",
"ecosystem": "go"
},
{
"name": "go.yaml.in/yaml/v2",
"direct": false,
"version": "v2.4.2",
"ecosystem": "go"
},
{
"name": "go.yaml.in/yaml/v3",
"direct": false,
"version": "v3.0.4",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": false,
"version": "v0.0.0-20250408133849-7e4ce0ab07d0",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": false,
"version": "v0.0.0-20250813145105-42675adae3e6",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.49.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/oauth2",
"direct": false,
"version": "v0.34.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": false,
"version": "v0.19.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/term",
"direct": false,
"version": "v0.39.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.33.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": false,
"version": "v0.12.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/tools",
"direct": false,
"version": "v0.40.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": false,
"version": "v0.0.0-20260120221211-b8f7ae30c516",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20260120221211-b8f7ae30c516",
"ecosystem": "go"
},
{
"name": "gopkg.in/evanphx/json-patch.v4",
"direct": false,
"version": "v4.13.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/inf.v0",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v2",
"direct": false,
"version": "v2.4.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": false,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "k8s.io/component-helpers",
"direct": false,
"version": "v0.33.4",
"ecosystem": "go"
},
{
"name": "k8s.io/csi-translation-lib",
"direct": false,
"version": "v0.33.4",
"ecosystem": "go"
},
{
"name": "k8s.io/kubernetes",
"direct": false,
"version": "v1.33.4",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/apiserver-network-proxy/konnectivity-client",
"direct": false,
"version": "v0.33.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/json",
"direct": false,
"version": "v0.0.0-20250730193827-2d320260d730",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/randfill",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/structured-merge-diff/v4",
"direct": false,
"version": "v4.7.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/yaml",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
}
],
"collected": true,
"truncated": false,
"total_count": 147,
"direct_count": 33,
"indirect_count": 114
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 133,
"open_issues": 1,
"closed_ratio": 0.994,
"closed_issues": 155,
"closed_unmerged_prs": 36
},
"bus_factor": 2,
"bot_contributors": 3,
"top_contributors": [
{
"type": "User",
"login": "k8s-ci-robot",
"commits": 1205,
"avatar_url": "https://avatars.githubusercontent.com/u/20407524?v=4"
},
{
"type": "User",
"login": "ConnorJC3",
"commits": 287,
"avatar_url": "https://avatars.githubusercontent.com/u/6501170?v=4"
},
{
"type": "User",
"login": "torredil",
"commits": 228,
"avatar_url": "https://avatars.githubusercontent.com/u/99845161?v=4"
},
{
"type": "User",
"login": "AndrewSirenko",
"commits": 189,
"avatar_url": "https://avatars.githubusercontent.com/u/68304519?v=4"
},
{
"type": "User",
"login": "jsafrane",
"commits": 76,
"avatar_url": "https://avatars.githubusercontent.com/u/1745006?v=4"
},
{
"type": "User",
"login": "bertinatto",
"commits": 65,
"avatar_url": "https://avatars.githubusercontent.com/u/1286651?v=4"
},
{
"type": "User",
"login": "ElijahQuinones",
"commits": 55,
"avatar_url": "https://avatars.githubusercontent.com/u/118852979?v=4"
},
{
"type": "User",
"login": "openshift-merge-robot",
"commits": 52,
"avatar_url": "https://avatars.githubusercontent.com/u/30189218?v=4"
},
{
"type": "User",
"login": "mdzraf",
"commits": 44,
"avatar_url": "https://avatars.githubusercontent.com/u/136753067?v=4"
},
{
"type": "User",
"login": "AndyXiangLi",
"commits": 41,
"avatar_url": "https://avatars.githubusercontent.com/u/18092006?v=4"
}
],
"contributors_sampled": 97,
"top_contributor_share": 0.456
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"helm-chart-release.yaml",
"trivy-containers.yaml",
"trivy.yaml"
],
"has_docs_dir": true,
"linter_configs": [
".golangci.yaml",
".golangci.yml"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 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": 10,
"reason": "7 out of 7 merged PRs checked by a CI test -- score normalized to 10",
"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": 3,
"reason": "Found 7/20 approved changesets -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 18 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 5,
"reason": "7 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"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": 4,
"reason": "dependency not pinned by hash detected -- score normalized to 4",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"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": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "34 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "8b8c4cef02ec9b670e2709f2aacc0ed72420be90",
"ran_at": "2026-07-26T23:05:05Z",
"aggregate_score": 5.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-06-17T19:00:32Z",
"oldest_open_prs": [
{
"number": 329,
"created_at": "2026-07-03T12:20:56Z",
"last_comment_at": "2026-07-03T12:49:36Z",
"last_comment_author": "openshift-ci"
}
],
"last_merged_pr_at": "2026-07-07T21:19:12Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 322,
"created_at": "2026-05-19T09:09:26Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/openshift/aws-ebs-csi-driver",
"host": "github.com",
"name": "aws-ebs-csi-driver",
"owner": "openshift"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"security": 53,
"vitality": 64,
"community": 23,
"governance": 73,
"engineering": 68
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 64,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"commits_last_year": 284,
"human_commit_share": 0.89,
"days_since_last_push": 19,
"active_weeks_last_year": 34
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 19 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 19
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "34/52 weeks with commits",
"points": 23.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 34
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "284 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 284
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "7 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"points": 5,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"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": 48,
"inputs": {
"releases_count": 5,
"latest_release_tag": "v0.2.0",
"releases_from_tags": true,
"days_since_latest_release": 2733,
"mean_days_between_releases": 19.2
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "5 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 5
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 2733 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 2733
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~19.2 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 19.2
}
}
],
"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": 41,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 41 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 41
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "critical",
"name": "Community & Adoption",
"value": 23,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 22,
"inputs": {
"forks": 28,
"stars": 3,
"watchers": 10,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "3 stars",
"points": 4.9,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 3
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "28 forks",
"points": 11.9,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 28
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "10 watchers",
"points": 5.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 10
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": false,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 73,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 97,
"top_contributor_share": 0.456
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 46% of commits",
"points": 12.2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 46
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "97 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 97
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 18 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"merged_prs": 133,
"open_issues": 1,
"closed_issues": 155,
"issue_closed_ratio": 0.994,
"closed_unmerged_prs": 36
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "99% of issues closed",
"points": 46.5,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 99
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "133/169 decided PRs merged",
"points": 30.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 133,
"decided": 169
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 7/20 approved changesets -- score normalized to 3",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"followers": 2237,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "openshift",
"public_repos": 844,
"account_age_days": 5549
},
"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": "2,237 followers of openshift",
"points": 24.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 2237,
"login": "openshift"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "844 public repos, account ~15 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 844
}
},
{
"code": "account_age_years",
"params": {
"years": 15
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 68,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".golangci.yaml, .golangci.yml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yaml, .golangci.yml"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "7 out of 7 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": false,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": 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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 53,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 54,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"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": "7 out of 7 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"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 7/20 approved changesets -- score normalized to 3",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 18 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "7 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 4",
"points": 2,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"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": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "34 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "at_risk",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 147 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 147
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 48,
"inputs": {
"source": "osv",
"advisories": 54,
"affected_packages": 11,
"assessed_packages": 147,
"unassessed_packages": 0,
"affected_by_severity": "critical 2, high 4, moderate 3, unknown 2",
"direct_affected_packages": 4
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "4 affected: google.golang.org/grpc v1.80.0 (critical 9.1), go.opentelemetry.io/otel v1.39.0 (high 7.5), go.opentelemetry.io/otel/sdk v1.39.0 (high 7.0), +1 more",
"points": 6.6,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 4,
"packages": "google.golang.org/grpc v1.80.0 (critical 9.1), go.opentelemetry.io/otel v1.39.0 (high 7.5), go.opentelemetry.io/otel/sdk v1.39.0 (high 7.0)"
}
},
{
"code": "advisories_affected_more",
"params": {
"count": 1
}
}
],
"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": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 174 days ago",
"points": 29.4,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 2,
"oldest": 174
}
}
],
"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": 147,
"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": 69,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 28,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.517,
"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": "46 of 89 human commits state their intent (structured subject or explanatory body)",
"points": 27.6,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 46,
"sampled": 89
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile",
"vendor/github.com/aws/smithy-go/Makefile",
"vendor/github.com/emicklei/go-restful/v3/Makefile",
"vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml",
"vendor/github.com/gogo/protobuf/proto/Makefile",
"vendor/github.com/munnerz/goautoneg/Makefile",
"vendor/github.com/onsi/ginkgo/v2/Makefile",
"vendor/github.com/pkg/errors/Makefile",
"vendor/github.com/prometheus/procfs/Makefile",
"vendor/github.com/spf13/cobra/Makefile",
"vendor/go.opentelemetry.io/otel/Makefile",
"vendor/go.uber.org/automaxprocs/Makefile",
"vendor/go.uber.org/multierr/Makefile",
"vendor/go.uber.org/zap/Makefile",
"vendor/google.golang.org/grpc/Makefile",
"vendor/sigs.k8s.io/json/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"go.mod",
"hack/cluster-debugging-scripts/go.mod",
"tests/e2e/go.mod"
],
"dependency_bot_commit_share": 0.01
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile, vendor/github.com/aws/smithy-go/Makefile, vendor/github.com/emicklei/go-restful/v3/Makefile, vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml, vendor/github.com/gogo/protobuf/proto/Makefile, vendor/github.com/munnerz/goautoneg/Makefile, vendor/github.com/onsi/ginkgo/v2/Makefile, vendor/github.com/pkg/errors/Makefile, vendor/github.com/prometheus/procfs/Makefile, vendor/github.com/spf13/cobra/Makefile, vendor/go.opentelemetry.io/otel/Makefile, vendor/go.uber.org/automaxprocs/Makefile, vendor/go.uber.org/multierr/Makefile, vendor/go.uber.org/zap/Makefile, vendor/google.golang.org/grpc/Makefile, vendor/sigs.k8s.io/json/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile, vendor/github.com/aws/smithy-go/Makefile, vendor/github.com/emicklei/go-restful/v3/Makefile, vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml, vendor/github.com/gogo/protobuf/proto/Makefile, vendor/github.com/munnerz/goautoneg/Makefile, vendor/github.com/onsi/ginkgo/v2/Makefile, vendor/github.com/pkg/errors/Makefile, vendor/github.com/prometheus/procfs/Makefile, vendor/github.com/spf13/cobra/Makefile, vendor/go.opentelemetry.io/otel/Makefile, vendor/go.uber.org/automaxprocs/Makefile, vendor/go.uber.org/multierr/Makefile, vendor/go.uber.org/zap/Makefile, vendor/google.golang.org/grpc/Makefile, vendor/sigs.k8s.io/json/Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".golangci.yaml, .golangci.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yaml, .golangci.yml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "1 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 4",
"points": 4,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 143262,
"source_files_sampled": 109,
"oversized_source_files": 4
},
"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": "4/109 source files over 60KB",
"points": 53,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 109,
"oversized": 4
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "good",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": [
"vendor/github.com/google/gnostic-models/extensions/extension.proto",
"vendor/github.com/google/gnostic-models/openapiv2/OpenAPIv2.proto",
"vendor/github.com/google/gnostic-models/openapiv3/OpenAPIv3.proto",
"vendor/github.com/google/gnostic-models/openapiv3/annotations.proto",
"vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1/api.proto",
"vendor/github.com/kubernetes-csi/csi-proxy/client/api/filesystem/v1/api.proto",
"vendor/github.com/kubernetes-csi/csi-proxy/client/api/volume/v1/api.proto",
"vendor/k8s.io/api/admissionregistration/v1/generated.proto",
"vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto",
"vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto",
"vendor/k8s.io/api/apidiscovery/v2/generated.proto",
"vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto",
"vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto",
"vendor/k8s.io/api/apps/v1/generated.proto",
"vendor/k8s.io/api/apps/v1beta1/generated.proto",
"vendor/k8s.io/api/apps/v1beta2/generated.proto",
"vendor/k8s.io/api/authentication/v1/generated.proto",
"vendor/k8s.io/api/authentication/v1alpha1/generated.proto",
"vendor/k8s.io/api/authentication/v1beta1/generated.proto",
"vendor/k8s.io/api/authorization/v1/generated.proto",
"vendor/k8s.io/api/authorization/v1beta1/generated.proto",
"vendor/k8s.io/api/autoscaling/v1/generated.proto",
"vendor/k8s.io/api/autoscaling/v2/generated.proto",
"vendor/k8s.io/api/autoscaling/v2beta1/generated.proto",
"vendor/k8s.io/api/autoscaling/v2beta2/generated.proto",
"vendor/k8s.io/api/batch/v1/generated.proto",
"vendor/k8s.io/api/batch/v1beta1/generated.proto",
"vendor/k8s.io/api/certificates/v1/generated.proto",
"vendor/k8s.io/api/certificates/v1alpha1/generated.proto",
"vendor/k8s.io/api/certificates/v1beta1/generated.proto",
"vendor/k8s.io/api/coordination/v1/generated.proto",
"vendor/k8s.io/api/coordination/v1alpha2/generated.proto",
"vendor/k8s.io/api/coordination/v1beta1/generated.proto",
"vendor/k8s.io/api/core/v1/generated.proto",
"vendor/k8s.io/api/discovery/v1/generated.proto",
"vendor/k8s.io/api/discovery/v1beta1/generated.proto",
"vendor/k8s.io/api/events/v1/generated.proto",
"vendor/k8s.io/api/events/v1beta1/generated.proto",
"vendor/k8s.io/api/extensions/v1beta1/generated.proto",
"vendor/k8s.io/api/flowcontrol/v1/generated.proto",
"vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto",
"vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto",
"vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto",
"vendor/k8s.io/api/imagepolicy/v1alpha1/generated.proto",
"vendor/k8s.io/api/networking/v1/generated.proto",
"vendor/k8s.io/api/networking/v1alpha1/generated.proto",
"vendor/k8s.io/api/networking/v1beta1/generated.proto",
"vendor/k8s.io/api/node/v1/generated.proto",
"vendor/k8s.io/api/node/v1alpha1/generated.proto",
"vendor/k8s.io/api/node/v1beta1/generated.proto",
"vendor/k8s.io/api/policy/v1/generated.proto",
"vendor/k8s.io/api/policy/v1beta1/generated.proto",
"vendor/k8s.io/api/rbac/v1/generated.proto",
"vendor/k8s.io/api/rbac/v1alpha1/generated.proto",
"vendor/k8s.io/api/rbac/v1beta1/generated.proto",
"vendor/k8s.io/api/resource/v1alpha3/generated.proto",
"vendor/k8s.io/api/resource/v1beta1/generated.proto",
"vendor/k8s.io/api/resource/v1beta2/generated.proto",
"vendor/k8s.io/api/scheduling/v1/generated.proto",
"vendor/k8s.io/api/scheduling/v1alpha1/generated.proto",
"vendor/k8s.io/api/scheduling/v1beta1/generated.proto",
"vendor/k8s.io/api/storage/v1/generated.proto",
"vendor/k8s.io/api/storage/v1alpha1/generated.proto",
"vendor/k8s.io/api/storage/v1beta1/generated.proto",
"vendor/k8s.io/api/storagemigration/v1alpha1/generated.proto",
"vendor/k8s.io/apimachinery/pkg/api/resource/generated.proto",
"vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto",
"vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/generated.proto",
"vendor/k8s.io/apimachinery/pkg/runtime/generated.proto",
"vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto",
"vendor/k8s.io/apimachinery/pkg/util/intstr/generated.proto"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "vendor/github.com/google/gnostic-models/extensions/extension.proto, vendor/github.com/google/gnostic-models/openapiv2/OpenAPIv2.proto, vendor/github.com/google/gnostic-models/openapiv3/OpenAPIv3.proto, vendor/github.com/google/gnostic-models/openapiv3/annotations.proto, vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1/api.proto, vendor/github.com/kubernetes-csi/csi-proxy/client/api/filesystem/v1/api.proto, vendor/github.com/kubernetes-csi/csi-proxy/client/api/volume/v1/api.proto, vendor/k8s.io/api/admissionregistration/v1/generated.proto, vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto, vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto, vendor/k8s.io/api/apidiscovery/v2/generated.proto, vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto, vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto, vendor/k8s.io/api/apps/v1/generated.proto, vendor/k8s.io/api/apps/v1beta1/generated.proto, vendor/k8s.io/api/apps/v1beta2/generated.proto, vendor/k8s.io/api/authentication/v1/generated.proto, vendor/k8s.io/api/authentication/v1alpha1/generated.proto, vendor/k8s.io/api/authentication/v1beta1/generated.proto, vendor/k8s.io/api/authorization/v1/generated.proto, vendor/k8s.io/api/authorization/v1beta1/generated.proto, vendor/k8s.io/api/autoscaling/v1/generated.proto, vendor/k8s.io/api/autoscaling/v2/generated.proto, vendor/k8s.io/api/autoscaling/v2beta1/generated.proto, vendor/k8s.io/api/autoscaling/v2beta2/generated.proto, vendor/k8s.io/api/batch/v1/generated.proto, vendor/k8s.io/api/batch/v1beta1/generated.proto, vendor/k8s.io/api/certificates/v1/generated.proto, vendor/k8s.io/api/certificates/v1alpha1/generated.proto, vendor/k8s.io/api/certificates/v1beta1/generated.proto, vendor/k8s.io/api/coordination/v1/generated.proto, vendor/k8s.io/api/coordination/v1alpha2/generated.proto, vendor/k8s.io/api/coordination/v1beta1/generated.proto, vendor/k8s.io/api/core/v1/generated.proto, vendor/k8s.io/api/discovery/v1/generated.proto, vendor/k8s.io/api/discovery/v1beta1/generated.proto, vendor/k8s.io/api/events/v1/generated.proto, vendor/k8s.io/api/events/v1beta1/generated.proto, vendor/k8s.io/api/extensions/v1beta1/generated.proto, vendor/k8s.io/api/flowcontrol/v1/generated.proto, vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto, vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto, vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto, vendor/k8s.io/api/imagepolicy/v1alpha1/generated.proto, vendor/k8s.io/api/networking/v1/generated.proto, vendor/k8s.io/api/networking/v1alpha1/generated.proto, vendor/k8s.io/api/networking/v1beta1/generated.proto, vendor/k8s.io/api/node/v1/generated.proto, vendor/k8s.io/api/node/v1alpha1/generated.proto, vendor/k8s.io/api/node/v1beta1/generated.proto, vendor/k8s.io/api/policy/v1/generated.proto, vendor/k8s.io/api/policy/v1beta1/generated.proto, vendor/k8s.io/api/rbac/v1/generated.proto, vendor/k8s.io/api/rbac/v1alpha1/generated.proto, vendor/k8s.io/api/rbac/v1beta1/generated.proto, vendor/k8s.io/api/resource/v1alpha3/generated.proto, vendor/k8s.io/api/resource/v1beta1/generated.proto, vendor/k8s.io/api/resource/v1beta2/generated.proto, vendor/k8s.io/api/scheduling/v1/generated.proto, vendor/k8s.io/api/scheduling/v1alpha1/generated.proto, vendor/k8s.io/api/scheduling/v1beta1/generated.proto, vendor/k8s.io/api/storage/v1/generated.proto, vendor/k8s.io/api/storage/v1alpha1/generated.proto, vendor/k8s.io/api/storage/v1beta1/generated.proto, vendor/k8s.io/api/storagemigration/v1alpha1/generated.proto, vendor/k8s.io/apimachinery/pkg/api/resource/generated.proto, vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto, vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/generated.proto, vendor/k8s.io/apimachinery/pkg/runtime/generated.proto, vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto, vendor/k8s.io/apimachinery/pkg/util/intstr/generated.proto",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "vendor/github.com/google/gnostic-models/extensions/extension.proto, vendor/github.com/google/gnostic-models/openapiv2/OpenAPIv2.proto, vendor/github.com/google/gnostic-models/openapiv3/OpenAPIv3.proto, vendor/github.com/google/gnostic-models/openapiv3/annotations.proto, vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1/api.proto, vendor/github.com/kubernetes-csi/csi-proxy/client/api/filesystem/v1/api.proto, vendor/github.com/kubernetes-csi/csi-proxy/client/api/volume/v1/api.proto, vendor/k8s.io/api/admissionregistration/v1/generated.proto, vendor/k8s.io/api/admissionregistration/v1alpha1/generated.proto, vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto, vendor/k8s.io/api/apidiscovery/v2/generated.proto, vendor/k8s.io/api/apidiscovery/v2beta1/generated.proto, vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto, vendor/k8s.io/api/apps/v1/generated.proto, vendor/k8s.io/api/apps/v1beta1/generated.proto, vendor/k8s.io/api/apps/v1beta2/generated.proto, vendor/k8s.io/api/authentication/v1/generated.proto, vendor/k8s.io/api/authentication/v1alpha1/generated.proto, vendor/k8s.io/api/authentication/v1beta1/generated.proto, vendor/k8s.io/api/authorization/v1/generated.proto, vendor/k8s.io/api/authorization/v1beta1/generated.proto, vendor/k8s.io/api/autoscaling/v1/generated.proto, vendor/k8s.io/api/autoscaling/v2/generated.proto, vendor/k8s.io/api/autoscaling/v2beta1/generated.proto, vendor/k8s.io/api/autoscaling/v2beta2/generated.proto, vendor/k8s.io/api/batch/v1/generated.proto, vendor/k8s.io/api/batch/v1beta1/generated.proto, vendor/k8s.io/api/certificates/v1/generated.proto, vendor/k8s.io/api/certificates/v1alpha1/generated.proto, vendor/k8s.io/api/certificates/v1beta1/generated.proto, vendor/k8s.io/api/coordination/v1/generated.proto, vendor/k8s.io/api/coordination/v1alpha2/generated.proto, vendor/k8s.io/api/coordination/v1beta1/generated.proto, vendor/k8s.io/api/core/v1/generated.proto, vendor/k8s.io/api/discovery/v1/generated.proto, vendor/k8s.io/api/discovery/v1beta1/generated.proto, vendor/k8s.io/api/events/v1/generated.proto, vendor/k8s.io/api/events/v1beta1/generated.proto, vendor/k8s.io/api/extensions/v1beta1/generated.proto, vendor/k8s.io/api/flowcontrol/v1/generated.proto, vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto, vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto, vendor/k8s.io/api/flowcontrol/v1beta3/generated.proto, vendor/k8s.io/api/imagepolicy/v1alpha1/generated.proto, vendor/k8s.io/api/networking/v1/generated.proto, vendor/k8s.io/api/networking/v1alpha1/generated.proto, vendor/k8s.io/api/networking/v1beta1/generated.proto, vendor/k8s.io/api/node/v1/generated.proto, vendor/k8s.io/api/node/v1alpha1/generated.proto, vendor/k8s.io/api/node/v1beta1/generated.proto, vendor/k8s.io/api/policy/v1/generated.proto, vendor/k8s.io/api/policy/v1beta1/generated.proto, vendor/k8s.io/api/rbac/v1/generated.proto, vendor/k8s.io/api/rbac/v1alpha1/generated.proto, vendor/k8s.io/api/rbac/v1beta1/generated.proto, vendor/k8s.io/api/resource/v1alpha3/generated.proto, vendor/k8s.io/api/resource/v1beta1/generated.proto, vendor/k8s.io/api/resource/v1beta2/generated.proto, vendor/k8s.io/api/scheduling/v1/generated.proto, vendor/k8s.io/api/scheduling/v1alpha1/generated.proto, vendor/k8s.io/api/scheduling/v1beta1/generated.proto, vendor/k8s.io/api/storage/v1/generated.proto, vendor/k8s.io/api/storage/v1alpha1/generated.proto, vendor/k8s.io/api/storage/v1beta1/generated.proto, vendor/k8s.io/api/storagemigration/v1alpha1/generated.proto, vendor/k8s.io/apimachinery/pkg/api/resource/generated.proto, vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto, vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/generated.proto, vendor/k8s.io/apimachinery/pkg/runtime/generated.proto, vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto, vendor/k8s.io/apimachinery/pkg/util/intstr/generated.proto"
}
}
],
"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": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Community profile unavailable",
"go package 'github.com/kubernetes-sigs/aws-ebs-csi-driver' points at a different repository (https://github.com/kubernetes-sigs/aws-ebs-csi-driver); excluded from ecosystem scoring"
],
"report_type": "repository",
"generated_at": "2026-07-26T23:05:34.794999Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/openshift/aws-ebs-csi-driver.svg",
"full_name": "openshift/aws-ebs-csi-driver",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}