From what I'm reading it seems cron is built into Puppet.
cron { 'apply puppet master config':
command => 'puppet apply /etc/puppetlabs/puppet/master.pp',
hour => [ 12, 0 ],
}
Yet when I try to run the above configuration I get the following error:
Error: Could not find a suitable provider for cron
Why isn't Puppet using the built in cron type?
Despite the fact that my system had cron jobs located in /etc/cron.daily
and /etc/cron.weekly
the cron package on ubuntu which Puppet relies on wasn't installed. (As pointed out in comments by Dominic & Matt).
I was able to fix this by adding this to my configuration file before running the cron configuration:
package { 'cron':
ensure => installed,
}