Puppet Class: nginx_proxy

Defined in:
manifests/init.pp

Overview

Creates a simple nginx.conf for a reverse proxy setup See exammple.pp for sample usage.

Parameters:

  • access_log (Any) (defaults to: '/var/log/nginx/access.log')
  • config_file (Any) (defaults to: '/etc/nginx/nginx.conf')
  • docroot (Any) (defaults to: '/usr/share/nginx/html')
  • dynamic_modules (Any) (defaults to: '/usr/share/nginx/modules/*.conf')
  • error_log (Any) (defaults to: '/var/log/nginx/error.log')
  • locations (Any) (defaults to: [])
  • mime_include (Any) (defaults to: '/etc/nginx/mime.types')
  • pid_file (Any) (defaults to: '/run/nginx.pid')
  • port_http (Any) (defaults to: 80)
  • port_https (Any) (defaults to: 443)
  • required_packages (Any) (defaults to: ['nginx'])
  • server_name (Any) (defaults to: '_')
  • ssl_certificate (Any) (defaults to: '/etc/pki/tls/certs/localhost.crt')
  • ssl_certificate_key (Any) (defaults to: '/etc/pki/tls/private/localhost.key')
  • ssl_session_cache (Any) (defaults to: 'shared:SSL:1m')
  • ssl_session_timeout (Any) (defaults to: '10m')
  • ssl_ciphers (Any) (defaults to: 'HIGH:!aNULL:!MD5')
  • ssl_prefer_server_ciphers (Any) (defaults to: 'on')
  • upstreams (Any) (defaults to: [])
  • user (Any) (defaults to: 'nginx')
  • worker_connections (Any) (defaults to: 1024)
  • worker_processes (Any) (defaults to: 'auto')


4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'manifests/init.pp', line 4

class nginx_proxy (
  $access_log                = '/var/log/nginx/access.log',
  $config_file               = '/etc/nginx/nginx.conf',
  $docroot                   = '/usr/share/nginx/html',
  $dynamic_modules           = '/usr/share/nginx/modules/*.conf',
  $error_log                 = '/var/log/nginx/error.log',
  $locations                 = [],
  $mime_include              = '/etc/nginx/mime.types',
  $pid_file                  = '/run/nginx.pid',
  $port_http                 = 80,
  $port_https                = 443,
  $required_packages         = ['nginx'],
  $server_name              = '_',
  $ssl_certificate           = '/etc/pki/tls/certs/localhost.crt',
  $ssl_certificate_key       = '/etc/pki/tls/private/localhost.key',
  $ssl_session_cache         = 'shared:SSL:1m',
  $ssl_session_timeout       = '10m',
  $ssl_ciphers               = 'HIGH:!aNULL:!MD5',
  $ssl_prefer_server_ciphers = 'on',
  $upstreams                 = [],
  $user                      = 'nginx',
  $worker_connections        = 1024,
  $worker_processes          = 'auto',
){
  file { $config_file:
    ensure  => file,
    content => template('nginx_proxy/nginx.conf.erb'),
    owner   => $user,
    require => Package[$required_packages],
  }
}