Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mimir-distributed helm template does not correctly accept ingress.hosts #9722

Closed
trondhindenes opened this issue Oct 23, 2024 · 3 comments
Closed
Labels

Comments

@trondhindenes
Copy link

Describe the bug

Trying to deploy mimir-distributed chart version 5.5.0 with these values:

ingester:
  replicas: 2
  zoneAwareReplication:
    enabled: false
store_gateway:
  replicas: 2
  zoneAwareReplication:
    enabled: false
ingress:
  enabled: true
  annotations:
    cert-manager.io/cluster-issuer: supersecret
    external-dns.alpha.kubernetes.io/target: cluster.stuff.com
  hosts:
  - host: stuff.wuff.guff
    paths:
    - path: /

Causes this error:

Error: template: mimir-distributed/templates/ingress.yaml:31:19: executing "mimir-distributed/templates/ingress.yaml" at <.>: wrong type for value; expected string; got map[string]interface {}
helm.go:86: 2024-10-23 13:34:09.471765459 +0200 CEST m=+0.974764386 [debug] template: mimir-distributed/templates/ingress.yaml:31:19: executing "mimir-distributed/templates/ingress.yaml" at <.>: wrong type for value; expected string; got map[string]interface {}

To Reproduce

See above

Expected behavior

It should work

Environment

Additional Context

@trondhindenes
Copy link
Author

tested against 5.5.1, bug is still present

@armandgrillet armandgrillet added bug Something isn't working helm labels Oct 25, 2024
@dimitarvdimitrov
Copy link
Contributor

the hosts in ingress.hosts are supposed to be strings of domain names

see the default values

ingress:
enabled: false
# ingressClassName: nginx
annotations: {}
paths:
distributor-headless:
- path: /distributor
# -- pathType (e.g. ImplementationSpecific, Prefix, .. etc.) might also be required by some Ingress Controllers
# pathType: Prefix
- path: /api/v1/push
- path: /otlp/v1/metrics
alertmanager-headless:
- path: /alertmanager
- path: /multitenant_alertmanager/status
- path: /multitenant_alertmanager/configs
- path: /api/v1/alerts
ruler:
- path: /prometheus/config/v1/rules
- path: /prometheus/api/v1/rules
- path: /prometheus/api/v1/alerts
query-frontend:
- path: /prometheus
- path: /api/v1/status/buildinfo
compactor:
- path: /api/v1/upload/block/
hosts:
- mimir.example.com

@dimitarvdimitrov dimitarvdimitrov closed this as not planned Won't fix, can't repro, duplicate, stale Oct 25, 2024
@dimitarvdimitrov dimitarvdimitrov removed the bug Something isn't working label Oct 25, 2024
@dimitarvdimitrov
Copy link
Contributor

there's more complex ingress configuration for gateway.ingress.hosts

ingress:
enabled: false
# -- Overrides the name of the Ingress. Useful if you are switching from the deprecated nginx or
# GEM gateway configuration and you Ingress Controller needs time to reconcile a new Ingress resource.
# By using the same name as the nginx/GEM gateway Ingress, Helm will not delete the Ingress Resource.
# Instead, it will update the existing one in place.
# If left as an empty string, a name is generated.
nameOverride: ""
# -- Ingress Class Name. MAY be required for Kubernetes versions >= 1.18
ingressClassName: ""
# -- Annotations for the Ingress
annotations: {}
# -- Hosts configuration for the Ingress
hosts:
# -- Passed through the `tpl` function to allow templating.
- host: "{{ .Release.Name }}.mimir.example.com"
paths:
- path: /
# -- pathType (e.g. ImplementationSpecific, Prefix, .. etc.) might also be required by some Ingress Controllers
# pathType: Prefix
# -- TLS configuration for the nginx ingress
tls:
- secretName: mimir-tls
# -- Hosts included in the tls certificate. Passed through the `tpl` function to allow templating.
hosts:
- "{{ .Release.Name }}.mimir.example.com"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants