class services::puppet_pound { file { '/etc/ssl/certs/adammalone.net.pem' : ensure => present, source => ["puppet:///modules/services/ssl/adammalone.net.pem"], owner => "root", group => "root", mode => "0644", } class { 'pound': log_level => 3, alive_time => 20, require => File['/etc/ssl/certs/adammalone.net.pem'], }-> pound::entry { 'ssl' : service => false, listen_ip => '0.0.0.0', listen_port => '443', listen_protocol => 'ListenHTTPS', header_remove => 'X-Forwarded-Proto', header_add => 'X-Forwarded-Proto: https', cert => [ '/etc/ssl/certs/adammalone.net.pem' ], }-> pound::entry { 'adammalone' : service => true, head_require => 'Host:.*adammalone.net.*', backend => [ { ip => '127.0.0.1', port => '80', } ], }-> pound::entry { 'default' : service => true, backend => [ { ip => '127.0.0.1', port => '80', } ], }