Hey all,I've been designing a new feature for Puppet, and wanted to get some kick-back from the community to see if you think this is needed or not. The feature is called Puppet Sites, and meets some specific goals by means of a few tasks.
- Securely add nodes to your deployment without manually signing certificates on the CA...
- ...so that you can have the advantages of autosigning without its security problems.
- Get a list of all the nodes in your deployment...
- ...so that a single command can give you what previously you had to trawl multiple services (ENCs, CAs, etc...) on each Puppet master in your deployment to retrieve.
- Store connection information for Puppet services in a central location (accessible from manifests, puppet.conf, and defaults.rb)...
- ...so that you don't have to manage puppet.conf files on each node in your population
- ...so that agent/master/CA configuration stays consistent across your deployment
- ...so that you can update your config and fetch a new catalog in a single operation.
Thanks in advance for the feedback!
- Daniel--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/cdG9GFFqvYEJ.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Thu, May 10, 2012 at 12:44 PM, Daniel Sauble <djsa...@puppetlabs.com> wrote:Hey all,I've been designing a new feature for Puppet, and wanted to get some kick-back from the community to see if you think this is needed or not. The feature is called Puppet Sites, and meets some specific goals by means of a few tasks.
- Securely add nodes to your deployment without manually signing certificates on the CA...
- ...so that you can have the advantages of autosigning without its security problems.
- Get a list of all the nodes in your deployment...
- ...so that a single command can give you what previously you had to trawl multiple services (ENCs, CAs, etc...) on each Puppet master in your deployment to retrieve.
How does this work with ENCs? Will the ENC need to talk to Puppet sites for node information such as environment settings? When nodes are added and removed from Puppet sites will they be updated in the ENC and vice-versa.
- Store connection information for Puppet services in a central location (accessible from manifests, puppet.conf, and defaults.rb)...
- ...so that you don't have to manage puppet.conf files on each node in your population
- ...so that agent/master/CA configuration stays consistent across your deployment
- ...so that you can update your config and fetch a new catalog in a single operation.
So will each node then need to be configured with the location to Puppet sites?
Thanks in advance for the feedback!
- Daniel--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/cdG9GFFqvYEJ.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Thanks,
--
Romeo
Personally, I have no interest in logging into my puppet servers and
running commands. It seems like this problem is better solved with a
real monitoring solution.
On May 10, 12:44 pm, Daniel Sauble <djsau...@puppetlabs.com> wrote:
>
> - Securely add nodes to your deployment without manually signing
> certificates on the CA...
> - ...so that you can have the advantages of autosigning without its
> security problems.
>
I'm about to engage on a similar effort and was thinking of writing a
puppet face to handle this job. Can you elaborate on the work flow and
solution you're thinking about?
Use `puppet site status node02.domain.com` to confirm success
To stop waiting for the command to complete, press Ctrl-C.
The command will still complete in the background.
Added node02.domain.com to the site at site02.domain.com--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/dWo3QflKMogJ.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/W9hQXvYw3v8J.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Does this require that a human being has to be in the loop every time a node joins the site? How would one automate 100% the provisioning of new hosts? With the current system, I can turn on auto-sign and have some simple rules for which nodes I will accept, and trust in the knowledge that I have already ensured my network is secure enough to accept the risk of auto-signing. With that, I can automatically take a bare-metal server, and provision it all the way up to taking traffic without having anyone else involved. From the example above, having to generate the key on the master before I can provision puppet on the node seems to make that much more difficult.
Also, it would be good if you specify the issues that Sites is trying to solve in more detail. From my viewpoint, I don't have any issues with the current CA-based model. So I'm struggling to understand what you are trying to "fix". I'm sure I'm not alone, and I am assuming that I missing some details, so putting a more detailed description of the problems that the community is encountering, and how Sites would solve those would help with the discussion.
Just concerning this PSK aspect of Sites, would this also be a similar alternative to using a shared cert (or set of certs) in tandem with the node_name_value or node_name_fact, as was recently suggested by Gary in this thread?
https://groups.google.com/d/msg/puppet-users/2s0PJ7p_S7M/jLVUjL34Wz4J
We're just evaluating Puppet now, but I'd considered using this strategy with my cert(s) to allow me to more freely deploy/recycle nodes and with one less human involved.
Tim
Just concerning this PSK aspect of Sites, would this also be a similar alternative to using a shared cert (or set of certs) in tandem with the node_name_value or node_name_fact, as was recently suggested by Gary in this thread?
I have no issue with the PSK technique BUT, I do have a couple
questions/concerns:
1) Please keep the old syntax in place so that users don't have to run
about modifying scripts everywhere. Internal command aliases should
work fine.
2) You say that we shouldn't be trusting the network (fine), but now
we're to distribute a PSK via an unsigned format (tar) over what
medium? If you don't have some sort of authenticator/identifier for
your clients, anyone on the network could make the connection and snag
the PSK, though it may be encrypted with HTTPS or somesuch.
This is (unfortunately) just a hard problem if you can't trust your
network to some degree.
On Fri, 2012-05-11 at 09:39 -0700, Daniel Sauble wrote:
> Another problem is that if you move services around, you have to
> update puppet.conf on all nodes that use that service. For example, if
> you migrate your master to a new host, you have to update puppet.conf
> on every agent that uses that master. What Puppet Sites provides is a
> service registry that allows you to store this information in a
> central location. Your agents retrieve service connection information
> from the service registry. So, if your master switches to a different
> host, all you need do is update the host in the service registry, and
> all your agents will pick up that change automatically.
Sorry for chiming in late, but I'm just catching up on this discussion.
I didn't see explicit mention of it one way or the other, but I would
hope that whatever mechanism you are using for the service registry will
support some type of inheritance mechanism for assigning the
configuration settings at fairly arbitrary levels/grouping and not just
globally with per-host overrides.