First Upload
This commit is contained in:
commit
fa82987e71
|
|
@ -0,0 +1,15 @@
|
|||
[defaults]
|
||||
# Wo liegen meine Server?
|
||||
inventory = inventory/hosts.ini
|
||||
|
||||
# Wo liegen meine Rollen?
|
||||
roles_path = roles
|
||||
|
||||
# Host Key checking ausschalten -> sonst "Are you sure .. fingerprint" - da homelab sicher
|
||||
host_key_checking = False
|
||||
|
||||
# keine retry dateien erstellen
|
||||
retry_files_enabled = False
|
||||
|
||||
# Output zu YAML und nicht JSON
|
||||
stdout_callback = yaml
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# GRUPPE: alle Debian LXC Container
|
||||
[lxc_debian]
|
||||
# +Format: Alias_Name ansible_host=IP-Adresse
|
||||
test1 ansible_host=192.168.178.49 enable_wireguard_routing=True
|
||||
|
||||
# +Pi-Hole Beispiel, Host-Variable gewinnt vor Gruppen-Variable
|
||||
#pihole ansible_host=192.168.178.11 enable_wireguard_routing=True
|
||||
|
||||
# VARIABLEN fuer die Gruppe [lxc_debian]
|
||||
[lxc_debian:vars]
|
||||
# +Login immer als root
|
||||
ansible_user=root
|
||||
# +WireGuard Routen Konfig
|
||||
wg_gateway=192.168.178.12
|
||||
wg_subnet=10.0.0.0/24
|
||||
# +WireGuard Route default disable
|
||||
enable_wireguard_routing=False
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
# GRUPPE: alle Debian LXC Container
|
||||
[lxc_debian]
|
||||
# +Format: Alias_Name ansible_host=IP-Adresse
|
||||
pihole ansible_host=192.168.178.11 enable_wireguard_routing=true
|
||||
#wireguardGW ansible_host=192.168.178.12
|
||||
web1 ansible_host=192.168.178.13 enable_wireguard_routing=true
|
||||
web-conectare ansible_host=192.168.178.14 enable_wireguard_routing=true
|
||||
vaultwarden ansible_host=192.168.178.15 enable_wireguard_routing=true
|
||||
guacamole ansible_host=192.168.178.16 enable_wireguard_routing=true
|
||||
checkmk ansible_host=192.168.178.19 enable_wireguard_routing=true
|
||||
gitea ansible_host=192.168.178.20 enable_wireguard_routing=true
|
||||
ansible_ctl ansible_host=127.0.0.1 ansible_connection=local
|
||||
test1 ansible_host=192.168.178.49
|
||||
|
||||
# +Pi-Hole Beispiel, Host-Variable gewinnt vor Gruppen-Variable
|
||||
#pihole ansible_host=192.168.178.11 enable_wireguard_routing=true
|
||||
|
||||
# VARIABLEN fuer die Gruppe [lxc_debian]
|
||||
[lxc_debian:vars]
|
||||
# +Login immer als root
|
||||
ansible_user=root
|
||||
# +WireGuard Routen Konfig
|
||||
wg_gateway=192.168.178.12
|
||||
wg_subnet=10.0.0.0/24
|
||||
# +WireGuard Route default disable
|
||||
enable_wireguard_routing=false
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
- name: Setup Base Config for LXCs von Debain Base
|
||||
# auf welche Hosts soll das angewendet werden? -> Auf die lxc debian grp
|
||||
hosts: lxc_debian
|
||||
# sudo werden? Ja
|
||||
become: yes
|
||||
# welche Rollen sollen durchlaufen?
|
||||
roles:
|
||||
- debian_base
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
# Dieser Handler wird aufgerufen, wenn wir die Route in /etc/network/interfaces eingetragen haben.
|
||||
# # Er sorgt dafür, dass die Route SOFORT aktiv ist, ohne Reboot.
|
||||
|
||||
- name: Set route live
|
||||
command: ip route add {{ wg_subnet }} via {{ wg_gateway }} dev eth0
|
||||
# ignore_errors: Falls die Route zufällig doch schon da ist (manuell gesetzt), stürzt Ansible nicht ab.
|
||||
ignore_errors: true
|
||||
# Wir führen das auch nur aus, wenn WireGuard Routing aktiv sein soll (Sicherheitshalber)
|
||||
when: enable_wireguard_routing | default(false) | bool
|
||||
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
- name: Update apt cache
|
||||
apt:
|
||||
update_cache: yes
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: Ensure locales package is installed
|
||||
apt:
|
||||
name: locales
|
||||
state: present
|
||||
|
||||
- name: Generate locales (en_US and de_DE)
|
||||
locale_gen:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop:
|
||||
- en_US.UTF-8
|
||||
- de_DE.UTF-8
|
||||
|
||||
- name: Set default system locale to en_US.UTF-8
|
||||
command: update-locale LANG=en_US.UTF-8
|
||||
changed_when: false
|
||||
|
||||
- name: Install standard packages
|
||||
apt:
|
||||
name:
|
||||
- vim
|
||||
- curl
|
||||
- wget
|
||||
- htop
|
||||
- net-tools
|
||||
- git
|
||||
- bash-completion
|
||||
- iproute2
|
||||
state: present
|
||||
|
||||
- name: Set vim as default editor
|
||||
command: update-alternatives --set editor /usr/bin/vim.basic
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
|
||||
- name: Ensure WireGuard static route in in /etc/network/interfaces
|
||||
lineinfile:
|
||||
path: /etc/network/interfaces
|
||||
regexp: '^up ip route add {{ wg_subnet }} via {{ wg_gateway }}'
|
||||
line: 'up ip route add {{ wg_subnet }} via {{ wg_gateway }} dev eth0'
|
||||
state: present
|
||||
when: enable_wireguard_routing | default(false) | bool
|
||||
notify: Set route live
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
1) ansible/ansible.cfg
|
||||
Grundsaetzliches Verhalten von Ansible
|
||||
Regelwerk fuers Projekt
|
||||
|
||||
2) ansible/inventory/hosts.ini
|
||||
Ist das "Telefonbuch" - hier stehen alle Server drin die Ansible kennen soll
|
||||
Man kann diese gruppieren
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Haben alle Ziel-Hosts deinen SSH-Key?
|
||||
Falls nicht: ssh-copy-id root@192.168.178.12 (für Pihole), .20 (Gitea) usw.
|
||||
|
||||
Testlauf:
|
||||
|
||||
bash
|
||||
cd ~/projects/infra-konstrukt/ansible
|
||||
ansible-playbook playbooks/site.yml --check
|
||||
(Das --check ist der Trockenlauf. Er zeigt dir, was er tun WÜRDE.)
|
||||
Loading…
Reference in New Issue