On Apr 18, 7:09 am, Robert Rothenberg <[email protected]> wrote: > I should add that I am using a masterless puppet environment, so a global > list of all nodes is not available.
As far as I am aware, there is no solution available entirely Puppet that would work in masterless mode. > Some Googling suggested the use of multiple files that are concatenated, > but I think that's a messy kluge, and would like to avoid doing that. If a puppetmaster were involved then you could look at either exported resources or a shared central data source to approach this problem. There are viable solutions along each path. Without a master, the issue of clients registering themselves is hard, especially if you require any kind of trust management. With no master to mediate data transfer (or trust), you'll need to come up with something custom. Here are some possible alternatives: * You could build a Puppet-aware registration service on the web server. It could control an actual Puppet manifest defining your array of client IPs, or else a data file that one of your manifests relies upon. * You could have clients manage registration files in some shared network filesystem, and have the server collect them and extract the pertinent data. * You could create a registration database to which clients would write and from which the master would read. The read / write interfaces might be implementable via templates, but it would be cleaner to build custom types (and providers) for that. * You could give up on self-registration, and manage the client list on the server separately from the clients themselves. That would be the least up-front work and the most secure approach, but slightly more ongoing work as clients are added and removed. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
