class nginx::puppetmaster inherits nginx::base { $worker_processes = hiera('puppet::master::worker_processes', 4) $puppetmaster_certname = hiera('puppet::master::certname', "puppet.${::domain}") $worker_connections = 1024 $ssl_port = 8140 $non_ssl_port = 8141 $puppetmaster_servers = [ "127.0.0.1:18140", "127.0.0.1:18141", "127.0.0.1:18142", "127.0.0.1:18143" ] file { "/etc/nginx/conf.d/puppetmaster.conf": content => template("nginx/puppetmaster.conf.erb"), owner => "root", group => "root", mode => 0644, ensure => present, notify => Service["nginx"], } nginx::base::site { "puppetmaster": ensure => present, source => 'template', require => File['/etc/nginx/conf.d/puppetmaster.conf'], } # We don't want nginx to listen at port 80 nginx::base::site { "default": source => 'none', ensure => absent, } File["/etc/nginx/nginx.conf"] { content => template("nginx/nginx.conf.puppetmaster.erb"), } } class nginx::puppetmaster::disabled inherits nginx::puppetmaster { File["/etc/nginx/nginx.conf", "/etc/nginx/conf.d/puppetmaster.conf", "/etc/nginx", "/etc/nginx/sites-available", "/etc/nginx/sites-enabled"] { ensure => absent, force => true, } Service['nginx'] { enable => false, ensure => stopped, } Nginx::Base::Site['puppetmaster'] { ensure => absent, } Package['nginx'] { ensure => absent, } }