Make a module. When the complexity of managing the modules resources
within your environment become complex enough to warrant it, make a
profile containing your business logic to wrap that module.
The cons in your first example, extra work and duplication, do not
exist. Profiles are entirely optional. Either you need to manage that
complexity or you don't.
Ramin
On 6/8/2020 2:26 PM, Alan Evans wrote:
While _most_ things I want to manage via Puppet have modules on the
forge that are well maintained, tested and highly flexible. Sometimes
though, I find that there is something that my organizations uses that
is just not common enough to have a module on the forge.
In roles/profiles we consider things to be layered, with Roles at the
top and technology specific modules at the bottom. Profiles are our
place to control the behavior of technology specific modules and add any
missing functionality or business logic.
How do you deal with technologies that do not have corresponding modules
on the forge?
*A) Write technology module and profile?*
Pros:
- follows established practice
- most flexible
Cons:
- extra work
- possible duplication of effort
|
classfoo ($param1,$param2,...$paramN){
contain foo::install
contain foo::config
contain foo::service
Class['foo::install']->Class['foo::config']->Class['foo::service']
}
classprofile::foo ($param1 ='my_default',$param2
='other_default',...$paramN){
foo {
param1 =>$param1,
param2 =>$param2,
...
paramN =$paramN,
}
}
|
*B) Put it all in a profile?*
Pros:
- less work
- probably still flexible since you control the whole thing
Cons:
- does not match established practices
|
|
classprofile::foo ($param1 ='my_default',$param2
='other_default',...$paramN){
contain profile::foo::install
contain profile::foo::config
contain profile::foo::service
Class['profile::foo::install']->Class['profile::foo::config']->Class['profile::foo::service']
}
|
|
How have you handled this scenario in the past?
Thank you,
-Alan
--
You received this message because you are subscribed to the Google
Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to puppet-users+unsubscr...@googlegroups.com
<mailto:puppet-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/4e5e1a58-4d1e-4700-b3db-fd242567488bo%40googlegroups.com
<https://groups.google.com/d/msgid/puppet-users/4e5e1a58-4d1e-4700-b3db-fd242567488bo%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups "Puppet
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/89d92e29-cadf-9256-73ff-69bfbc0aee43%40badapple.net.