Add FreeIPA enrollment template
authorJuan Antonio Osorio Robles <jaosorior@redhat.com>
Wed, 7 Dec 2016 10:12:25 +0000 (12:12 +0200)
committerJuan Antonio Osorio Robles <jaosorior@redhat.com>
Fri, 9 Dec 2016 14:07:54 +0000 (16:07 +0200)
commit7611f45722671bd007a8f4f5774473cadac00f76
treec5e897c3a4aa608f768766651cfdf5261333405a
parent1e11997e76a0d4dfba7909ad242882ef91967b4e
Add FreeIPA enrollment template

This is based on previous work [1] and it's what I've been using to
test the TLS-everywhere work.

This introduces a template that will run on every node to enroll
them to FreeIPA and acquire a ticket (authenticate) in order to be
able to request certificates.

Enrollment is done via the ipa-client-install command and it does
the following:

* Get FreeIPA's CA certificate and trust it.
* Authenticate to FreeIPA using an OTP and get a kerberos keytab.
* Set up several configurations that are needed for FreeIPA (sssd,
  kerberos, certmonger)

The keytab is then used to authenticate and get an actual TGT
(Ticket-Granting-Ticket) from Kerberos

The previous implementation used a PreConfig hook, however, here it
was modified to use NodeTLSCAData. This has the advantage that it
runs on every node as opposed to the PreConfig hook where we had to
specify the role type so it's a usability improvement. And, on the
other hand, this does set up necessary things for the usage of
FreeIPA as a CA, such as getting the certificate and enrolling to the
CA.

[1] https://github.com/JAORMX/freeipa-tripleo-incubator

bp tls-via-certmonger

Change-Id: Iac94b3b047dca1bcabd464ea8eed6f1220c844f1
puppet/extraconfig/tls/freeipa-enroll.yaml [new file with mode: 0644]