Skip to content

ivanxuu/puppet-nginx

 
 

Repository files navigation

NGINX Module

James Fryman [email protected]

This module manages NGINX from within Puppet.

Quick Start

Install and bootstrap an NGINX instance

    node default {
      class { 'nginx': }
    }

Setup a new virtual host

    node default {
      class { 'nginx': }
      nginx::resource::vhost { 'www.puppetlabs.com':
        ensure   => present,
        www_root => '/var/www/www.puppetlabs.com',
      }
    }

Add a Proxy Server(s)

   node default {
     class { 'nginx': }
     nginx::resource::upstream { 'puppet_rack_app':
       ensure  => present,
       members => [
         'localhost:3000', 
         'localhost:3001',
         'localhost:3002',
       ],
     }

     nginx::resource::vhost { 'rack.puppetlabs.com':
       ensure   => present,
       proxy  => 'http://puppet_rack_app',
     }
   } 

Add an smtp proxy

   node default {
     class { 'nginx':
       mail => true,
     }
     nginx::resource::mailhost { 'domain1.example':
       ensure      => present,
       auth_http   => 'server2.example/cgi-bin/auth',
       protocol    => 'smtp',
       listen_port => 587,
       ssl_port    => 465,
       starttls    => 'only',
       xclient     => 'off',
       ssl         => 'true',
       ssl_cert    => '/tmp/server.crt',
       ssl_key     => '/tmp/server.pem',
     }
   }

About

Puppet Module to manage NGINX on various UNIXes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Puppet 92.1%
  • Ruby 7.9%