Commit graph

445 commits

Author SHA1 Message Date
kokel
ff1dac07ba
Restructure ansible (#8)
* Add filename prefix to playbooks

* Inventory: clean up & rename role ffmwu-prereq to test-prerequisites

Remove all hosts which aren't set up by ansible, yet. Prepare to start
from scratch. Only add hosts to the inventory which will be set up
completly by ansible.

* Role test-prerequisites: improve tasks; update OS to current debian
stable

* Add a bunch of new roles

- Update Readme
- Update ansible.cfg
- Add playbook to set up gateways
- Add group variables

* Roles: add role documentation

* Some restructuring (#3)

* Modify prerequisites role and integrate prerequisites role into all playbooks (#4)

* Add relaxed yamllint config and fix errors

* Add role service-rclocal

* Add role service-bird

* Move localtestvm to separate role (untested) (#6)

* Add role git-repos

* Add role service-bird-icvpn; add python3-yaml package to server-basic
role

* Add role service-bird-ffrl

* Set 'become' default to True (#7)

* Retouch tasks due to 'become' defaults to True

* Add role service-bird-ffrl to playbook gateways

* Role service-bird-ffrl: correct ipaddr filters

* Update readme of roles service-fastd-mesh + service-fastd-intragate

* Update Readme.md

- update passwordstore lookup for fastd secrets
- add explanation about sensible informations

* Role server-basic: add package bridge-utils

* Add role service-tinc

* Add role system-sysctl-gateway

* Add version to git modules in roles:

- git-fastd-peers
- git-repos
- service-tinc

* Add readme for role prerequisites

* Add role network-iptables-gateway

 - move netfilter specific sysctl settings

* Role kmod-batman: load kernel modules

* Role service-bird-icvpn: use a task and not a handler to set file attrs

* Add role service-bind-slave

* Restructure network interfaces in order to use ifupdown2

- rewrite interface templates for batman, fastd, ffrl and meshbridge
- add package ethtool to role server-basic
- use more ipaddr filters and get rid of unneeded variables in dict
ffrl_exit_server
- change ffrl_public_ipv4_nat variable to ip/prefix format
- update readme files

* Role service-dhcpd: fix disabled notify

* Role service-fastd-mesh + service-fastd-intragate: fix mac address format

* Restructure service-fastd roles

- migrate role git-fastd-peers
- add role service-fastd
- add repo clone for ffbin peers (currently hardcoded)
- add role dependency to role service-fastd-mesh +
service-fastd-intragate
- add systemd handlers

* Role service-tinc: use a task instead of a handler for systemd stuff

* Role service-radvd: update handlers

* Update loop keys

* Role service-radvd: optimize ipaddr filters

* Role service-radvd: make more parameters configurable

* Update Readme.md

* Role service-fastd-mesh: add systemd unit + timer to update mesh peers

* Role service-bird + service-bird-icvpn: add systemd unit + timer to update roa+peers+tinc hosts

* Role git-repos: change branch of backend-scripts repo to drop-photon

* Role service-bind-slave: fix file permissions

* Role service-bind-slave: add systemd unit + timer to update icvpn bind config

* Role service-bird-icvpn: rename systemd unit+timer icvpn-update to icvpn-tinc-bgp-update

* Roles service-fastd-mesh + service-fastd-intragate: rename fastd socket

* Role service-rclocal: fix wrong interface

* Role network-iptables-gateway: rename var internet_exit_mtu_ipv[4|6] to internet_exit_tcp_mss_ipv[4|6]

* FFRL Internet Exit: move IPv4 NAT address to a single dummy interface

* Roles service-bird[|-ffrl|-icvpn]: rework handlers

* Update some ipaddr filters

* Fix wrong IP subnet calculation in roles service-radvd + service-rclocal

* Role service-fastd-mesh: move peer limit to a separate file which isn't managed by ansible

* Role service-fastd: ensure fastd service is masked

* Role service-fastd-mesh: add systemd timer for fastd peer limit update script

* Update Readme.md

* Migrate nested dictionary `meshes` into a list of dictionaries

 - migrate dictionary `ipv6` into two simple lists
 - migrate dictionary `forward_zones` into a list

* Restructure fastd configuration to define multiple instances easily

 - introduce mesh subdictionary `fastd`
 - change fastd instance naming
 - change fastd network interface naming (identical with fastd instance
names)
 - change mac address prefixes

* Roles service-fastd-[mesh|intragate]: update role dependencies

* Role network-batman: update batman-ifaces due to fastd instance change

 - update README.md

* Role network-fastd: update README.md

* Readme.md: add control machine requirements

* Role service-fastd-mesh: fix typo in handler

* Role service-fastd: use own systemd unit fastd@.service

- original uses %I which does not escaping, so dashes will be replaced
by slashes
- use %i instead of %I

* Add role network-routing

- move static routes from role service-rclocal to scripts run by systemd
unit
- mv routing specific sysctl settings

* Use package module where possible instead of apt

* Remove unnecessary handlers

* Move all handlers to one single role

* Update Readme.md

* Move IP rules from role `service-rclocal` to role `network-routing`

- add scripts to configure and delete IP rules via a systemd unit
- delete role `service-rclocal`
- update README.md
- add new handler

* Role network-routing: fix typos in ffmwu-del-ip-rules.sh template

* Add role service-respondd

* Roles service-fastd-[intragate|mesh]: update mac prefixes due to fastd instances change

* Fix some whitespaces

* Ensure systemd units are started

* Add role service-nginx

* Add role service-nginx-firmware

* Add missing variables for role service-nginx-firmware

* Add roles service-nginx(-firmware) to playbook gateways

* Role service-nginx: add autoindex options to default vhost

* Flush handlers after configuring network interfaces

* Role service-respondd: also listen on fastd-interfaces

* Update fastd peer limit configuration

 * add list of legacy gateways (temporarily)
 * change backend-scripts branch to ansible
 * Role server-basic: ensure ffmwu config directory is present
 * Role service-fastd: add fastd-status script
 * role service-fastd-mesh: add templating for fastd peer limit
configuration

* Update Readme.md

* Lowercase all network interface names

* Inventory: add new gateway uffschnitt.freifunk-mwu.de

* Role server-repos: change ffmwu repo to stretch

* Role service-respondd: install python3 module dependency

* Role server-repos: remove universe-factory repo since fastd package is available in debian upstream

* Pretty format ansible.cfg

* Inventory host_vars: use single file instead of subfolder

* Role prerequisites: add cname asserts

* Role network-meshbridge: workaround to set mac address on boot and get ipv6 address configured correctly

* Playbook gateways: reorder roles

* Rename role server-repos to server-apt-repos

- Role server-apt-repos: add readme

* Role server-basic: add locale setting

* Roles service-fastd-mesh + service-fastd-intragate

- remove on-up|on-down stanzas from fastd.conf
- update readme

* Move dummy module from role kmod-batman to server-basic

* Roles service-fastd-[mesh|intragate]: reload networking on fastd instance start

* Rework passwordstore lookup handling in roles service-fastd-mesh und service-fastd-intragate

* Role service-tinc: rework passwordstore lookup

* Role network-iptables-gateway: fix freifunk bridge rules

* Role service-fastd-mesh: ensure fastd_status.json file is present; reorder nginx roles

* Role network-routing: add missing service dependency for ffmwu-static-routes service unit

* Role service-tinc: add task to enable post-merge script

* Add prometheus role (#9)
2017-12-05 05:59:06 +01:00
n0trax
ad5b658467 Add prometheus role (#9) 2017-12-05 05:58:34 +01:00
Tobias Hachmer
0f9cee0e7d Role service-tinc: add task to enable post-merge script 2017-12-04 16:32:38 +01:00
Tobias Hachmer
89c187a975 Role network-routing: add missing service dependency for ffmwu-static-routes service unit 2017-12-04 06:21:25 +01:00
Tobias Hachmer
466a08a0b3 Role service-fastd-mesh: ensure fastd_status.json file is present; reorder nginx roles 2017-11-30 23:12:15 +01:00
Tobias Hachmer
80bd91a469 Role network-iptables-gateway: fix freifunk bridge rules 2017-11-14 23:09:55 +01:00
Tobias Hachmer
071bdb40d4 Role service-tinc: rework passwordstore lookup 2017-11-12 20:39:33 +01:00
Tobias Hachmer
78a141305d Rework passwordstore lookup handling in roles service-fastd-mesh und service-fastd-intragate 2017-11-12 20:27:12 +01:00
Tobias Hachmer
7437095761 Roles service-fastd-[mesh|intragate]: reload networking on fastd instance start 2017-11-12 15:08:41 +01:00
Tobias Hachmer
10d25ee031 Move dummy module from role kmod-batman to server-basic 2017-11-12 14:35:11 +01:00
Tobias Hachmer
07eda681ca Roles service-fastd-mesh + service-fastd-intragate
- remove on-up|on-down stanzas from fastd.conf
- update readme
2017-11-12 14:12:07 +01:00
Tobias Hachmer
7a482e195f Role server-basic: add locale setting 2017-11-12 12:44:20 +01:00
Tobias Hachmer
9d08803a9e Rename role server-repos to server-apt-repos
- Role server-apt-repos: add readme
2017-11-12 11:30:44 +01:00
Tobias Hachmer
ff5f9d8b6d Playbook gateways: reorder roles 2017-11-12 00:34:38 +01:00
Tobias Hachmer
42d407340a Role network-meshbridge: workaround to set mac address on boot and get ipv6 address configured correctly 2017-11-12 00:31:14 +01:00
Tobias Hachmer
623faaa40f Role prerequisites: add cname asserts 2017-11-11 23:24:49 +01:00
Tobias Hachmer
e020ea0854 Inventory host_vars: use single file instead of subfolder 2017-11-11 21:19:15 +01:00
Tobias Hachmer
cb834d6ee3 Pretty format ansible.cfg 2017-11-11 21:16:10 +01:00
Tobias Hachmer
99a77aa0b7 Role server-repos: remove universe-factory repo since fastd package is available in debian upstream 2017-11-09 06:20:23 +01:00
Tobias Hachmer
f0564b5ad2 Role service-respondd: install python3 module dependency 2017-11-07 20:25:39 +01:00
Tobias Hachmer
b1480594fa Role server-repos: change ffmwu repo to stretch 2017-11-07 20:23:23 +01:00
Tobias Hachmer
9e3a9562cb Inventory: add new gateway uffschnitt.freifunk-mwu.de 2017-11-07 06:22:09 +01:00
Tobias Hachmer
fc04651e8b Lowercase all network interface names 2017-11-06 21:24:56 +01:00
Tobias Hachmer
c6a15b38c2 Update Readme.md 2017-11-06 20:49:58 +01:00
Tobias Hachmer
387f3bbf6b Update fastd peer limit configuration
* add list of legacy gateways (temporarily)
 * change backend-scripts branch to ansible
 * Role server-basic: ensure ffmwu config directory is present
 * Role service-fastd: add fastd-status script
 * role service-fastd-mesh: add templating for fastd peer limit
configuration
2017-11-06 17:41:17 +01:00
Tobias Hachmer
67c915e877 Role service-respondd: also listen on fastd-interfaces 2017-10-31 22:54:58 +01:00
Tobias Hachmer
d6eea602b7 Flush handlers after configuring network interfaces 2017-10-29 21:26:10 +01:00
Tobias Hachmer
f00a216fef Role service-nginx: add autoindex options to default vhost 2017-10-29 21:24:48 +01:00
Tobias Hachmer
4876f88bc5 Add roles service-nginx(-firmware) to playbook gateways 2017-10-29 21:23:47 +01:00
Tobias Hachmer
a19510fad3 Add missing variables for role service-nginx-firmware 2017-10-29 21:23:04 +01:00
Tobias Hachmer
dc146df5f7 Add role service-nginx-firmware 2017-10-27 11:41:00 +02:00
Tobias Hachmer
545162a46f Add role service-nginx 2017-10-27 11:38:02 +02:00
Tobias Hachmer
8212e17d6a Ensure systemd units are started 2017-10-26 22:35:55 +02:00
Tobias Hachmer
a2110b33ee Fix some whitespaces 2017-10-26 22:29:15 +02:00
Tobias Hachmer
ac48746a11 Roles service-fastd-[intragate|mesh]: update mac prefixes due to fastd instances change 2017-10-25 19:50:06 +02:00
Tobias Hachmer
57fff0410e Add role service-respondd 2017-10-15 10:18:26 +02:00
Tobias Hachmer
130980d863 Role network-routing: fix typos in ffmwu-del-ip-rules.sh template 2017-10-14 22:07:01 +02:00
Tobias Hachmer
00307bc9be Move IP rules from role service-rclocal to role network-routing
- add scripts to configure and delete IP rules via a systemd unit
- delete role `service-rclocal`
- update README.md
- add new handler
2017-10-13 07:59:43 +02:00
Tobias Hachmer
dd03118c99 Update Readme.md 2017-10-13 07:42:08 +02:00
Tobias Hachmer
f934a88661 Move all handlers to one single role 2017-10-13 07:28:41 +02:00
Tobias Hachmer
f56215f03c Remove unnecessary handlers 2017-10-11 22:04:36 +02:00
Tobias Hachmer
79017f02d6 Use package module where possible instead of apt 2017-10-11 17:53:20 +02:00
Tobias Hachmer
4ce00a6ac3 Add role network-routing
- move static routes from role service-rclocal to scripts run by systemd
unit
- mv routing specific sysctl settings
2017-10-11 06:52:24 +02:00
Tobias Hachmer
f18e53e4e7 Role service-fastd: use own systemd unit fastd@.service
- original uses %I which does not escaping, so dashes will be replaced
by slashes
- use %i instead of %I
2017-10-08 11:35:22 +02:00
Tobias Hachmer
c56dc3504c Role service-fastd-mesh: fix typo in handler 2017-10-08 10:51:04 +02:00
Tobias Hachmer
37ef87bea9 Readme.md: add control machine requirements 2017-10-08 09:55:30 +02:00
Tobias Hachmer
534b0d045c Role network-fastd: update README.md 2017-10-08 09:44:42 +02:00
Tobias Hachmer
e1e723809f Role network-batman: update batman-ifaces due to fastd instance change
- update README.md
2017-10-08 09:36:38 +02:00
Tobias Hachmer
4732338cee Roles service-fastd-[mesh|intragate]: update role dependencies 2017-10-07 01:08:48 +02:00
Tobias Hachmer
53d30c8ded Restructure fastd configuration to define multiple instances easily
- introduce mesh subdictionary `fastd`
 - change fastd instance naming
 - change fastd network interface naming (identical with fastd instance
names)
 - change mac address prefixes
2017-10-07 00:57:35 +02:00