| The https://github.com/puppetlabs/puppet-agent-bootstrap application was created to allow the agent to generate a CSR in a way that doesn't requires network access to the CA (since the CA requires the SSL client to provide a client certificate, which the agent doesn't have yet). The application uses Puppet::SSL::Host.localhost to accomplish this and it works in 5.5.x. However, the version in puppet#master does not due to:
git bisect good |
de34cc03d570a7f06b117c1f1387c40cb6353377 is the first bad commit |
commit de34cc03d570a7f06b117c1f1387c40cb6353377 |
Author: Maggie Dreyer <mag...@puppet.com> |
Date: Mon Aug 27 17:09:13 2018 -0700 |
|
(PUP-8912) Remove CertificateAuthority, fixup Host |
|
This commit removes the CertificateAuthority class and begins cleaning |
up the consequences: |
* Remove CA logic from SSL::Host |
* Remove certificate_status indirection |
* Remove CA logic from ssl_file |
* Get Host unit tests passing
|
In particular, the `Host#ca_location=` method was removed which the bootstrap application used to set to `:none`, to prevent the Host from accessing the CA. We should add a puppet ssl generate_csr action to generate the private key and CSR, but not submit the CSR. Once that's done, puppet-agent-bootstrap could be deprecated and archived. |