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.
