diff options
| author | elijah <elijah@riseup.net> | 2013-03-17 13:15:51 -0700 | 
|---|---|---|
| committer | elijah <elijah@riseup.net> | 2013-03-17 13:15:51 -0700 | 
| commit | ad62cfdad04c8f8ed9d6454f716c92e850ac53ba (patch) | |
| tree | c4321297d2b60edc37ca10501340cb865d95bfa5 /puppet | |
| parent | 4ec32a1f773918b2c7a42c117fbad110c07df458 (diff) | |
added support for "limited" service levels (although vpn is not yet actually rate limited).
Diffstat (limited to 'puppet')
| -rw-r--r-- | puppet/modules/site_openvpn/README | 20 | ||||
| -rw-r--r-- | puppet/modules/site_openvpn/manifests/init.pp | 150 | ||||
| -rw-r--r-- | puppet/modules/site_openvpn/manifests/resolver.pp | 90 | ||||
| -rw-r--r-- | puppet/modules/site_openvpn/manifests/server_config.pp | 9 | ||||
| -rw-r--r-- | puppet/modules/site_openvpn/templates/add_gateway_ips.sh.erb (renamed from puppet/modules/site_openvpn/templates/leap_add_second_ip.sh.erb) | 6 | ||||
| -rw-r--r-- | puppet/modules/site_shorewall/manifests/dnat_rule.pp | 40 | ||||
| -rw-r--r-- | puppet/modules/site_shorewall/manifests/eip.pp | 61 | ||||
| -rw-r--r-- | puppet/modules/site_webapp/templates/config.yml.erb | 13 | 
8 files changed, 247 insertions, 142 deletions
diff --git a/puppet/modules/site_openvpn/README b/puppet/modules/site_openvpn/README new file mode 100644 index 00000000..cef5be23 --- /dev/null +++ b/puppet/modules/site_openvpn/README @@ -0,0 +1,20 @@ +Place to look when debugging problems +======================================== + +Log files: + +    openvpn: /var/log/syslog +    shorewall: /var/log/syslog +    shorewall startup: /var/log/shorewall-init.log + +Check NAT masq: + +    iptables -t nat --list-rules + +Check interfaces: + +   ip addr ls + +Scripts: + +   /usr/local/bin/add_gateway_ips.sh
\ No newline at end of file diff --git a/puppet/modules/site_openvpn/manifests/init.pp b/puppet/modules/site_openvpn/manifests/init.pp index 0c9f1795..c54bb782 100644 --- a/puppet/modules/site_openvpn/manifests/init.pp +++ b/puppet/modules/site_openvpn/manifests/init.pp @@ -1,84 +1,128 @@ +# +# An openvpn gateway can support three modes: +# +#   (1) limited and unlimited +#   (2) unlimited only +#   (3) limited only +# +# The difference is that 'unlimited' gateways only allow client certs that match the 'unlimited_prefix', +# and 'limited' gateways only allow certs that match the 'limited_prefix'. +# +# We potentially create four openvpn config files (thus four daemons): +# +#   (1) unlimited + tcp => tcp_config.conf +#   (2) unlimited + udp => udp_config.conf +#   (3) limited + tcp => limited_tcp_config.conf +#   (4) limited + udp => limited_udp_config.conf +# +  class site_openvpn {    tag 'leap_service' -  # parse hiera config -  $ip_address                 = hiera('ip_address') -  $interface                  = getvar("interface_${ip_address}") -  $openvpn_config             = hiera('openvpn') -  $openvpn_gateway_address    = $openvpn_config['gateway_address'] -  $openvpn_tcp_network_prefix = '10.1.0' -  $openvpn_tcp_netmask        = '255.255.248.0' -  $openvpn_tcp_cidr           = '21' -  $openvpn_udp_network_prefix = '10.2.0' -  $openvpn_udp_netmask        = '255.255.248.0' -  $openvpn_udp_cidr           = '21' -  $openvpn_allow_free         = $openvpn_config['allow_free'] -  $openvpn_free_gateway_address = $openvpn_config['free_gateway_address'] -  $openvpn_free_rate_limit    = $openvpn_config['free_rate_limit'] -  $openvpn_free_prefix        = $openvpn_config['free_prefix'] -  $x509_config                = hiera('x509') +  $openvpn_config   = hiera('openvpn') +  $x509_config      = hiera('x509') +  $ip_address       = hiera('ip_address') +  $interface        = getvar("interface_${ip_address}") +  $openvpn_ports    = $openvpn_config['ports'] +  $openvpn_gateway_address         = $openvpn_config['gateway_address'] +  $openvpn_second_gateway_address  = undef +  if $openvpn_config['second_gateway_address'] { +    $openvpn_second_gateway_address = $openvpn_config['second_gateway_address'] +  } + +  $openvpn_allow_unlimited              = $openvpn_config['allow_unlimited'] +  $openvpn_unlimited_prefix             = $openvpn_config['unlimited_prefix'] +  $openvpn_unlimited_tcp_network_prefix = '10.41.0' +  $openvpn_unlimited_tcp_netmask        = '255.255.248.0' +  $openvpn_unlimited_tcp_cidr           = '21' +  $openvpn_unlimited_udp_network_prefix = '10.42.0' +  $openvpn_unlimited_udp_netmask        = '255.255.248.0' +  $openvpn_unlimited_udp_cidr           = '21' + +  $openvpn_allow_limited                = $openvpn_config['allow_limited'] +  $openvpn_limited_prefix               = $openvpn_config['limited_prefix'] +  $openvpn_rate_limit                   = $openvpn_config['rate_limit'] +  $openvpn_limited_tcp_network_prefix   = '10.43.0' +  $openvpn_limited_tcp_netmask          = '255.255.248.0' +  $openvpn_limited_tcp_cidr             = '21' +  $openvpn_limited_udp_network_prefix   = '10.44.0' +  $openvpn_limited_udp_netmask          = '255.255.248.0' +  $openvpn_limited_udp_cidr             = '21'    # deploy ca + server keys    include site_openvpn::keys -  # create 2 openvpn config files, one for tcp, one for udp -  site_openvpn::server_config { 'tcp_config': -    port        => '1194', -    proto       => 'tcp', -    local       => $openvpn_gateway_address, -    server      => "${openvpn_tcp_network_prefix}.0 ${openvpn_tcp_netmask}", -    push        => "\"dhcp-option DNS ${openvpn_tcp_network_prefix}.1\"", -    management  => '127.0.0.1 1000' +  if $openvpn_allow_unlimited and $openvpn_allow_limited { +    $unlimited_gateway_address = $openvpn_gateway_address +    $limited_gateway_address = $openvpn_second_gateway_address +  } elsif $openvpn_allow_unlimited { +    $unlimited_gateway_address = $openvpn_gateway_address +    $limited_gateway_address = undef +  } elsif $openvpn_allow_limited { +    $unlimited_gateway_address = undef +    $limited_gateway_address = $openvpn_gateway_address    } -  site_openvpn::server_config { 'udp_config': -    port        => '1194', -    proto       => 'udp', -    local       => $openvpn_gateway_address, -    server      => "${openvpn_udp_network_prefix}.0 ${openvpn_udp_netmask}", -    push        => "\"dhcp-option DNS ${openvpn_udp_network_prefix}.1\"", -    management  => '127.0.0.1 1001' +  if $openvpn_allow_unlimited { +    site_openvpn::server_config { 'tcp_config': +      port        => '1194', +      proto       => 'tcp', +      local       => $unlimited_gateway_address, +      tls_remote  => "\"${openvpn_unlimited_prefix}\"", +      server      => "${openvpn_unlimited_tcp_network_prefix}.0 ${openvpn_unlimited_tcp_netmask}", +      push        => "\"dhcp-option DNS ${openvpn_unlimited_tcp_network_prefix}.1\"", +      management  => '127.0.0.1 1000' +    } +    site_openvpn::server_config { 'udp_config': +      port        => '1194', +      proto       => 'udp', +      local       => $unlimited_gateway_address, +      tls_remote  => "\"${openvpn_unlimited_prefix}\"", +      server      => "${openvpn_unlimited_udp_network_prefix}.0 ${openvpn_unlimited_udp_netmask}", +      push        => "\"dhcp-option DNS ${openvpn_unlimited_udp_network_prefix}.1\"", +      management  => '127.0.0.1 1001' +    } +  } else { +    tidy { "/etc/openvpn/tcp_config.conf": } +    tidy { "/etc/openvpn/udp_config.conf": }    } -  if $openvpn_allow_free { -    site_openvpn::server_config { 'free_tcp_config': +  if $openvpn_allow_limited { +    site_openvpn::server_config { 'limited_tcp_config':        port        => '1194',        proto       => 'tcp', -      local       => $openvpn_free_gateway_address, -      tls_remote  => "\"${openvpn_free_prefix}\"", -      shaper      => $openvpn_free_rate_limit, -      server      => "${openvpn_tcp_network_prefix}.0 ${openvpn_tcp_netmask}", -      push        => "\"dhcp-option DNS ${openvpn_tcp_network_prefix}.1\"", +      local       => $limited_gateway_address, +      tls_remote  => "\"${openvpn_limited_prefix}\"", +      server      => "${openvpn_limited_tcp_network_prefix}.0 ${openvpn_limited_tcp_netmask}", +      push        => "\"dhcp-option DNS ${openvpn_limited_tcp_network_prefix}.1\"",        management  => '127.0.0.1 1002'      } -    site_openvpn::server_config { 'free_udp_config': +    site_openvpn::server_config { 'limited_udp_config':        port        => '1194',        proto       => 'udp', -      local       => $openvpn_free_gateway_address, -      tls_remote  => "\"${openvpn_free_prefix}\"", -      shaper      => $openvpn_free_rate_limit, -      server      => "${openvpn_udp_network_prefix}.0 ${openvpn_udp_netmask}", -      push        => "\"dhcp-option DNS ${openvpn_udp_network_prefix}.1\"", +      local       => $limited_gateway_address, +      tls_remote  => "\"${openvpn_limited_prefix}\"", +      server      => "${openvpn_limited_udp_network_prefix}.0 ${openvpn_limited_udp_netmask}", +      push        => "\"dhcp-option DNS ${openvpn_limited_udp_network_prefix}.1\"",        management  => '127.0.0.1 1003'      }    } else { -    tidy { "/etc/openvpn/free_tcp_config.conf": } -    tidy { "/etc/openvpn/free_udp_config.conf": } +    tidy { "/etc/openvpn/limited_tcp_config.conf": } +    tidy { "/etc/openvpn/limited_udp_config.conf": }    } -  # add second IP on given interface    file { -    '/usr/local/bin/leap_add_second_ip.sh': -      content => template('site_openvpn/leap_add_second_ip.sh.erb'), +    '/usr/local/bin/add_gateway_ips.sh': +      content => template('site_openvpn/add_gateway_ips.sh.erb'),        mode    => '0755';    } -  exec { '/usr/local/bin/leap_add_second_ip.sh': -    subscribe   => File['/usr/local/bin/leap_add_second_ip.sh'], +  exec { '/usr/local/bin/add_gateway_ips.sh': +    subscribe   => File['/usr/local/bin/add_gateway_ips.sh'],    } -  cron { 'leap_add_second_ip.sh': -    command => '/usr/local/bin/leap_add_second_ip.sh', +  cron { 'add_gateway_ips.sh': +    command => '/usr/local/bin/add_gateway_ips.sh',      user    => 'root',      special => 'reboot',    } diff --git a/puppet/modules/site_openvpn/manifests/resolver.pp b/puppet/modules/site_openvpn/manifests/resolver.pp index 26785edb..dc31767c 100644 --- a/puppet/modules/site_openvpn/manifests/resolver.pp +++ b/puppet/modules/site_openvpn/manifests/resolver.pp @@ -1,5 +1,53 @@  class site_openvpn::resolver { +  if $site_openvpn::openvpn_allow_unlimited { +    $ensure_unlimited = 'present' +    file { +      '/etc/unbound/conf.d/vpn_unlimited_udp_resolver': +        content => "interface: ${site_openvpn::openvpn_unlimited_udp_network_prefix}.1\naccess-control: ${site_openvpn::openvpn_unlimited_udp_network_prefix}.0/${site_openvpn::openvpn_unlimited_udp_cidr} allow\n", +        owner   => root, +        group   => root, +        mode    => '0644', +        require => Service['openvpn'], +        notify  => Service['unbound']; +      '/etc/unbound/conf.d/vpn_unlimited_tcp_resolver': +        content => "interface: ${site_openvpn::openvpn_unlimited_tcp_network_prefix}.1\naccess-control: ${site_openvpn::openvpn_unlimited_tcp_network_prefix}.0/${site_openvpn::openvpn_unlimited_tcp_cidr} allow\n", +        owner   => root, +        group   => root, +        mode    => '0644', +        require => Service['openvpn'], +        notify  => Service['unbound']; +    } +  } else { +    $ensure_unlimited = 'absent' +    tidy { '/etc/unbound/conf.d/vpn_unlimited_udp_resolver': } +    tidy { '/etc/unbound/conf.d/vpn_unlimited_tcp_resolver': } +  } + +  if $site_openvpn::openvpn_allow_limited { +    $ensure_limited = 'present' +    file { +      '/etc/unbound/conf.d/vpn_limited_udp_resolver': +        content => "interface: ${site_openvpn::openvpn_limited_udp_network_prefix}.1\naccess-control: ${site_openvpn::openvpn_limited_udp_network_prefix}.0/${site_openvpn::openvpn_limited_udp_cidr} allow\n", +        owner   => root, +        group   => root, +        mode    => '0644', +        require => Service['openvpn'], +        notify  => Service['unbound']; +      '/etc/unbound/conf.d/vpn_limited_tcp_resolver': +        content => "interface: ${site_openvpn::openvpn_limited_tcp_network_prefix}.1\naccess-control: ${site_openvpn::openvpn_limited_tcp_network_prefix}.0/${site_openvpn::openvpn_limited_tcp_cidr} allow\n", +        owner   => root, +        group   => root, +        mode    => '0644', +        require => Service['openvpn'], +        notify  => Service['unbound']; +    } +  } else { +    $ensure_limited = 'absent' +    tidy { '/etc/unbound/conf.d/vpn_limited_udp_resolver': } +    tidy { '/etc/unbound/conf.d/vpn_limited_tcp_resolver': } +  } +    # this is an unfortunate way to get around the fact that the version of    # unbound we are working with does not accept a wildcard include directive    # (/etc/unbound/conf.d/*), when it does, these line definitions should @@ -7,36 +55,30 @@ class site_openvpn::resolver {    # include: /etc/unbound/conf.d/*    line { -    'add_tcp_resolver': -      ensure  => present, +    'add_unlimited_tcp_resolver': +      ensure  => $ensure_unlimited,        file    => '/etc/unbound/unbound.conf', -      line    => 'server: include: /etc/unbound/conf.d/vpn_tcp_resolver', +      line    => 'server: include: /etc/unbound/conf.d/vpn_unlimited_tcp_resolver',        notify  => Service['unbound'],        require => Package['unbound']; - -    'add_udp_resolver': -      ensure  => present, +    'add_unlimited_udp_resolver': +      ensure  => $ensure_unlimited,        file    => '/etc/unbound/unbound.conf', -      line    => 'server: include: /etc/unbound/conf.d/vpn_udp_resolver', +      line    => 'server: include: /etc/unbound/conf.d/vpn_unlimited_udp_resolver', +      notify  => Service['unbound'], +      require => Package['unbound']; +    'add_limited_tcp_resolver': +      ensure  => $ensure_limited, +      file    => '/etc/unbound/unbound.conf', +      line    => 'server: include: /etc/unbound/conf.d/vpn_limited_tcp_resolver', +      notify  => Service['unbound'], +      require => Package['unbound']; +    'add_limited_udp_resolver': +      ensure  => $ensure_limited, +      file    => '/etc/unbound/unbound.conf', +      line    => 'server: include: /etc/unbound/conf.d/vpn_limited_udp_resolver',        notify  => Service['unbound'],        require => Package['unbound']    } -  file { -    '/etc/unbound/conf.d/vpn_udp_resolver': -      content => "interface: ${site_openvpn::openvpn_udp_network_prefix}.1\naccess-control: ${site_openvpn::openvpn_udp_network_prefix}.0/${site_openvpn::openvpn_udp_cidr} allow\n", -      owner   => root, -      group   => root, -      mode    => '0644', -      require => Service['openvpn'], -      notify  => Service['unbound']; - -    '/etc/unbound/conf.d/vpn_tcp_resolver': -      content => "interface: ${site_openvpn::openvpn_tcp_network_prefix}.1\naccess-control: ${site_openvpn::openvpn_tcp_network_prefix}.0/${site_openvpn::openvpn_tcp_cidr} allow\n", -      owner   => root, -      group   => root, -      mode    => '0644', -      require => Service['openvpn'], -      notify  => Service['unbound']; -  }  } diff --git a/puppet/modules/site_openvpn/manifests/server_config.pp b/puppet/modules/site_openvpn/manifests/server_config.pp index 1f42400a..a2e769e1 100644 --- a/puppet/modules/site_openvpn/manifests/server_config.pp +++ b/puppet/modules/site_openvpn/manifests/server_config.pp @@ -54,7 +54,7 @@  define site_openvpn::server_config(    $port, $proto, $local, $server, $push, -  $management, $tls_remote = undef, $shaper = undef) { +  $management, $tls_remote = undef) {    $openvpn_configname = $name @@ -68,13 +68,8 @@ define site_openvpn::server_config(          notify  => Service['openvpn'];    } -  # special options for the "free" gateway daemons -  if $shaper != undef { +  if $tls_remote != undef {      openvpn::option { -      "shaper $openvpn_configname": -         key     => 'shaper', -         value   => $shaper, -         server  => $openvpn_configname;        "tls-remote $openvpn_configname":           key     => 'tls-remote',           value   => $tls_remote, diff --git a/puppet/modules/site_openvpn/templates/leap_add_second_ip.sh.erb b/puppet/modules/site_openvpn/templates/add_gateway_ips.sh.erb index 40866116..ed06a95e 100644 --- a/puppet/modules/site_openvpn/templates/leap_add_second_ip.sh.erb +++ b/puppet/modules/site_openvpn/templates/add_gateway_ips.sh.erb @@ -3,9 +3,9 @@  ip addr show dev <%= @interface %> | grep -q <%= @openvpn_gateway_address %>/24 ||    ip addr add <%= @openvpn_gateway_address %>/24 dev <%= @interface %> -<% if @openvpn_allow_free %> -ip addr show dev <%= @interface %> | grep -q <%= @openvpn_free_gateway_address %>/24 || -  ip addr add <%= @openvpn_free_gateway_address %>/24 dev <%= @interface %> +<% if @openvpn_second_gateway_address %> +ip addr show dev <%= @interface %> | grep -q <%= @openvpn_second_gateway_address %>/24 || +  ip addr add <%= @openvpn_second_gateway_address %>/24 dev <%= @interface %>  <% end %>  /bin/echo 1 > /proc/sys/net/ipv4/ip_forward diff --git a/puppet/modules/site_shorewall/manifests/dnat_rule.pp b/puppet/modules/site_shorewall/manifests/dnat_rule.pp index 0b4370df..e1ea86ec 100644 --- a/puppet/modules/site_shorewall/manifests/dnat_rule.pp +++ b/puppet/modules/site_shorewall/manifests/dnat_rule.pp @@ -2,30 +2,32 @@ define site_shorewall::dnat_rule {    $port = $name    if $port != 1194 { -    shorewall::rule { -        "dnat_tcp_port_$port": -          action          => 'DNAT', -          source          => 'net', -          destination     => "\$FW:${site_openvpn::openvpn_gateway_address}:1194", -          proto           => 'tcp', -          destinationport => $port, -          order           => 100; -    } -    shorewall::rule { -        "dnat_udp_port_$port": -          action          => 'DNAT', -          source          => 'net', -          destination     => "\$FW:${site_openvpn::openvpn_gateway_address}:1194", -          proto           => 'udp', -          destinationport => $port, -          order           => 100; +    if $site_openvpn::openvpn_allow_paid { +      shorewall::rule { +          "dnat_tcp_port_$port": +            action          => 'DNAT', +            source          => 'net', +            destination     => "\$FW:${site_openvpn::paid_gateway_address}:1194", +            proto           => 'tcp', +            destinationport => $port, +            order           => 100; +      } +      shorewall::rule { +          "dnat_udp_port_$port": +            action          => 'DNAT', +            source          => 'net', +            destination     => "\$FW:${site_openvpn::paid_gateway_address}:1194", +            proto           => 'udp', +            destinationport => $port, +            order           => 100; +      }      }      if $site_openvpn::openvpn_allow_free {        shorewall::rule {            "dnat_free_tcp_port_$port":              action          => 'DNAT',              source          => 'net', -            destination     => "\$FW:${site_openvpn::openvpn_free_gateway_address}:1194", +            destination     => "\$FW:${site_openvpn::free_gateway_address}:1194",              proto           => 'tcp',              destinationport => $port,              order           => 100; @@ -34,7 +36,7 @@ define site_shorewall::dnat_rule {            "dnat_free_udp_port_$port":              action          => 'DNAT',              source          => 'net', -            destination     => "\$FW:${site_openvpn::openvpn_free_gateway_address}:1194", +            destination     => "\$FW:${site_openvpn::free_gateway_address}:1194",              proto           => 'udp',              destinationport => $port,              order           => 100; diff --git a/puppet/modules/site_shorewall/manifests/eip.pp b/puppet/modules/site_shorewall/manifests/eip.pp index d2bf3c4c..95c3920e 100644 --- a/puppet/modules/site_shorewall/manifests/eip.pp +++ b/puppet/modules/site_shorewall/manifests/eip.pp @@ -3,10 +3,6 @@ class site_shorewall::eip {    include site_shorewall::defaults    include site_shorewall::ip_forward -  $openvpn_config = hiera('openvpn') -  $openvpn_ports  = $openvpn_config['ports'] -  $openvpn_gateway_address = $site_openvpn::openvpn_gateway_address -    # define macro for incoming services    file { '/etc/shorewall/macro.leap_eip':      content => "PARAM   -       -       tcp     1194 @@ -16,41 +12,45 @@ PARAM   -       -       udp     1194      require => Package['shorewall']    } -    shorewall::interface {      'tun0':        zone    => 'eip',        options => 'tcpflags,blacklist,nosmurfs';      'tun1':        zone    => 'eip', -      options => 'tcpflags,blacklist,nosmurfs' +      options => 'tcpflags,blacklist,nosmurfs'; +    'tun2': +      zone    => 'eip', +      options => 'tcpflags,blacklist,nosmurfs'; +    'tun3': +      zone    => 'eip', +      options => 'tcpflags,blacklist,nosmurfs';    } +  shorewall::zone { +    'eip': +      type => 'ipv4'; +  } -  shorewall::zone {'eip': -    type => 'ipv4'; } - -  case $::virtual { -    'virtualbox': { -      shorewall::masq { -        'eth0_tcp': -          interface => 'eth0', -          source    => "${site_openvpn::openvpn_tcp_network_prefix}.0/${site_openvpn::openvpn_tcp_cidr}"; -        'eth0_udp': -          interface => 'eth0', -          source    => "${site_openvpn::openvpn_udp_network_prefix}.0/${site_openvpn::openvpn_udp_cidr}"; } -    } -    default: { -      $interface = $site_shorewall::defaults::interface -      shorewall::masq { -        "${interface}_tcp": -          interface => $interface, -          source    => "${site_openvpn::openvpn_tcp_network_prefix}.0/${site_openvpn::openvpn_tcp_cidr}"; +  if $::virtual == 'virtualbox' { +    $interface = 'eth0' +  } else { +    $interface = $site_shorewall::defaults::interface +  } -        "${interface}_udp": -          interface => $interface, -          source    => "${site_openvpn::openvpn_udp_network_prefix}.0/${site_openvpn::openvpn_udp_cidr}"; } -    } +  shorewall::masq { +    "${interface}_unlimited_tcp": +       interface => $interface, +       source    => "${site_openvpn::openvpn_unlimited_tcp_network_prefix}.0/${site_openvpn::openvpn_unlimited_tcp_cidr}"; +    "${interface}_unlimited_udp": +       interface => $interface, +       source    => "${site_openvpn::openvpn_unlimited_udp_network_prefix}.0/${site_openvpn::openvpn_unlimited_udp_cidr}"; +    "${interface}_limited_tcp": +       interface => $interface, +       source    => "${site_openvpn::openvpn_limited_tcp_network_prefix}.0/${site_openvpn::openvpn_limited_tcp_cidr}"; +    "${interface}_limited_udp": +       interface => $interface, +       source    => "${site_openvpn::openvpn_limited_udp_network_prefix}.0/${site_openvpn::openvpn_limited_udp_cidr}";    }    shorewall::policy { @@ -70,7 +70,6 @@ PARAM   -       -       udp     1194    }    # create dnat rule for each port -  #create_resources('site_shorewall::dnat_rule', $openvpn_ports) -  site_shorewall::dnat_rule { $openvpn_ports: } +  site_shorewall::dnat_rule { $site_openvpn::openvpn_ports: }  } diff --git a/puppet/modules/site_webapp/templates/config.yml.erb b/puppet/modules/site_webapp/templates/config.yml.erb index cd67d1fd..af778212 100644 --- a/puppet/modules/site_webapp/templates/config.yml.erb +++ b/puppet/modules/site_webapp/templates/config.yml.erb @@ -6,8 +6,11 @@ production:    client_ca_cert: <%= scope.lookupvar('site_webapp::client_ca::cert_path') %>  cert_options: -  client_cert_lifespan: <%= cert_options['life_span'].to_i     %> -  client_cert_bit_size: <%= cert_options['bit_size'].to_i      %> -  client_cert_hash: <%=     cert_options['digest']             %> -  free_certs_enabled: <%=   @webapp['allow_free'].inspect      %> -  free_cert_prefix: "<%=    cert_options['free_prefix']        %>" +  client_cert_lifespan: <%= cert_options['life_span'].to_i %> +  client_cert_bit_size: <%= cert_options['bit_size'].to_i %> +  client_cert_hash: <%= cert_options['digest'] %> +  allow_limited_certs: <%= @webapp['allow_limited_certs'].inspect %> +  allow_unlimited_certs: <%= @webapp['allow_unlimited_certs'].inspect %> +  allow_anonymous_certs: <%= @webapp['allow_anonymous_certs'].inspect %> +  limited_cert_prefix: "<%= cert_options['limited_prefix'] %>" +  unlimited_cert_prefix: "<%= cert_options['unlimited_prefix'] %>"  | 
