User story #6264
closedGet directive parameter value from external source (kv store, rest, etc)
Description
We want to allows user to get the value of a directive from an external source, at run time (not at promise generation time like done in #1203). Typical sources are:
- database, especially K/V store à la Redis,
- third party REST API
- file content
- and more generally, command execution result
We will have to take some care for things like:
- error management: what happen if the call fails? (easy idea: always provide a defaults value - but not applicable in all case)
- performance: that can take a lot of time, so it needs to be run only once by agent run, and always have a timeout
On that user story, we only observe values when agent is run: there is no reactive run of the agent when such an external changes. The reactive part would have to be implemented on the behalf of the value owner. For example, if the external value provider is consul, we could use https://github.com/hashicorp/consul-template to make it runs rudder-agent each time a value change.