## remotefile{}
define remotefile($owner = root, $group = root, $path, $mode, $source, $backup = true, $recurse =
false, $module) {

$filedist = "$lsbdistid-$lsbdistrelease"

file {
$name:
mode => $mode,
owner => $owner,
group => $group,
backup => $backup,
path => $path,
recurse => $recurse,
source => [
"puppet://$puppet_server/private/$module/$source",
"puppet://$puppet_server/dists/$module/$filedist/$source",
"puppet://$puppet_server/dists/$module/$lsbdistid/$source",
"puppet://$puppet_server/dists/$module/default/$source",
"puppet://$puppet_server/$module/$filedist/$source",
"puppet://$puppet_server/$module/$lsbdistid/$source",
"puppet://$puppet_server/$module/default/$source"
]
}
}

## site.pp

$puppet_server = "blah.blah.stub"

## fileserver.conf [plain_text]
[seeds]
path /var/puppet/files/seeds
allow *

[dists]
path /var/puppet/files/dists
allow *

[private]
path /var/puppet/files/private/%h
allow *