kubero-dev / kubero-dev/kubero

Image reference becomes repo:tag:tag when the repository field already includes a tag

Open Beginner friendly
#798 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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
  1. In the Kubero UI, set an app's image repository field to a value that includes a tag, e.g. nginx:latest
  2. Leave the tag field at its default
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.