e9c650834d | 6 years ago | |
---|---|---|
group_vars | 6 years ago | |
host_vars | 6 years ago | |
playbooks | 6 years ago | |
plugins/modules | 6 years ago | |
pubkeys | 6 years ago | |
roles | 6 years ago | |
.gitignore | 6 years ago | |
LICENSE | 6 years ago | |
README.md | 6 years ago | |
ansible.cfg | 6 years ago | |
hosts | 6 years ago |
README.md
Server Infrastruktur
Sammlung von Ansible Playbooks und Roles zur verwaltung der Server infrastruktur. Als Blaupause habe ich die Arch Infrastructur 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/<username>.pub
abgelegt.
ToDo
- borg-server einrichtung (auf Synology)
- Monitoring
- LXC-Container Installation und Verwaltung