/
The proper method for extending existing Puppet Modules (AKA Where do SIMP Profiles Go?)
The proper method for extending existing Puppet Modules (AKA Where do SIMP Profiles Go?)
The Decision
- If you can use it, use it
- Add some glue (simp_module_name)
- Fork it (
)
In that order.
Background
The issue that we have is precisely cemented in the `electrical-elasticsearch` Puppet Module.
To make things work the way we need them to, we have a few options:
- Ā Fork the Module and push forward
- This has the obvious issue of needing to re-integrate all the time. It's not a horrible approach but not super exciting either as time presses on.
- This does technically have the advantage of easiest to attempt to push changes upstream. We can't push SIMP-specific changes, but we can push bug fixes, etc...
- Create a module named simp_elasticsearch which is just a profile set of the elasticsearch module
- This is good for the community but rapidly grows into a lot of pain in terms of figuring out what's going on as well as massive amounts of module creep all over your Environments
- Shove everything into the simp module
- I hate this the most because, as Chris and Kendall both pointed out, you will then need to push out an update of the simp module for minor changes that don't actually affect everyone. This may hurt upgrade capabilities for downstream users.
Ā
Action items
- (what was this checkbox for?)
, multiple selections available,
Related content
SIMP 6.5+: Safely Referencing SIMP assets from multiple Puppet Environments
SIMP 6.5+: Safely Referencing SIMP assets from multiple Puppet Environments
More like this
Where should the requirement for Puppet and/or PE be housed in the SIMP RPM stack?
Where should the requirement for Puppet and/or PE be housed in the SIMP RPM stack?
More like this
The New Layout for all SIMP Modules
The New Layout for all SIMP Modules
More like this
simp config should be able to create a puppet environment in a user-specified location (namely, somewhere outside of /etc/puppetlabs/code/environments)
simp config should be able to create a puppet environment in a user-specified location (namely, somewhere outside of /etc/puppetlabs/code/environments)
More like this
Puppet deployment scenarios
Puppet deployment scenarios
More like this
SIMP Environments
SIMP Environments
More like this