📋 Prerequisites
📝 Feature Summary
Populate org.opencontainers.image.source annotation in Helm chart artifacts so tools like Renovate can find your release notes
❓ Problem Statement / Motivation
Current kagent and kagent-crds Helm charts published to GHCR (OCI) do not contain the org.opencontainers.image.source field. Renovate (and possibly other tools) rely on this field to find the upstream source repo to look for release notes when creating dependency bump PRs/MRs in end-user repos. Your repo already publishes great release notes (example for v0.9.12). Adding this field makes it easy for end-user automation tools to find them.
Currently all end users have to manually map this in automation tools like Renovate (e.g., with a packageRules map). Fixing this in the upstream Helm chart publishing workflows solves the problem for all end user tools that rely on this field.
💡 Proposed Solution
Setting the org.opencontainers.image.source field value to https://github.com/kagent-dev/kagent should help Renovate and other tools find their way to your source repo to consume release notes.
Add the following two lines to kagent-crds Chart-template.yaml and kagent Chart-template.yaml:
annotations:
"org.opencontainers.image.source": "https://github.com/kagent-dev/kagent"
🔄 Alternatives Considered
Perhaps there is a different location in your chart publishing workflow to inject this field. You know your pipelines better than I do. But the Chart-template.yaml is a valid location.
🎯 Affected Service(s)
Multiple services / System-wide
📚 Additional Context
You can see this for yourself using a simple docker call like this: docker manifest inspect ghcr.io/kagent-dev/kagent/helm/kagent-crds:0.9.12. The annotations map returned contains other org.opencontainers.image.* fields, just not the source field.
docker manifest inspect ghcr.io/kagent-dev/kagent/helm/kagent-crds:0.9.12 | jq .
{
"schemaVersion": 2,
"config": {
"mediaType": "application/vnd.cncf.helm.config.v1+json",
"digest": "sha256:c36397247b35c1be1f7d3650438d3346db28a2710d6417aa978ff6459dbc7f6c",
"size": 376
},
"layers": [
{
"mediaType": "application/vnd.cncf.helm.chart.content.v1.tar+gzip",
"digest": "sha256:977e59c4ad7f751f2badea53d5f698220f37a1af28fb282fd7917103a084e7f3",
"size": 258492
}
],
"annotations": {
"org.opencontainers.image.created": "2026-07-20T18:59:25Z",
"org.opencontainers.image.description": "CRDs for kagent",
"org.opencontainers.image.title": "kagent-crds",
"org.opencontainers.image.version": "0.9.12"
}
}
For context, Renovate's Argo CD handler uses docker mode when the upstream Helm chart is published via OCI, like through GHCR. So the docker handler is what expects to find the org.opencontainers.image.source field in the Helm chart.
🙋 Are you willing to contribute?
📋 Prerequisites
📝 Feature Summary
Populate
org.opencontainers.image.sourceannotation in Helm chart artifacts so tools like Renovate can find your release notes❓ Problem Statement / Motivation
Current
kagentandkagent-crdsHelm charts published to GHCR (OCI) do not contain theorg.opencontainers.image.sourcefield. Renovate (and possibly other tools) rely on this field to find the upstream source repo to look for release notes when creating dependency bump PRs/MRs in end-user repos. Your repo already publishes great release notes (example for v0.9.12). Adding this field makes it easy for end-user automation tools to find them.Currently all end users have to manually map this in automation tools like Renovate (e.g., with a
packageRulesmap). Fixing this in the upstream Helm chart publishing workflows solves the problem for all end user tools that rely on this field.💡 Proposed Solution
Setting the
org.opencontainers.image.sourcefield value tohttps://github.com/kagent-dev/kagentshould help Renovate and other tools find their way to your source repo to consume release notes.Add the following two lines to
kagent-crdsChart-template.yaml andkagentChart-template.yaml:🔄 Alternatives Considered
Perhaps there is a different location in your chart publishing workflow to inject this field. You know your pipelines better than I do. But the
Chart-template.yamlis a valid location.🎯 Affected Service(s)
Multiple services / System-wide
📚 Additional Context
You can see this for yourself using a simple
dockercall like this:docker manifest inspect ghcr.io/kagent-dev/kagent/helm/kagent-crds:0.9.12. Theannotationsmap returned contains otherorg.opencontainers.image.*fields, just not thesourcefield.For context, Renovate's Argo CD handler uses
dockermode when the upstream Helm chart is published via OCI, like through GHCR. So thedockerhandler is what expects to find theorg.opencontainers.image.sourcefield in the Helm chart.🙋 Are you willing to contribute?