kubero-dev / kubero-dev/kubero
Image reference becomes repo:tag:tag when the repository field already includes a tag
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 4.4k
- Forks
- 212
- PR merge metrics
- No merged PRs in 30d
Description
Which component(s) is affected?
Kubero CLI
Describe the bug
The KuberoApp Helm chart templates (helm-charts/kuberoapp/templates/deployment-web.yaml and deployment-worker.yaml) build the image reference by blind concatenation:
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default "latest" }}"
There's no check for whether .Values.image.repository already contains a tag. If a user enters an image reference including a tag (e.g. myrepo/myimage:latest) into the "repository" field in the Kubero UI — a natural thing to do, since most people are used to typing full image refs that way — and the separate tag field defaults to latest, the rendered image becomes myrepo/myimage:latest:latest, which is not a valid image reference.
Steps to reproduce
- In the Kubero UI, set an app's image repository field to a value that includes a tag, e.g. nginx:latest
- Leave the tag field at its default
- Deploy and inspect the generated Deployment's image: field
Expected behavior
Expected behavior: Kubero should either strip any tag already present in the repository field, or clearly document/enforce that the field must not include a tag.
Actual behavior: The rendered image reference is ::, causing the image pull to fail.
Suggested fix: Split any existing :tag off the repository field before concatenating, or validate/reject repository values containing a colon in the UI.
Screenshots
No response
Additional information
No response
Debug information
No response
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.
Research direction
Start by inspecting helm-charts/kuberoapp/templates/deployment-web.yaml and deployment-worker.yaml, then render a chart using a repository value such as nginx:latest and the default tag. Done means the generated Deployment has a valid image reference without a duplicated tag, with the repository-field behavior clearly documented or enforced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 70/100