puppet-ff_gw/README.md

57 lines
2 KiB
Markdown
Raw Permalink Normal View History

2014-03-31 23:18:29 +02:00
# Freifunk Gateway Module
Martin Schütte <info@mschuette.name>
This module tries to automate the configuration of a Freifunk (Hamburg) Gateway.
2014-04-01 00:31:06 +02:00
The idea is to implement the step-by-step guide on http://wiki.freifunk.net/Freifunk_Hamburg/Gateway
2014-03-31 23:18:29 +02:00
2014-04-01 00:31:06 +02:00
A generalization for other communities would be nice, but right now this is all
experimental and we will be glad when it works for our own gateways.
Also note that this is a really ugly puppet module that ignores all principles
of modularity and interoperability; instead it follows the "Big ball of mud"
design pattern.
## Usage
Install as a puppet module, then include with node-specific parameters.
Basically there are three kinds of parameters: user accounts (optional if you
do manual user management), network config (has to be in sync with the wiki
page), and credentials for fastd and openvpn.
Example puppet code:
2014-04-01 00:34:06 +02:00
```
class { 'ff_gw':
2014-04-01 00:31:06 +02:00
# user accounts:
accounts => {
mschuett => {
comment => 'Martin Schuette',
ssh_key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQC4qcAOjmLCv+DaF405K9/napCQCq8qJnTJtkbeQR+PGLHAR3kxXFh5rQXKp5n3IxEhZt4js7yin5EBmfCMv+CHYSndT4BGVDarjqIoM7RAKI8MyJUus0SOf5WsnAGamp97mCh8iWHg7v+emqYcF308FFkubKzFLdHjdLGZBCduClUvkyuuUc7vtkXZ3IkInXGkrN5hn388/lHsT1ewUva7j2fZmbVou8P2FHC4+azPInoyezwiIE6YrFKAyquDhuFRDir5QqlFaZpD6C8T+vEiqWRyqPxI7YVGBudh2oec5m99VTWkrPw7cOsC92ndLAgQ2MjxEeDhPh/Tgxly6flb',
groups => ['sudo', 'users'],
}
},
# network config (example data for gw12)
mesh_mac => 'de:ad:be:ef:01:14',
gw_ipv4 => '10.112.30.1',
gw_ipv6 => 'fd51:2bb2:fd0d::501',
dhcprange_start => '10.112.30.2',
dhcprange_end => '10.112.31.254',
# secret credentials for fastd and vpn
secret_key => '...',
vpn_ca_crt => '-----BEGIN CERTIFICATE-----
MIIE ...
-----END CERTIFICATE-----',
vpn_usr_crt => '-----BEGIN CERTIFICATE-----
MIIE ...
-----END CERTIFICATE-----',
vpn_usr_key => '-----BEGIN CERTIFICATE-----
MIIE ...
-----END CERTIFICATE-----',
}
```
2014-04-01 00:34:06 +02:00