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

GKE ingress render error for batch tier when no ingress config specified #774

Open
misterdorito opened this issue Jun 25, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@misterdorito
Copy link
Contributor

Describe the bug
When deploying to GKE and not specifying an ingress for batch tier (which nominally wouldn't have one by convention) the following error happens:

Error: INSTALLATION FAILED: template: pega/templates/pega-tier-ingress.yaml:4:78: executing "pega/templates/pega-tier-ingress.yaml" at <$dep.ingress.enabled>: nil pointer evaluating interface {}.enabled

To Reproduce
Deploy to GKE and don't specify ingress configuration for the batch tier.

Expected behavior
There should be no error in the event that the ingress configuration is not provided.

Chart version
Current chart (master branch).

Server (if applicable, please complete the following information):
This happens on GKE deployments

Additional context
The issue is that the 'and' operator in go template language is not a short-circuit operator so it evaluates all operands (some of which cause the error).

@misterdorito misterdorito added the bug Something isn't working label Jun 25, 2024
@misterdorito
Copy link
Contributor Author

In golang 1.18, the "and" and "or" operators behaviors were changed to work like short-circuit operators (for example, && and || operators in Java or C).

helm 3.10 adopted golang 1.18.

This problem will be reproducible in versions of helm < 3.10.

Given the current state of supported k8s api versions by the various vendors supported by this helm chart, it probably makes the most sense to use a version of helm that is more recent than 3.10. If for some reason, this is not possible, this particular issue can be worked around by specifying .ingress.enabled=false for any tiers not providing an ingress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant