Skip to content

Instantly share code, notes, and snippets.

@abhishekkr
Created September 9, 2012 11:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abhishekkr/3683955 to your computer and use it in GitHub Desktop.
Save abhishekkr/3683955 to your computer and use it in GitHub Desktop.
Puppet Module : No Code In Data ~ Externalize into Params Manifest
# $MODULEPATH/httpd/manifests/git.pp
class httpd::git {
include httpd::params
$is_cgi = $httpd::params::is_cgi
$path = $httpd::params::path
$url = $httpd::params::url
file {
"${httpd::params::conf_path}/git.conf":
ensure => 'present',
content => template('httpd/mynode.conf.erb'),
}
}
# $MODULEPATH/httpd/templates/mynode.conf.erb
Alias <%= url %> <%= path %>
<Directory <%= path %>>
<% if is_cgi %>
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
<% end %>
</Directory>
# $MODULEPATH/httpd/manifests/params.pp
class httpd::params {
$conf_path = '/etc/httpd/conf.d/'
$is_cgi = true
$path = '/var/www/git'
$url = '/mygit'
}
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