If you are building Puppet nodes in a cloud environment you might be assigned a random hostname/domain name when bringing up the host. This becomes problematic when you join the agent to your Puppet master since you’ll get this random hostname in certificate list.
To explicitly define your host or domain name you’ll want to use the
certname directive in your /etc/puppet/puppet.conf file.
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
certname=webserver1.dky.io
Once the certname directive is configured, this hostname will be used rather than the default system fqdn.