Repository: provectus/kafka-ui
Issue: Specify distinct image tag version for helm chart
Labels: type/bug
status/accepted
scope/k8s

**Describe the bug**
Trying to upgrade to last 3.3 version after the kafka-ui started, when trying to access to the Web UI  I get immediately disconnected and in containers log I see these lines:
`15:45:34.875 [parallel-1] DEBUG com.provectus.kafka.ui.service.MetricsUpdateService - Start getting metrics for kafkaCluster: strimzi
15:45:55.587 [boundedElastic-1] WARN  com.provectus.kafka.ui.exception.ErrorCode - Multiple class com.provectus.kafka.ui.exception.ErrorCode values refer to code 4001
15:45:55.708 [boundedElastic-2] DEBUG org.springframework.http.codec.json.Jackson2JsonEncoder - [694106d4] Encoding [class ErrorResponse {
    code: 5000
    message: 404 NOT_FOUND
    timestamp: 1644594355588
    req (truncated)...]
15:45:55.709 [boundedElastic-1] DEBUG org.springframework.http.codec.json.Jackson2JsonEncoder - [cfe32b23] Encoding [class ErrorResponse {
    code: 5000
    message: 404 NOT_FOUND
    timestamp: 1644594355588
    req (truncated)...]
15:46:04.875 [parallel-1] DEBUG com.provectus.kafka.ui.service.MetricsUpdateService - Start getting metrics for kafkaCluster: strimzi`

After few minutes containers restart because probing fails.
The old kafka-ui 2.0 version works fine on the same Kubernetes.

**Set up**
version 0.3.3
Kubernetes 1.21 on Amazon EKS

**Steps to Reproduce**
1)Install last version with Helm chart
2)Modify generated server to create an Internal Load Balancer on AWS EKS
3)try to access to the Web UI

**Expected behavior**
I can access the UI







Issue comments:
Hello there montebove! 👋

Thank you and congratulations 🎉 for opening your very first issue in this project! 💖

In case you want to claim this issue, please comment down below! We will try to get back to you as soon as we can. 👀
Hi @montebove 

> 2)Modify generated server to create an Internal Load Balancer on AWS EKS


Do you mean the service? If so, could you please share the details of the service that you have now after the changes? As yaml file if possible please.
Here is the service.yaml. With identical modifications works fine on old 2.0 version. I changed extension to .txt because .yaml it's no supported  by github
[service.yaml.txt](https://github.com/provectus/kafka-ui/files/8050027/service.yaml.txt)

The warning you mentioned itself shouldn't be a problem itself.
@montebove thank you. Do I understand it correctly: as soon as the load balancer is up, you are trying to access the webui via the load balancer hostname and port 80?
Exactly, I try to access the webui with the load balancer on port 80 but I get disconnected without receiving a single byte. After this in the pod log I see what I posted before.
Thank you for the information @montebove! I will try to reproduce the case using the provided information and come back if anything.
Thank you @5hin0bi . I am available for any following test you need.
@montebove if you have time we could jump into our discord to discuss the situation in more details. Just let me know if it's OK with you.
SOLVED:
There is a problem in the chart but not a real bug. I was using last helm chart version but as Kubernetes download new images only if it is a different version as ifnotpresent is specified I actually used always the old 2.0 version docker image. Forcing deployment to download the image all started to work. The problem originated from the fact I previously, some months ago,  installed the 2.0 version and the Helm chart indicated as image version provectuslabs/kafka-ui:latest (at that time 2.0), but after months the new Helm chart asked for the same provectuslabs/kafka-ui:latest and Kubernetes doesn't distinguishes that actually are not the same. I would suggest to use an explicit docker image version in Helm chart something like for the current version provectuslabs/kafka-ui:0.3.3
@montebove thank you for the info. Glad it works. We'll take a look.

Pull request review comments:

Patch that resolved the issue:
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index a88c7d05d81..12c11a771d2 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -109,6 +109,7 @@ jobs:
         run: |
           export version=${{needs.release.outputs.version}}
           sed -i "s/version:.*/version: ${version}/" charts/kafka-ui/Chart.yaml
+          sed -i "s/appVersion:.*/appVersion: ${version}/" charts/kafka-ui/Chart.yaml
 
       - name: add chart
         run: |
diff --git a/charts/kafka-ui/values.yaml b/charts/kafka-ui/values.yaml
index 3fc0754aff5..43cbf869f6b 100644
--- a/charts/kafka-ui/values.yaml
+++ b/charts/kafka-ui/values.yaml
@@ -5,7 +5,7 @@ image:
   repository: provectuslabs/kafka-ui
   pullPolicy: IfNotPresent
   # Overrides the image tag whose default is the chart appVersion.
-  tag: "latest"
+  tag: ""
 
 imagePullSecrets: []
 nameOverride: ""


Test patch: