node 'node1.example.org' { yum::repository { "custom": enable => true } }
custom repository, you create the following files in the appropriate location:
yum/$os/$osver/repos/custom.repo, and yum/$os/$osver/repos/custom.repo.disabled
[files] fileserver mount[files] share on the fileserver. yum/$os/$osver/repos/custom.repo, and yum/$os/$osver/repos/custom.repo.disabled
/var/lib/puppet/modules/ or /var/lib/puppet/modules/$environment/ in case you use staging environments. module_path/yum/files/$os/$osver/repos/custom.repo, and module_path/yum/files/$os/$osver/repos/custom.repo.disabled
$os and $osver$os and $osver in the repository configuration file location are mandatory, although .repo configuration files can be shared amongst different operating systems ($os), and different operating system versions ($osver). Most commonly though, repository configuration is valid for just one specific $os/$osver.
$os/$osver, consider the following options:
$ ls -l
drwxrwxr-x 3 jmeeuwen jmeeuwen 4096 2008-07-19 22:15 4
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 4.0 -> 4
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 4.1 -> 4
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 4.2 -> 4
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 4.3 -> 4
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 4.4 -> 4
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 4.5 -> 4
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 4.6 -> 4
drwxrwxr-x 3 jmeeuwen jmeeuwen 4096 2008-07-19 22:15 5
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 5.0 -> 5
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 5.1 -> 5
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-07-19 22:11 5.2 -> 5
$ ls -l
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 CentOS -> EL
drwxrwxr-x 3 jmeeuwen jmeeuwen 4096 2008-07-19 22:15 EL
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 RedHat -> EL
$ ls -l
lrwxrwxrwx 1 jmeeuwen jmeeuwen 1 2008-06-13 18:07 CentOS -> RedHat
drwxrwxr-x 3 jmeeuwen jmeeuwen 4096 2008-07-19 22:15 RedHat
$osver can be neglected in favor of using $releasever in the .repo repository configuration file, creating symbolic links between different versions of the distribution.