Puppet module to installing and configure pound, the reverse-proxy and load-balancer.
- concat is available
- stdlib is available (dep. for concat)
- puppetdb is available (dep. for exported resources)
Nominate a node to receive pound:
node chosen {
include pound
}
This will install pound, set /etc/default/pound to allow startup, and trigger the service.
node refinery {
class { 'pound::http':
# defaults to "Host: $::hostname"
head_require => 'Host: catswithhats.jpg.to',
# defaults to $::ipaddress
backend_ip => '255.255.255.255',
# defaults to 80
backend_port => '81'
}
}
node refinery {
class { 'pound::https':
# no default
certificate => '/full/path/to/where/certificate/is.pem',
# defaults to "Host: $::hostname"
head_require => 'Host: superspecialawesome.com',
# defaults to $::ipaddress
backend_ip => '127.0.0.1',
# defaults to 80
backend_port => '8080'
}
}
None.
- Will bind to all interfaces (0.0.0.0)
- Certificates for HTTPS proxying need to exist on the pound host, make sure they end up there with a
file {}
or something similar - Only tested on Ubuntu 12.04
- Fix SSL config so it conditionally adds itself, you can't have an empty
ListenHTTPS
block or it barfs on startup - Configure SSL certs in a betterer manner
- Add options to configure header flags, add others
- Fork it ( https://github.com/tism/puppet-pound/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request