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.

Reply via email to