Another solution in the same space is Clevis[1]; last time I was researching this problem, I came across it via Red Hat's docs[2].
[1]: https://github.com/latchset/clevis
[2]: https://access.redhat.com/documentation/en-us/red_hat_enterp...
edit: early-ssh is hosted at https://github.com/gheja/early-ssh . Not to knock early-ssh by saying it's difficult to work with too - it's a great piece of software which has made my life a lot easier.
Disclosure: I'm a contributor.