Skip to content

Ingress servicePort variable definition doesn't respect Kong disabled #10085

Open
@dmaphy

Description

@dmaphy

What happened?

In templates/network/ingress.yaml you define a servicePort variable in line 22:
https://github.com/kubernetes/dashboard/blob/master/charts/kubernetes-dashboard/templates/networking/ingress.yaml#L22

That ternary unfortunately doesn't respect setups where Kong is not used at all. It should at least add some condition which asks {{- if $.Values.kong.enabled }} or be even more sophisticated.

Also, some default values in the values.yaml for $.Values.kong.proxy.tls.servicePort and $.Values.kong.proxy.http.servicePort are missing here. If they are not defined - even if Kong is disabled! - this results in strange helm rendering issues like e.g. this:

❯ helm template  --set kong.enabled=false --set app.ingress.enabled=true
Error: template: kubernetes-dashboard/templates/networking/ingress.yaml:22:30: executing "kubernetes-dashboard/templates/networking/ingress.yaml" at <$.Values.kong.proxy.tls.servicePort>: nil pointer evaluating interface {}.servicePort

Use --debug flag to render out invalid YAML

I suggest to get the definitions for the servicePort from somewhere else in the values.yaml instead, e.g. auth.service.port, api.service.port and so on.

What did you expect to happen?

The rendering of course needs to happen without issues, even if I decided to disable Kong in my environment.

How can we reproduce it (as minimally and precisely as possible)?

❯ helm template  --set kong.enabled=false --set app.ingress.enabled=true
Error: template: kubernetes-dashboard/templates/networking/ingress.yaml:22:30: executing "kubernetes-dashboard/templates/networking/ingress.yaml" at <$.Values.kong.proxy.tls.servicePort>: nil pointer evaluating interface {}.servicePort

Use --debug flag to render out invalid YAML

Anything else we need to know?

No response

What browsers are you seeing the problem on?

No response

Kubernetes Dashboard version

7.11.1

Kubernetes version

1.30.x

Dev environment

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions