Skip to content

@abhishekkr /git.pp
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Puppet Module : No Code In Data ~ create Facts using URL, File or any System Computation
# $MODULEPATH/httpd/manifests/git.pp
class httpd::git {
file {
"${::conf_dir}/git.conf":
ensure => 'present',
content => template('httpd/mynode.conf.erb'),
}
}
# $MODULEPATH/httpd/lib/facter/httpd_facts.rb
require 'facter'
###
## data from url, system file or any task/computation can be assigned here for facters
facters = {
:conf_dir => '/etc/httpd/conf.d',
:is_cgi => true,
:git_path => '/var/www/git',
:git_url => '/mygit'
}
##
###
facters.each_pair do |key, value|
Facter.add(key) do
setcode do
value
end
end
end
# $MODULEPATH/httpd/templates/mynode.conf.erb
Alias <%= git_url %> <%= git_path %>
<Directory <%= git_path %>>
<% if is_cgi === 'true' %> # because in Facts any (boolean) value is kept as string
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
<% end %>
</Directory>
puppet apply --modulepath=$MODULEPATH -e "include httpd::git"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.