On Tue, Nov 29, 2011 at 04:07, Martin Alfke <tux...@gmail.com> wrote: > On 28.11.2011, at 19:18, Stefan Schulte wrote: >>> [...] > >>> Thanks for responding. >>> I agree, globally customizing the defaults is one way to go, but I am >>> shooting for the second option. >>> >> >> If you do not want the gobal defaults copied why are you using >> managehome => true? >> >> If you really have to go this awkward path you can create a conditional >> exec resoure that removes the dotfiles if they are equal to the skel files >> so puppet will copy the correct files again. (fileresources with replace >> => false) >> >> A second solution is to create a custom fact that tells you if puppet >> should manage the dotfiles and wrap your fileresources in an if-clause >> (fileresources with replace => true) >> >> -Stefan > > We have another usecase for conditional file replacement: > > if a developer would like to forbid any puppet changes on a certain file he > creates a flagfile $name.nopuppet > instead of normal file resource we use a parameterized define:
This path is going to cause you nothing but pain. Instead of allowing conditional opt-out based on the machine, you should rather prefer to have the central authority own that - if the developer needs their machine to have a custom HTTP setup, don't try and manage it on that machine. Record that fact in your central configuration system. If you really need that control to be allowed on a per-user or per-machine basis, invest in an ENC and provide an interface to that which allows the developers to exclude their machine from this management. Daniel -- ⎋ Puppet Labs Developer – http://puppetlabs.com ♲ Made with 100 percent post-consumer electrons -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.