# TODO: check permission on SSL keys class nginx { # the needed packages package { "nginx": ensure => installed, } # nginx service service { "nginx": enable => true, ensure => running, hasrestart => true, require => [ File["/etc/nginx/sites-enabled/$domain"], Package["nginx"] ], } # proxy config file file { "/etc/nginx/sites-available/$domain": source => "puppet://$server/files/etc/nginx/$domain", owner => "root", group => "root", mode => 0644, ensure => present, notify => Service["nginx"], require => File["/etc/nginx/sites-available"], } # symlink to enable proxy configuration file { "/etc/nginx/sites-enabled/$domain": ensure => "/etc/nginx/sites-available/$domain", require => File["/etc/nginx/sites-enabled"], notify => Service["nginx"], } # config folders # see http://projects.reductivelabs.com/issues/86 file { [ "/etc/nginx", "/etc/nginx/sites-available", "/etc/nginx/sites-enabled" ]: ensure => directory, owner => "root", group => "root", } }