[BUG] `substrateWorkerPool.ateomImage` ships empty by default, failing any install that enables the WorkerPool
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- helm
- Domain
- devops
Research direction
Start with helm/kagent/values.yaml and helm/kagent/templates/substrate-workerpool.yaml, then check the pinned substrate version in helm/kagent/Chart.yaml and the image reference in examples/substrate-openclaw/README.md. Render or install the chart with both WorkerPool flags enabled and no explicit image; done means the default resolves to the matching ateom-gvisor image and the required-value failure no longer occurs.
Written by the indexing model from the issue text.
Description
📋 Prerequisites
- I have searched the existing issues to avoid creating a duplicate
- By submitting this issue, you agree to follow our Code of Conduct
- I am using the latest version of the software
- I have tried to clear cache/cookies or used incognito mode (if ui-related)
- I can consistently reproduce this issue
🎯 Affected Service(s)
Controller Service
🚦 Impact/Severity
Minor inconvenience
🐛 Bug Description
helm/kagent/templates/substrate-workerpool.yaml requires substrateWorkerPool.ateomImage to be set whenever the chart is asked to create the Agent Substrate WorkerPool (controller.substrate.enabled=true + substrateWorkerPool.create=true):
{{- if and .Values.controller.substrate.enabled .Values.substrateWorkerPool.create }}
{{- if not .Values.substrateWorkerPool.ateomImage }}
{{- fail "substrateWorkerPool.ateomImage is required when substrateWorkerPool.create=true" }}
{{- end }}
...
ateomImage: {{ .Values.substrateWorkerPool.ateomImage | quote }}
But helm/kagent/values.yaml ships this value empty (ateomImage: "") with no default, even though a matching image is already published and ready: ghcr.io/kagent-dev/substrate/ateom-gvisor, tagged to match this chart's own pinned substrate dependency version (helm/kagent/Chart.yaml: - name: substrate, version: 0.0.9, repository: oci://ghcr.io/kagent-dev/substrate/helm; the matching image tag is v0.0.9, confirmed by examples/substrate-openclaw/README.md:60: ateomImage=ghcr.io/kagent-dev/substrate/ateom-gvisor:v${SUBSTRATE_VERSION}).
So every install that opts into the WorkerPool fails immediately with substrateWorkerPool.ateomImage is required when substrateWorkerPool.create=true, even though the correct value is fully derivable from information the chart already has.
🔄 Steps To Reproduce
helm install kagent ./helm/kagent --set controller.substrate.enabled=true --set substrateWorkerPool.create=true(without settingsubstrateWorkerPool.ateomImage).- Observe the install fails.
🤔 Expected Behavior
When ateomImage isn't explicitly set, the chart should default it to the ateom-gvisor image matching the pinned substrate dependency version, only requiring an explicit value in cases where that can't be reliably derived.
📱 Actual Behavior
every install of this feature fails until the user manually discovers and supplies the correct, currently-undocumented image reference.
💻 Environment
No response
🔧 CLI Bug Report
No response
🔍 Additional Context
No response
📋 Logs
📷 Screenshots
No response
🙋 Are you willing to contribute?
- I am willing to submit a PR to fix this issue
- Dominant language
- Go
- Stars
- 3.8k
- Forks
- 775
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 145
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from kagent-dev/kagent
-
ai-generated UI
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kagent-dev/kagent#2871 ·
-
ai-generated UI
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kagent-dev/kagent#2850 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
kagent-dev/kagent#2759 ·
-
go/adk: MakeMCPAppModelResultCallback blanks non-UI tool results, same gap #2579 fixed in Python Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
kagent-dev/kagent#2716 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
kagent-dev/kagent#2587 ·
All issues in kagent-dev/kagent
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100