Hi Chetan, good idea!
A bit of background on why it is how it is: When I implemented the approach we're having today, the basic thought was to be able to detect on a quite granular level what changes are needed to which components, even when they share values. For example: In the Kubernetes case, most of the env variables are read out of a ConfigMap. Updating such a ConfigMap can trigger a restart of the specific pods to reload the config. This is possible with this approach as well, in fact for something like Kubernetes it's even easier (I believe you can mount the ConfigMap directly without needing to pass it via env). What I'd like to make sure though: Is it possible to layer configurations with this? For example: If I create a `database.conf` and a `controller.conf`, is there a way to mount these in a way that they are both read and merged by the specific component? Cheers, Markus Am Do., 23. Aug. 2018 um 08:36 Uhr schrieb Chetan Mehrotra < [email protected]>: > Hi Team, > > Currently we rely on env variables to configure OpenWhisk component like > Controller and Invoker. For example setting > whisk.loadbalancer.invoker-busy-threshold would need env name like > "CONFIG_whisk_loadbalancer_invokerBusyThreshold". > > This mapping is at times tricky to get right and bit error prone (specially > when setting list props). It would be better if we can directly pass in the > config in typesafe config format [1]. This would simplify managing the > config in version control and also reusing the default config directly. > > For this purpose I have created a PR #3984. For now this PR only enable use > to this proposed approach. If it looks good we can modify the default > ansible setup to use the new approach in a subsequent PR. > > Feedback welcome! > > Chetan Mehrotra > [1] https://github.com/lightbend/config/blob/master/HOCON.md > [2] https://github.com/apache/incubator-openwhisk/pull/3984 >
