diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2013-01-18 17:33:52 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2013-01-18 17:33:52 -0200 |
commit | 532a4eee5fb4efe2bc09902a450ceeb53d908e31 (patch) | |
tree | 2b79e72a5b5ea1a1f672b4c4e0d6668938dc52ec | |
parent | acf5e40d9b38de5be299f876d0e6c221ccebbe30 (diff) | |
download | puppet-nginx-532a4eee5fb4efe2bc09902a450ceeb53d908e31.tar.gz puppet-nginx-532a4eee5fb4efe2bc09902a450ceeb53d908e31.tar.bz2 |
Split classes across files
-rw-r--r-- | manifests/base.pp | 85 | ||||
-rw-r--r-- | manifests/init.pp | 131 | ||||
-rw-r--r-- | manifests/puppetmaster.pp | 44 |
3 files changed, 129 insertions, 131 deletions
diff --git a/manifests/base.pp b/manifests/base.pp new file mode 100644 index 0000000..cc1bb4a --- /dev/null +++ b/manifests/base.pp @@ -0,0 +1,85 @@ +# Base class +class nginx::base { + + $ssl = $nginx_ssl ? { + false => false, + default => true, + } + + # Setup packages + package { "nginx": ensure => installed, } + + # 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", + } + + service { "nginx": + enable => true, + ensure => running, + hasrestart => true, + require => Package["nginx"], + } + + define site($ensure = present, $source = 'file') { + # Proxy config file + case $source { + 'file': { + file { "/etc/nginx/sites-available/$name": + source => "puppet:///modules/site-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": + content => template("nginx/$name.erb"), + owner => "root", + group => "root", + mode => 0644, + ensure => $ensure, + notify => Service["nginx"], + require => File["/etc/nginx/sites-available"], + } + } + 'none': { + file { "/etc/nginx/sites-available/$name": + owner => "root", + group => "root", + mode => 0644, + ensure => $ensure, + notify => Service["nginx"], + require => File["/etc/nginx/sites-available"], + } + } + } + + $link = $ensure ? { + present => "/etc/nginx/sites-available/$name", + default => absent, + } + + # Symlink to enable proxy configuration + file { "/etc/nginx/sites-enabled/$name": + ensure => $link, + require => File["/etc/nginx/sites-enabled"], + notify => Service["nginx"], + } + } + + # Main configuration + file { "/etc/nginx/nginx.conf": + content => template("nginx/nginx.conf.erb"), + owner => "root", + group => "root", + mode => 0644, + ensure => present, + notify => Service["nginx"], + } +} diff --git a/manifests/init.pp b/manifests/init.pp index f471b09..87a0ea1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -16,92 +16,6 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Base class -class nginx::base { - - $ssl = $nginx_ssl ? { - false => false, - default => true, - } - - # Setup packages - package { "nginx": ensure => installed, } - - # 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", - } - - service { "nginx": - enable => true, - ensure => running, - hasrestart => true, - require => Package["nginx"], - } - - define site($ensure = present, $source = 'file') { - # Proxy config file - case $source { - 'file': { - file { "/etc/nginx/sites-available/$name": - source => "puppet:///modules/site-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": - content => template("nginx/$name.erb"), - owner => "root", - group => "root", - mode => 0644, - ensure => $ensure, - notify => Service["nginx"], - require => File["/etc/nginx/sites-available"], - } - } - 'none': { - file { "/etc/nginx/sites-available/$name": - owner => "root", - group => "root", - mode => 0644, - ensure => $ensure, - notify => Service["nginx"], - require => File["/etc/nginx/sites-available"], - } - } - } - - $link = $ensure ? { - present => "/etc/nginx/sites-available/$name", - default => absent, - } - - # Symlink to enable proxy configuration - file { "/etc/nginx/sites-enabled/$name": - ensure => $link, - require => File["/etc/nginx/sites-enabled"], - notify => Service["nginx"], - } - } - - # Main configuration - file { "/etc/nginx/nginx.conf": - content => template("nginx/nginx.conf.erb"), - owner => "root", - group => "root", - mode => 0644, - ensure => present, - notify => Service["nginx"], - } -} - class nginx inherits nginx::base { case $ssl { true: { @@ -138,48 +52,3 @@ class nginx inherits nginx::base { # Domain site nginx::base::site { "$domain": ensure => present, } } - -class nginx::puppetmaster inherits nginx::base { - - $worker_processes = $puppetmaster_puppetmasters ? { - '' => 4, - default => $puppetmaster_puppetmasters, - } - - case $puppetmaster_certname { - '': { $puppetmaster_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"), - } -} diff --git a/manifests/puppetmaster.pp b/manifests/puppetmaster.pp new file mode 100644 index 0000000..6bbe046 --- /dev/null +++ b/manifests/puppetmaster.pp @@ -0,0 +1,44 @@ +class nginx::puppetmaster inherits nginx::base { + + $worker_processes = $puppetmaster_puppetmasters ? { + '' => 4, + default => $puppetmaster_puppetmasters, + } + + case $puppetmaster_certname { + '': { $puppetmaster_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"), + } +} |