Move inventory to separate directory

This commit is contained in:
Alexander Dietrich 2020-03-23 21:17:56 +01:00
commit 075b5bd008
13 changed files with 9 additions and 41 deletions

View file

@ -2,32 +2,18 @@
## Vorraussetzungen
[Ansible][] wird nicht auf den Hosts installiert, sondern muss auf dem jeweiligen
Rechner, von dem aus die Hosts verwaltet werden sollen installiert werden.
[Ansible][] muß auf dem Rechner installiert sein, von dem aus die Hosts
verwaltet werden sollen. Zu den Hosts ist SSH-Zugang mit sudo-Rechten
erforderlich.
Ansible kann zusammen mit den benötigten Abhängigkeiten wie folgt installiert
werden:
[Ansible]: https://docs.ansible.com/ansible/
pip install -r requirements.txt
Unter NixOS kann alternativ über die default.nix eine nix-shell erzeugt werden:
nix-shell
[Ansible]: https://docs.ansible.com/ansible/
### SSH
Zur Konfiguration wird auf den Hosts jeweils ein Nutzer mit sudo-Rechten
benötigt. Für diesen muss ein SSH-Key hinterlegt sein.
## Übernehmen der Änderungen für alle Hosts
## Anwenden der Konfiguration auf alle Hosts
./site
Das Skript führt das Playbook `site.yml` mit dem Inventar `production` aus.
Zum Testen kann noch `-C` angehängt werden.
Das Skript führt das Playbook `site.yml` aus. Zum Testen kann noch `-C`
angehängt werden.
## Ansible Convenience
@ -37,4 +23,4 @@ Einschränken auf bestimmte Tags, z.B. `nginx`:
Einschränken auf bestimmte Hosts:
./site -l srv03,srv04
./site -l srv01

View file

@ -1,16 +0,0 @@
with import <nixpkgs> {};
stdenv.mkDerivation rec {
name = "ffhh-ansible-config";
buildInputs = [
python27
python27Packages.virtualenv
];
shellHook = ''
virtualenv ENV
source ENV/bin/activate
pip install -r requirements.txt
'';
}

2
inventory/group_vars/all Normal file
View file

@ -0,0 +1,2 @@
ansible_python_interpreter: /usr/bin/python3
basics_autoupdate_mail: backend@hamburg.freifunk.net

View file

@ -0,0 +1,3 @@
---
prefix4: 10.112.0.0/18
prefix6: 2a03:2267::/64

1
inventory/group_vars/vms Normal file
View file

@ -0,0 +1 @@
basics_microcode_updates: False

View file

@ -0,0 +1 @@
ansible_python_interpreter: /usr/bin/python2

View file

@ -0,0 +1,9 @@
basics_ssh_match_blocks:
- match: User certsync
options:
- AuthorizedKeysFile /home/certsync/authorized_keys
- ChrootDirectory /home/certsync/root
- ForceCommand internal-sftp
nginx_resolver: 192.76.134.90 212.12.50.158
updates_tls_crt: /etc/letsencrypt/live/updates.hamburg.freifunk.net/fullchain.pem
updates_tls_key: /etc/letsencrypt/live/updates.hamburg.freifunk.net/privkey.pem

11
inventory/host_vars/srv02 Normal file
View file

@ -0,0 +1,11 @@
basics_autoupdate_origins:
- o=Node Source,n=${distro_codename}
- o=Prosody,n=${distro_codename}
- o=TorProject,n=${distro_codename}
hopglass_frontend_tls_crt: /etc/letsencrypt/live/hopglass.hamburg.freifunk.net/fullchain.pem
hopglass_frontend_tls_key: /etc/letsencrypt/live/hopglass.hamburg.freifunk.net/privkey.pem
media_tls_crt: /etc/letsencrypt/live/media.hamburg.freifunk.net/fullchain.pem
media_tls_key: /etc/letsencrypt/live/media.hamburg.freifunk.net/privkey.pem
meta_tls_crt: /etc/letsencrypt/live/hamburg.freifunk.net/fullchain.pem
meta_tls_key: /etc/letsencrypt/live/hamburg.freifunk.net/privkey.pem
nginx_resolver: 127.0.0.1

View file

@ -0,0 +1,9 @@
certsync_host: srv01.hamburg.freifunk.net
nginx_resolver: 80.252.105.162 80.252.105.194
nginx_tls_versions: TLSv1.2
updates_group: www-data
updates_letsencrypt: srv01
updates_owner: ffupdates
updates_root: /var/www/updates
updates_tls_crt: /etc/ssl/certsync/updates.hamburg.freifunk.net.crt
updates_tls_key: /etc/ssl/certsync/updates.hamburg.freifunk.net.key

View file

@ -0,0 +1,2 @@
letsencrypt_webroot: /var/www/mail
nginx_resolver: 80.252.105.162 80.252.105.194

30
inventory/hosts Normal file
View file

@ -0,0 +1,30 @@
[ffhh]
srv01 ansible_host=srv01.hamburg.freifunk.net
#srv02 ansible_host=srv02.hamburg.freifunk.net
srv03 ansible_host=srv03.hamburg.freifunk.net
[certbot]
srv01
#srv02
[certsync]
srv03
[media]
#srv02
[meta]
#srv02
[nginx]
#gw03-new ansible_host=gw03-new.hamburg.freifunk.net
[updates]
srv01
srv03
[vms]
#gw03-new
srv01
#srv02
srv03

View file

@ -1,2 +0,0 @@
ansible
netaddr

2
site
View file

@ -1,3 +1,3 @@
#!/bin/bash
ansible-playbook site.yml -i production -bK $*
ansible-playbook site.yml -i inventory -bK $*