In Puppet 6.0 we're going to be getting rid of all of the old ruby CLI tools for interacting with the CA.
We can't do that without having solid replacements for them as part of Puppet Server's new CA service.
I've discussed this with Eric Sorenson and he's not too concerned about JVM startup time, so I think we should probably just implement these as clojure subcommands like we did with 'gem', and have them call straight into the CA library code. Another option would be to implement them as HTTP requests to the CA, but then we'd need to deal with certs for authentication and could potentially end up in a state where a user didn't have any valid certs to use to connect and thus could not run the commands.
*Note*: the initial pass of these should use the puppet.conf settings (implementation for accessing them is https://github.com/puppetlabs/puppetserver-ca-cli/blob/master/lib/puppetserver/ca/puppet_config.rb), but be able to easily accommodate switching this out for using puppetserver's settings later, as will be necessary post SERVER-2225.