Project

General

Profile

User story #6264

Get directive parameter value from external source (kv store, rest, etc)

Added by François ARMAND almost 3 years ago. Updated over 2 years ago.

Status:
New
Priority:
N/A
Assignee:
-
Category:
Techniques
Target version (plugin):
Suggestion strength:
User visibility:
Effort required:
Pull Request:

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.


Related issues

Related to Rudder - User story #1203: Provision options list from external source (URL, JSON, XML...) New 2011-04-05
Related to Rudder - User story #6246: Feature idea: Allow other variable types when using the cfengine variable technique New 2015-02-10
Related to Rudder - User story #9698: Import node properties from external data sources Released 2016-11-21
Related to Rudder - User story #8629: Allows generation-time javascript eval in directive parameters Released 2016-07-28

History

#1 Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 3.1.0~beta1 to 3.1.0~rc1

#2 Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 3.1.0~rc1 to 3.1.0

#3 Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 3.1.0 to 3.1.1

#4 Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 3.1.1 to 3.1.2

#5 Updated by Jonathan CLARKE over 2 years ago

  • Target version changed from 3.1.2 to Ideas (not version specific)

#6 Updated by Benoît PECCATTE 10 months ago

  • Related to User story #9698: Import node properties from external data sources added

#7 Updated by Benoît PECCATTE 10 months ago

  • Related to User story #8629: Allows generation-time javascript eval in directive parameters added

Also available in: Atom PDF