Comments (6)
Generally, the env
block is the only section of values.yaml that accepts either plain values or valueFrom+secretKeyRefs. There are some complexities to handling multiple value types in the template, so we typically either handle only plain values or only secretKeyRefs for sensitive configuration, but not both.
In this case, valueFrom isn't actually an option: whether or not it is available is determined by the Kubernetes API: environment variables have valueFrom, whereas Ingress only supports string hosts.
https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/20190125-ingress-api-group.md#hostname-proposal doesn't indicate that this will change in the upcoming v1 version of Ingress, so we wouldn't be able to implement it. I'd recommend simply configuring the hostname directly in values.yaml, but if you have a case where using a ConfigMap or Secret is necessary, you'll need to talk with SIG-Network about adding it.
from charts.
@moconno I'm curious, what's the motivation behind this?
from charts.
Thanks for the explanation @rainest . @hbagdi I am setting up infrastructure with pulumi (pulumi is creating the config/secrets) and deploying kong in multiple environments. My assumption is that I would need to configure hostnames like so: api.$env.$domain for proxy, kongmanager.$env.$domain for manager, and kongadmin.$env.$domain for admin.
from charts.
@rainest Can you link me the documentation so that I can configure the correct env vars?
from charts.
It looks like I may need to make pulumi in charge of helm deployments as well since I will need to dynamically override plain values. Unfortunate there isn't a simpler solution.
from charts.
Yeah--Pulumi would need some means of invoking Helm with --set
flags for the various things you want to populate from ConfigMaps/Secrets. Helm does not have its own support for retrieving values from ConfigMaps and injecting them into the rendered templates, though it has been proposed: helm/helm#6520
https://github.com/Kong/charts/blob/master/charts/kong/README.md#the-env-section shows an example of using references in the env
block, but that wouldn't be useful here: those can only control Kong's configuration, whereas this is K8S configuration. We do set KONG_ADMIN_GUI_URL
and such automatically based on the Ingress rule, but those are only to inform Kong what the rule is; changing them won't change the configuration generated from the Ingress.
from charts.
Related Issues (20)
- "kong stop" in wait-for-db command prevents init container from exiting gracefully, suggest kong quit" HOT 2
- Upgrade PostgreSQL dependency version
- runAsUser: 1000 in securityContext causes error in Openshift HOT 5
- Service monitor scraping both status port of ingress pod HOT 5
- Kong chart cannot be deployed with ArgoCD / Kustomize HOT 7
- request-size-limiting http2 requests are not supported without content-length header HOT 1
- no matches for kind "PodSecurityPolicy" in version "policy/v1beta1" HOT 2
- How to increase kong's timeout time HOT 1
- From OpenSource Kong to Kong Plus in Kubernetes (AKS) HOT 1
- kong ingress controller helm chart overwrite values to subcharts now working 0.12.0 HOT 2
- Unable to login to Kong Manager with DB-less Kubernetes deployment HOT 1
- migrations-post-upgrade.yaml fails when using affinity
- Allow to select service port for ingress HOT 3
- Next-gen (3.0) chart layout HOT 2
- The failure of readyness probe leads to a crash of the proxy HOT 4
- Make it possible to verify released charts integrity
- kong/charts not running HOT 14
- Question regarding Kong 2.8 support in latest helm chart version (2.33.3) HOT 1
- Env not merged/override from .Values.env HOT 1
- ingressController.konnect.tlsClientCertSecretName: wrong naming
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from charts.