diff --git a/all.yml b/all.yml new file mode 100644 index 0000000000000000000000000000000000000000..34cecc2b1ce7b427ffa3ed67b8f17f83a462fe25 --- /dev/null +++ b/all.yml @@ -0,0 +1,10 @@ +--- +# Playbook zur Konfiguration von allen Servern + +- hosts: all + remote_user: root + roles: + - hostname + - common + + diff --git a/group_vars/all b/group_vars/all new file mode 100644 index 0000000000000000000000000000000000000000..4b3526b32f2b3cb9c9ec85d05c16f46ef134ad7a --- /dev/null +++ b/group_vars/all @@ -0,0 +1 @@ +# Globale Variablen für alle Server diff --git a/host_vars/webserver b/host_vars/webserver new file mode 100644 index 0000000000000000000000000000000000000000..a9f60c392634117343e0ebe55baaf42b49087553 --- /dev/null +++ b/host_vars/webserver @@ -0,0 +1,5 @@ + +# Host spezifische Variablen + +administratorenteam: + - "void" diff --git a/hosts b/hosts new file mode 100644 index 0000000000000000000000000000000000000000..c93ffa483e2db219fa5695d0e2e589a481a63d32 --- /dev/null +++ b/hosts @@ -0,0 +1,3 @@ + +# Webserver +webserver ansible_ssh_host=89.163.231.226 diff --git a/keyfiles/README.md b/keyfiles/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9cb4b5e182e27ed6035f6330751ce31075fa5330 --- /dev/null +++ b/keyfiles/README.md @@ -0,0 +1 @@ +Hier werden die öffentlichen Schlüssel gespeichert. diff --git a/keyfiles/void.pub b/keyfiles/void.pub new file mode 100644 index 0000000000000000000000000000000000000000..9629c0d5092d0f6ca67c39d89c5d8daeaa56b316 --- /dev/null +++ b/keyfiles/void.pub @@ -0,0 +1 @@ +ssh-dss AAAAB3NzaC1kc3MAAAEBAJkGM90LE4cheC4U5SvNu6d9ZOAgKTI6Gf6bV0xj/uQE7+9Qq2UxQdLOoNkT4Ee8lfssaN7b1cvnE/yULgjFsQgr5ReV9XoI0NDtT3EHjumrPVqmyfbErA7I0NR7xvR0wvLzHUNAK4dvx4PUNA/X1O3yMcaS6fH246jgeiRF5bFqcbMHqaO5D8+n6LkHujdpaiOhgk/Ob0sIq90G1KYJG0srragsIMsECnBHQ+AxSetWuncLazNOTmHtCTBvepKq88PDt3Q17JuRodsT8d0nC8T5Rxf2f3BEX2BRg8JUffESZNbkikX1V91H3yb5qE0LiDm4hYCtPIIhDNCcDzROe1UAAAAVANIIwqeBMMALtxCXkdQS9L1IHE0XAAABAQCCNPhUrWcZ1fF1v09mRO3HxDaKxDA5AXNQWstg9dymbMpckSduUsN+QmNkPrY/hZd4VCPzf3ODvlYrnTGeZUYEOPiEkEc22JBb6ixnFAvmTjFNSdHON6lUi1SoULwC5qm+CC+zI9l/B9D49tdYDPIBC/CHaT2VbyVe3aKjJtEOfGb1lKej60TFfFqbt60eUsvIIw7mUfBMveOhpN3sqnSqICRm63+qltlg964v1GTRWgy8/MO3mfxvSz+pjaiuHRy/CFWgVrN653Ugc4GkMMFtu3k+7Nj2DKa8ygbwz/KoQvnPMoiolslfIAmQTejuCea72VA7bgUSO+ODM6ADERzdAAABAGqu5DREpKpPdvHt1BLtp1xlTPXNwXCTkUqbTpUmIsZhB7I60LneHrrAkRANJ86wkOZXpdwpJOHbh5Chjtifjub7QT0RWuogSeklusFHlVnAGDt9zkBoIEG3JIAAr8V4wyTG+INxzbr8fbNkscRSQ2aiyC/9H51t41Pefc3hda48fQREzU86l2OKTPJjkTouQPn5+C4e/RsTwCZO3uCSyUR+TftWqcMdIEGmDU/p67RvS5JFTPQQrhOBwYN9YNqPcwF19/iBCQ06s5bZcOKA9RwWENzIjIZw5GL3BjVZlw6znT74PU/6+1YbrdVW702ZPeRYj/7qcNF1WKy+qNRcg/s= void-2013 diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..66d563dbb5d47d40b347cd291570e0978ab41552 --- /dev/null +++ b/roles/common/tasks/main.yml @@ -0,0 +1,35 @@ +--- +# Allgemeine Konfigurationen für alle Server + +- name: create motd file + template: src=motd.j2 dest=/etc/motd + +- name: add default repo + #Freifunk- und Rollen-Repos erst in den jeweiligen Rollen + apt_repository: + repo: "{{ item }}" + state: present + with_items: + - "deb http://ftp.de.debian.org/debian/ {{ ansible_distribution_release }} main" + - "deb http://ftp.de.debian.org/debian/ {{ ansible_distribution_release }}-updates main" + - "deb http://security.debian.org/ {{ ansible_distribution_release }}/updates main" + when: ansible_distribution == "Debian" + +- name: install common packages + apt: + pkg: "{{ item }}" + update_cache: yes + state: installed + with_items: + - vim + - wget + - vnstat + - tmux + - pastebinit + +- name: add sshkeys for server + authorized_key: + user: root + key: "{{ lookup('file', 'keyfiles/' + item + '.pub') }}" + with_items: "{{ administratorenteam }}" + when: administratorenteam diff --git a/roles/common/templates/motd.j2 b/roles/common/templates/motd.j2 new file mode 100644 index 0000000000000000000000000000000000000000..03ac7225adf76533929b0d6fab252807a30770f8 --- /dev/null +++ b/roles/common/templates/motd.j2 @@ -0,0 +1,11 @@ + +\\ /\ // /\ ||=\\ ||=\\ ===// //=\\ |\\ || ||==== + \\ //\\ // //\\ || || || || // // \\ ||\\ || || + \\ // \\ // //==\\ ||=// ||=// // || || || \\ || ||==== + \\// \\// // \\ || \\ || // \\ // || \\|| || + \/ \/ // \\ || \\ || //=== \\=// || \|| ||==== + + Server: {{ ansible_hostname }} + Öffentliche IPs: {{ansible_eth0.ipv4.address}} / {{ansible_eth0.ipv6[0].address}} + + diff --git a/roles/hostname/tasks/main.yml b/roles/hostname/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..1a6215be351c5d7666db1d7d53e29653d5e0dce7 --- /dev/null +++ b/roles/hostname/tasks/main.yml @@ -0,0 +1,8 @@ +--- +# Set Hostname fron hostname in inventory + +- name: deploy etc_hostname + template: src=hostname.j2 dest=/etc/hostname + + + diff --git a/roles/hostname/templates/hostname.j2 b/roles/hostname/templates/hostname.j2 new file mode 100644 index 0000000000000000000000000000000000000000..a0e3e1f1fc101379d51ee83a73476d751149a57c --- /dev/null +++ b/roles/hostname/templates/hostname.j2 @@ -0,0 +1,2 @@ +{{ inventory_hostname }} + diff --git a/site.yml b/site.yml new file mode 100644 index 0000000000000000000000000000000000000000..3854b0019dff3fa27fd5f6d7dfa5e7644819e702 --- /dev/null +++ b/site.yml @@ -0,0 +1,5 @@ +--- +# Hauptdatei, includiert lediglich die einzelnen Playbooks +- include: all.yml + +