Most exported resource documentation starts with an SSH key example. sshkey
is a Puppet type that creates or destroys entries in the ssh_known_hosts
file used by SSH to verify the validity of remote servers. The sshkey
example is a great use of exported resources, but since most examples put the declaration and collecting phases in the same class, it may be a confusing example for those starting out learning exported resources. It's important to remember that exporting and collecting are different operations.
We'll outline an enterprise application of the sshkey
example and define a class for login servers—any server that allows users to log in directly. Using that class to define exported resources for ssh_host_keys
, we'll then create an ssh_client
class that collects all the login server ssh_keys
. In this way, we can apply the ssh_client
class to any laptops that might connect and have them get updated SSH host keys. To make this an interesting...