require => Package["nginx"],
}
- define site($site = $domain, $ensure = present) {
+ define site($ensure = present, $source = 'file') {
# Proxy config file
- file { "/etc/nginx/sites-available/$site":
- source => "puppet://$server/files/etc/nginx/$site",
- owner => "root",
- group => "root",
- mode => 0644,
- ensure => $ensure,
- notify => Service["nginx"],
- require => File["/etc/nginx/sites-available"],
+ case $source {
+ 'file': {
+ file { "/etc/nginx/sites-available/$name":
+ source => "puppet://$server/files/etc/nginx/$name",
+ owner => "root",
+ group => "root",
+ mode => 0644,
+ ensure => $ensure,
+ notify => Service["nginx"],
+ require => File["/etc/nginx/sites-available"],
+ }
+ }
+ 'template': {
+ file { "/etc/nginx/sites-available/$name":
+ source => content("nginx/$name.erb"),
+ owner => "root",
+ group => "root",
+ mode => 0644,
+ ensure => $ensure,
+ notify => Service["nginx"],
+ require => File["/etc/nginx/sites-available"],
+ }
+ }
}
$link = $ensure ? {
- present => "/etc/nginx/sites-available/$site",
+ present => "/etc/nginx/sites-available/$name",
default => absent,
}
# Symlink to enable proxy configuration
- file { "/etc/nginx/sites-enabled/$site":
+ file { "/etc/nginx/sites-enabled/$name":
ensure => $link,
require => File["/etc/nginx/sites-enabled"],
notify => Service["nginx"],
notify => Service["nginx"],
}
- file { "/etc/nginx/sites-available/$name":
- content => template("nginx/puppetmaster.erb"),
- owner => "root",
- group => "root",
- mode => 0644,
+ site { "puppetmaster":
ensure => present,
- notify => Service["nginx"],
- require => File["/etc/nginx/sites-available"],
- }
-
- # Symlink to enable proxy configuration
- file { "/etc/nginx/sites-enabled/$name":
- ensure => "/etc/nginx/sites-available/$name",
- require => File["/etc/nginx/sites-enabled"],
- notify => Service["nginx"],
+ source => 'template',
+ require => File['/etc/nginx/conf.d/puppetmaster.conf'],
}
}
}