Hi,
I haven't built this kind of scheme, but yes, Puppet should be able to
do this for you.
You will have to implement
1. A defined type that signs a cert for a given CN.
2. A custom fact that holds all signed certificates in a hash structure
suitable for
3. A defined type that wraps the export of
4. A defined type that installs a certificate from PEM input at the
appropriate location.
Each agent node that needs a cert will *export* the "sign cert" resource.
@@cert_to_sign { "service-x": cn => $fqdn, target =>
'/some/cert/location.pem' }
The CA machine collects all these requests.
Cert_to_sign<<| |>>
It also exports these certificates back to the requestors.
create_resources('export_signed_cert', $signed_cert_list) # <- this is
the custom fact
define export_signed_cert($cn,$target,$pem_content) {
@@signed_cert { $name: cn => $cn, target => $cn, content =>
$pem_content }
}
Then each agent can import its own certificates.
Signed_cert<<| cn == $fqdn |>>
This is all quite abstract and I'm not sure I've thought everything
through. But this could be a rough design for what you need.
HTH,
Felix
On 01/03/2015 02:34 AM, Tom Noonan wrote:
> Hello, list:
> I'm looking for information/tutorials on using Puppet to generate
> SSL certs for a service managed by Puppet, not Puppet itself. What I
> would like to do is give Puppet access to internal CA keys and have it
> generate and sign certs for services it manages. This will allow me to
> use CA certs for trust without the pain of hand managing my CA.
> I'm hoping someone had trod this path and can provide pointers, as
> this is difficult to Google as I'm not interested in Puppet's internal
> certs. Thanks.
>
> --Tom Noonan II
--
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/54AC7279.3080807%40Alumni.TU-Berlin.de.
For more options, visit https://groups.google.com/d/optout.