Kong / charts

Helm chart for Kong
Apache License 2.0
239 stars 473 forks source link

kong ingress controller helm chart overwrite values to subcharts now working 0.12.0 #1037

Open tkcontiant opened 4 months ago

tkcontiant commented 4 months ago

Hello, I am using the latest version of KONG ingress controller.

I am trying to use it with AWS EKS + NLB + ACM Certificate via annotation in proxy.

steps to reproduce:

helm upgrade --install kong-public . -f values.yaml -n kong --create-namespace

The initial installation will create Class LoadBalancer therefore I need NLB so I am using these values.yaml After that, you will notice that annotations are not used nor nameOverride in the final template.

Also second BUG: Without this is almost not possible to test the chart

helm template kong . -n kong > out
Error: template: kong-ingress/templates/tests/test-resources.yaml:1:15: executing "kong-ingress/templates/tests/test-resources.yaml" at <.Values.deployment.test.enabled>: nil pointer evaluating interface {}.test
deployment:
  test:
    enabled: false

controller:
  proxy:
    nameOverride: "{{ .Release.Name }}-gateway-proxy"
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "*"
      service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
      service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:XXXXXX"
      service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "kong-proxy-tls"
      service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
      service.beta.kubernetes.io/aws-load-balancer-internal: "false"
      # service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "3600"
    http:
      enabled: true
      servicePort: 80
      containerPort: 8000
    tls:
      enabled: true
      servicePort: 443
      containerPort: 8443
      overrideServiceTargetPort: 8000
  enabled: true

  deployment:
    kong:
      enabled: false

  ingressController:
    ingressClass: kong-public
    enabled: true

This is how the helm chart structure look's like

.
├── charts
│   └── kong
│       ├── charts
│       ├── ci
│       ├── crds
│       ├── example-values
│       └── templates
├── ci
│   └── __snapshots__
├── example-values
└── templates
    └── tests
AfrazHussain commented 2 months ago

Facing the same issue here, and I've been scratching my head over this. Did you manage to find a solution to this @tkcontiant ?

It could be related to this known helm issue with aliases: https://github.com/helm/helm/issues/7093 ? But the workaround to that problem is by putting a version: ">=0.0.0" or any relevant version with the alias, which this chart does have. I'm thinking of manually deploying 2 different versions of the kong chart with values similar to this chart, to get this working.

tkcontiant commented 2 months ago

I would start with complete redesign on this problem.

I've end-up using different ingress... Sorry about that.

On Sun, Apr 21, 2024, 12:58 PM Afraz Hussain @.***> wrote:

Facing the same issue here, and I've been scratching my head over this. Did you manage to find a solution to this @tkcontiant https://github.com/tkcontiant ?

It could be related to this known helm issue with aliases: helm/helm#7093 https://github.com/helm/helm/issues/7093 ? But the workaround to that problem is by putting a version: ">=0.0.0" or any relevant version with the alias, which this chart does have. I'm thinking of manually deploying 2 different versions of the kong chart with values similar to this chart, to get this working.

— Reply to this email directly, view it on GitHub https://github.com/Kong/charts/issues/1037#issuecomment-2067986327, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFUIJ3KIP7SFFIWF4BRFDC3Y6OEUFAVCNFSM6AAAAABEYVZUQ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRXHE4DMMZSG4 . You are receiving this because you were mentioned.Message ID: @.***>