summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2013-01-18 17:33:52 -0200
committerSilvio Rhatto <rhatto@riseup.net>2013-01-18 17:33:52 -0200
commit532a4eee5fb4efe2bc09902a450ceeb53d908e31 (patch)
tree2b79e72a5b5ea1a1f672b4c4e0d6668938dc52ec
parentacf5e40d9b38de5be299f876d0e6c221ccebbe30 (diff)
downloadpuppet-nginx-532a4eee5fb4efe2bc09902a450ceeb53d908e31.tar.gz
puppet-nginx-532a4eee5fb4efe2bc09902a450ceeb53d908e31.tar.bz2
Split classes across files
-rw-r--r--manifests/base.pp85
-rw-r--r--manifests/init.pp131
-rw-r--r--manifests/puppetmaster.pp44
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"),
+ }
+}