Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-12 Thread Trevor Vaughan
Nice! That makes it a LOT easier to clean up the class variables. On Sun, Jan 12, 2014 at 2:39 PM, badgerious wrote: > > On Thursday, January 9, 2014 1:14:56 PM UTC-6, Trevor Vaughan wrote: >> >> >> I'm not certain if there is a portion of the provider code that gets run >> every time at the e

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-12 Thread badgerious
On Thursday, January 9, 2014 1:14:56 PM UTC-6, Trevor Vaughan wrote: > > > I'm not certain if there is a portion of the provider code that gets run > every time at the end without fail. There might be but I can't check the code > right now. > > In Puppet 3.4+, providers can define a ::post_resou

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-11 Thread Felix Frank
Hi, OK, thanks, that looks pretty useful. I still think puppet core should be capable of doing this as well :-) Update - inspired by Trevor's demo provider, I cobbled up an actual implementation of the proposed design. It does commit the sin of duplicating some parsing logic, but in a very shallo

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-09 Thread Trevor Vaughan
The 'content' comparator should always run, so when this section gets hit: if @@demo_classvars[:num_runs] == @@demo_classvars[:num_demo_resources] then Then @@demo_classvars can be reset so that the next run will re-initialize. I'm not certain if there is a portion of the provider code that ge

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-09 Thread John Bollinger
On Wednesday, January 8, 2014 12:31:53 PM UTC-6, Trevor Vaughan wrote: > > Hi John, > > You just noticed that I never run in daemon mode :-). I probably need to > add a reset to the initialized value in the @@demo_classvars to handle > daemon mode because, yes, they will probably persist betwe

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-08 Thread Trevor Vaughan
Hi John, You just noticed that I never run in daemon mode :-). I probably need to add a reset to the initialized value in the @@demo_classvars to handle daemon mode because, yes, they will probably persist between runs. I believe that, during testing, I found that, if any resource in the chain d

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-08 Thread John Bollinger
On Saturday, January 4, 2014 7:50:17 PM UTC-6, Trevor Vaughan wrote: > > You could also have two custom types, one that creates keys and one that > purges. The ones that create/manage, can be autorequired by the one that > purges. > > Alternatively, you can use 'flush' to only purge when the la

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-07 Thread William Van Hevelingen
There is a module on the forge that implements what Jeff suggested. http://forge.puppetlabs.com/nightfly/ssh_keys Cheers, William On Sun, Jan 5, 2014 at 1:42 PM, Trevor Vaughan wrote: > Hi Felix, > > Yes, you definitely got the point. > > Unfortunately, clean prefetching is just hard when you'

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-05 Thread Trevor Vaughan
Hi Felix, Yes, you definitely got the point. Unfortunately, clean prefetching is just hard when you're modifying what you want to prefetch. This is why I chose to wait for the catalog to figure itself out and then just delve the catalog for whatever I needed. I've used this pattern a few times w

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-05 Thread Felix Frank
Hi, On 01/04/2014 10:15 PM, Jeff Bachtel wrote: > Felix, > > Given the constraint to not delete keys from the file until all > managed keys are instantiated, how about using concat_fragment to > generate the authorized_keys file in the case of purge management? My > understanding is that this will

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-04 Thread Trevor Vaughan
You could also have two custom types, one that creates keys and one that purges. The ones that create/manage, can be autorequired by the one that purges. Alternatively, you can use 'flush' to only purge when the last key management type is executed on the system. It's a bit cumbersome, but the ge

Re: [Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-04 Thread Jeff Bachtel
Felix, Given the constraint to not delete keys from the file until all managed keys are instantiated, how about using concat_fragment to generate the authorized_keys file in the case of purge management? My understanding is that this will change the file atomically (eliminating the empty file

[Puppet-dev] Implementing the purging of ssh_authorized_keys

2014-01-03 Thread Felix Frank
Hi, TL;DR version: Implementing the design in [2] is quite hard apparently. Ideas welcome. I'm working on a proof of concept of a solution for PUP-1174 [1]. . Possible designs were discussed on the user list [2]. John came up with a scheme that was silently consented as desirable. It's based arou