diff --git a/Readme.md b/Readme.md index c4ecc2b..528b142 100644 --- a/Readme.md +++ b/Readme.md @@ -3,11 +3,13 @@ Wir, die Freifunk MWU Community, nutzen Ansible um unsere Freifunk Server aufzusetzen und zu konfigurieren. In diesem Repository verwalten wir unsere Ansible Roles und Playbooks. -Ein Server muss minimal vorbereitet sein, bevor dieser per Ansible z.B. zu einem Freifunk-Gateway gemacht werden kann. Insbesondere müssen die folgenden Voraussetzungen erfüllt sein (diese werden vom playbook `playbook-test-prereqs.yml` getestet): +Ein Server muss minimal vorbereitet sein, bevor dieser per Ansible z.B. zu einem Freifunk-Gateway gemacht werden +kann. Insbesondere müssen die folgenden Voraussetzungen erfüllt sein (diese werden vom playbook `test-prereqs.yml` getestet): - Ein dedizierter (v)server muss existieren und unter einer IPv4- und einer IPv6-Adresse öffentlich erreichbar sein. - Die Adressen müssen im MWU-DNS eingetragen sein. -- Als Betriebssystem muss das aktuelle Debian Stable installiert sein. +- Als Betriebssystem muss Debian stretch installiert sein. +- Für ansible muss Python 2.5 oder Python 2.4 + python-simplejson installiert sein. - Es muss einen User admin geben, auf den die Admins Zugriff haben; dieser muss Root-Zugang über sudo haben. Die Server werden mit ihren FQDNs im Ansible Inventory hinterlegt, bedenkt das für eure ssh-config. @@ -132,7 +134,7 @@ ffrl_exit_server: tunnel_ipv6_netmask: ``` -- Testen, ob alle Voraussetzungen erfüllt sind: `ansible-playbook playbook-test-prerequisites.yml` -- Neues Gateway aufsetzen per `ansible-playbook playbook-gateways.yml` +- Testen, ob alle Voraussetzungen erfüllt sind: `ansible-playbook playbooks/test-prerequisites.yml` +- Neues Gateway aufsetzen per `ansible-playbook playbooks/gateways.yml` - Hierbei werden die definierten Rollen auch auf schon aufgesetzte Gateways angewandt, was unkritisch ist, weil wir unsere Rollen idempotent schreiben. - - Um die Rollen nur auf das neu aufzusetzende Gateway anzuwenden: `ansible-playbook playbook-gateways.yml --limit=$FQDN` + - Um die Rollen nur auf das neu aufzusetzende Gateway anzuwenden: `ansible-playbook playbooks/gateways.yml --limit=$FQDN` diff --git a/ansible.cfg b/ansible.cfg index 81d49c2..b330c5c 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,9 +1,10 @@ [defaults] -inventory = ./inventory/hosts -retry_files_save_path = ~/.ansible/retry-files -#vault_password_file = ~/.ansible/vault-password-file +inventory = ./inventory +retry_files_enabled = False +#vault_password_file = ~/.ansible/vault-password-file remote_tmp = $HOME/ansible_tmp ansible_managed = Ansible managed - don't edit this file! +roles_path = ./roles #[ssh_connection] #pipelining = True diff --git a/inventory/ffmwu-build-servers b/inventory/ffmwu-build-servers new file mode 100644 index 0000000..515e960 --- /dev/null +++ b/inventory/ffmwu-build-servers @@ -0,0 +1,2 @@ +[ffmwu-build-servers] +milchreis.freifunk-mwu.de diff --git a/inventory/ffmwu-gateways b/inventory/ffmwu-gateways new file mode 100644 index 0000000..2978865 --- /dev/null +++ b/inventory/ffmwu-gateways @@ -0,0 +1 @@ +[ffmwu-gateways] diff --git a/inventory/ffmwu-servers b/inventory/ffmwu-servers new file mode 100644 index 0000000..b7b5ead --- /dev/null +++ b/inventory/ffmwu-servers @@ -0,0 +1,2 @@ +[ffmwu-servers] +milchreis.freifunk-mwu.de diff --git a/inventory/hosts b/inventory/hosts deleted file mode 100644 index 835030a..0000000 --- a/inventory/hosts +++ /dev/null @@ -1,11 +0,0 @@ -[ffmwu-servers:children] -ffmwu-gateways -ffmwu-build-servers - -[ffmwu-gateways] - -[ffmwu-build-servers] -milchreis.freifunk-mwu.de - -[test-vms] -local-test-vm.ffmwu.local ansible_host=192.168.137.7 require_dns=False diff --git a/inventory/test-vms b/inventory/test-vms new file mode 100644 index 0000000..64d8c34 --- /dev/null +++ b/inventory/test-vms @@ -0,0 +1,2 @@ +[test-vms] +local-test-vm.ffmwu.local ansible_host=192.168.137.7 require_dns=False diff --git a/playbook-build-server.yml b/playbooks/build-server.yml similarity index 100% rename from playbook-build-server.yml rename to playbooks/build-server.yml diff --git a/playbook-gateways.yml b/playbooks/gateways.yml similarity index 100% rename from playbook-gateways.yml rename to playbooks/gateways.yml diff --git a/playbook-localtestvm-meshing.yml b/playbooks/localtestvm-meshing.yml similarity index 100% rename from playbook-localtestvm-meshing.yml rename to playbooks/localtestvm-meshing.yml diff --git a/playbook-localtestvm-provide.yml b/playbooks/localtestvm-provide.yml similarity index 100% rename from playbook-localtestvm-provide.yml rename to playbooks/localtestvm-provide.yml diff --git a/playbook-localtestvm-test-prereqs.yml b/playbooks/localtestvm-test-prereqs.yml similarity index 100% rename from playbook-localtestvm-test-prereqs.yml rename to playbooks/localtestvm-test-prereqs.yml diff --git a/playbook-meshing.yml b/playbooks/meshing.yml similarity index 100% rename from playbook-meshing.yml rename to playbooks/meshing.yml diff --git a/playbook-servers.yml b/playbooks/servers.yml similarity index 100% rename from playbook-servers.yml rename to playbooks/servers.yml diff --git a/playbook-test-prereqs.yml b/playbooks/test-prereqs.yml similarity index 100% rename from playbook-test-prereqs.yml rename to playbooks/test-prereqs.yml