Finding out facts
It's very common for Puppet manifests to need to know something about the system they're running on; for example, its hostname, IP address, or operating system version. Puppet's built-in mechanism for getting system information is called Facter, and each piece of information provided by Facter is known as a fact.
Using the facts hash
You can access Facter facts in your manifest using the facts hash. This is a Puppet variable called $facts
which is available everywhere in the manifest, and to get a particular fact, you supply the name of the fact you want as the key (facts_hash.pp
):
notice($facts['kernel'])
On the Vagrant box, or any Linux system, this will return the value Linux
.
In older versions of Puppet, each fact was a distinct global variable, like this:
notice($::kernel)
You will still see this style of fact reference in some Puppet code, though it is now deprecated and will eventually stop working, so you should always use the $facts
hash instead.