# Server Infrastruktur Sammlung von [Ansible](ansible.com) Playbooks und Roles zur verwaltung der Server infrastruktur. Als Blaupause habe ich die [Arch Infrastructur](https://git.archlinux.org/infrastructure.git/about/) von archlinux.org verwendet. ## Playbooks ### install-arch.yml Mit diesem Playbook kann bei Hetzner im Robot eine frische Arch Linux installation aufgesetzt werden. Der Server wird hierzu in den Rescue-Modus versetzt, aus Sicherheitsgründen wird dies derzeit nicht automatisiert durchgeführt. Danach werden die Festplatten formatiert und zu einem RAID1 Verbund vereint. Anschließend wird das aktuelle Arch Linux Image geladen und installiert. Nach der Netwerkkonfiguration und der Aktivierung von SSH wird der Server neu gestartet und der aktuelle SSH-Key aus der knownhosts datei gelöscht. Start des Playbooks: ``ansible-playbook playbooks/install-arch.yml -l $host`` Für das Playbook werden folgende Variablen benötigt: | Variable | Wert | Bedeutung | | ------------ | --------------- | --------------------------------------------- | | hostname | | Der Name des hosts der aufgesetzt werden soll | | ipv4_address | | Die IPv4 addresse des hosts | | ipv4_netmask | "/32" | Die verwendete Maske für das Netzwerk | | ipv6_address | | siehe ipv4 | | ipv6_netmask | "/128" | siehe ipv4 | | ipv4_gateway | | die Adresse des Gateways | | ipv6_gateway | | | | filesystem | btrfs oder ext4 | Wahl des filesystems für den host | Die Variablen werden unter host_vars in der datei abgelegt. ## All-hosts-basic Dieses Playbook richtet eine frische Installation ein indem es nützliche Tools installiert, User anlegt, das Netwerk einrichtet und somit eine Basis für ein System herstellt. ``ansible-playbook playbooks/all-hosts-basic.yml -l $host`` Informationen zu den Installierten tools finden sie in der Datei ``roles/tools/tasks/main.yml``. Die Nutzer werden in ``group_vars/all/archusers.yml`` definiert und ihre Publickeys unter ``publickeys/.pub`` abgelegt. ## ## ToDo - borg-server einrichtung (auf Synology) - Monitoring - LXC-Container Installation und Verwaltung