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 > <https://groups.google.com/d/msgid/puppet-users/CABaapw%2B3od6HtGXb8bGMncUXZWuiZW46frSfL62S%3DgjyqcJimg%40mail.gmail.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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/45081E02-E818-4013-8547-F0E6B5856118%40gmail.com > <https://groups.google.com/d/msgid/puppet-users/45081E02-E818-4013-8547-F0E6B5856118%40gmail.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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CACkW_L5nxCSGvP-edsH3sfy%2BkrfibUd-wGH8kczbof1Vxy2rAg%40mail.gmail.com.
