Thanks for that, it *is* useful, although not in this particular 
scenario. It's sitting now in my Puppet toolbox.

On Fri, 2021-01-29 at 11:47 -0800, Ben Ford wrote:
> I do have a kind of terrible module that does exactly this.... I make no 
> guarantees whatsoever about how well it works. I ended up not using it for 
> much longer after building it.
> 
> https://forge.puppet.com/modules/binford2k/manageonce
> 
> On Fri, Jan 29, 2021 at 12:14 AM Martin Alfke <[email protected]> wrote:
> > A custom fact is the best way to report the status of the file on the node 
> > to the master and have the file managed by Puppet based on the fact value.
> > 
> > Bolt needs ssh access to the systems (unless you are using Puppet 
> > Enterprise which does not need ssh but uses a message queue on the master 
> > and the pxp-agent on the nodes.).
> > 
> > Besides this: Bolt must be executed manually
> > 
> > > On 29. Jan 2021, at 06:03, Benjamin Ridley <[email protected]> wrote:
> > > 
> > > You might be better off using something like Puppet Bolt to deploy the 
> > > file as a one off task at provisioning, rather than trying to manage it 
> > > declaratively through Puppet. 
> > > 
> > > On Fri, 29 Jan 2021, 3:50 pm Steve McKuhr, <[email protected]> wrote:
> > > > In an effort to avoid errors triggered by validate_cmd, I ended up 
> > > > using  
> > > > a conditional based on a File.exists custom fact. I'm still open to 
> > > > suggestions, this is all new territory to me.
> > > > 
> > > > 
> > > > On Thu, 2021-01-28 at 17:13 -0800, Steve McKuhr wrote:
> > > > > I've just realized that my problem statement was slightly misleading. 
> > > > > A 
> > > > > 'users' file gets installed as part of the software package, and the  
> > > > > goal is replacing its contents during the first Puppet run. The next 
> > > > > Puppet runs should ignore any changes.
> > > > > 
> > > > > 
> > > > > On Thu, 2021-01-28 at 20:07 +0100, Martin Alfke wrote:
> > > > > > and please use ensure => file !
> > > > > > this is more clear.
> > > > > > you can set the file ensure attribute to one of the following: 
> > > > > > file, directory, link, absent
> > > > > > 
> > > > > > 
> > > > > > > On 28. Jan 2021, at 18:58, Ben Ford <[email protected]> wrote:
> > > > > > > 
> > > > > > > Yep, just use the replace attribute on the file resource. 
> > > > > > > https://puppet.com/docs/puppet/latest/types/file.html#file-attribute-replace
> > > > > > > 
> > > > > > > On Thu, Jan 28, 2021 at 9:57 AM Steve McKuhr 
> > > > > > > <[email protected]> wrote:
> > > > > > > I'd like to initialize a user config file once, at software 
> > > > > > > install time, then allow application admins to manage the file 
> > > > > > > contents via web interface (add/remove users, etc.) - I have come 
> > > > > > > up with the following:
> > > > > > > 
> > > > > > > file { 'users':
> > > > > > >   ensure => present,
> > > > > > >   content => template('my-template'),
> > > > > > >   validate_cmd => '/bin/test ! -f users.control',
> > > > > > > }
> > > > > > > file { 'users.control':
> > > > > > >   ensure => present,
> > > > > > >   content => "puppet managed",
> > > > > > >   require => File['users'],
> > > > > > > }
> > > > > > > 
> > > > > > > The above code works ok, however I was wondering if there is a 
> > > > > > > more elegant solution.
> > > > > > > 
> > > > > > > Thanks,
> > > > > > > Steve
> > > > > > > 
> > > > > > > 
> > > > > > > -- 
> > > > > > > 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 [email protected].
> > > > > > > To view this discussion on the web visit 
> > > > > > > https://groups.google.com/d/msgid/puppet-users/fb1ae2b4-f220-4d18-864b-aafbadb44b14n%40googlegroups.com.
> > > > > > > 
> > > > > > > -- 
> > > > > > > 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 [email protected].
> > > > > > > To view this discussion on the web visit 
> > > > > > > https://groups.google.com/d/msgid/puppet-users/CACkW_L5oTmsHiwvmVEisKap7gkUt1P4Gmvh1-%3DBQqNtHHiWAcA%40mail.gmail.com.
> > > > 
> > > > -- 
> > > > 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 [email protected].
> > > > To view this discussion on the web visit 
> > > > https://groups.google.com/d/msgid/puppet-users/7a518ea8c6214ea01e1ce3d6e76273ddfd576493.camel%40gmail.com.
> > > 
> > > -- 
> > > 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 [email protected].
> > > To view this discussion on the web visit 
> > > https://groups.google.com/d/msgid/puppet-users/CABaapw%2B3od6HtGXb8bGMncUXZWuiZW46frSfL62S%3DgjyqcJimg%40mail.gmail.com.

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/cba957331249c9505d7c4b687ae27fd8fe62826b.camel%40gmail.com.

Reply via email to