...
- The parameter must be disabled (false) by default (NOTE: starting with SIMP 6).
- The parameter must honor booleans and Strings where the Boolean true and the String '
simp
' amount to the same action.- Welcome to the Trevorian type "Stroolean."
- The String value such as '
simp
' will translate into the filename in the subsystem path simp/<subsystem>/simp.pp- This is intended to permit backwards compatibility between SIMP versions if they require mutually exclusive logic (i.e., 'simp', 'simp4', 'simp4_2', 'simp5', etc.,).
- QUESTION: what is the benefit of these files over the ::params pattern?
ANSWER:- it allows n parallel configuration tracks to coexist without conflicting
- it separates SIMP-specific settings from the rest of the module.
- The parameter must allow for an ENC or Hiera or straight parameter, since we want maximum module uptake where possible.
This will look something like the following:
$simp_firewall = defined('$::simp_firewall') ? { true => getvar($'::simp_firewall'), default => hiera('simp_firewall',true) }
Translation:
$parameter => { <if set> => <use global/ENV variable>, <otherwise> => <use what's in Hiera or default to true> }
- QUESTION: Should we make this defined->hiera->default logic a function in
simplib
?
ANSWER: Yeah, probably. How about.....simp_def('variable','default') - QUESTION: Why not just
lookup()
?
ANSWER:lookup()
was introduced in Puppet 4. The core SIMP modules will need to support Puppet 3.x for at some time (at least another major version, probably longer).
- QUESTION: Should we make this defined->hiera->default logic a function in
- The default parameter lookup will reference the associated Global Catalyst.
Advanced Module Structure
...