From b011dc73030f4279160c960362dffd506d768eeb Mon Sep 17 00:00:00 2001 From: Christian Elberfeld <elberfeld@connectiv.de> Date: Mon, 11 Jan 2016 22:48:02 +0100 Subject: [PATCH] basiskonfiguration, hostname, ssh keys, motd --- all.yml | 10 ++++++++ group_vars/all | 1 + host_vars/webserver | 5 ++++ hosts | 3 +++ keyfiles/README.md | 1 + keyfiles/void.pub | 1 + roles/common/tasks/main.yml | 35 ++++++++++++++++++++++++++++ roles/common/templates/motd.j2 | 11 +++++++++ roles/hostname/tasks/main.yml | 8 +++++++ roles/hostname/templates/hostname.j2 | 2 ++ site.yml | 5 ++++ 11 files changed, 82 insertions(+) create mode 100644 all.yml create mode 100644 group_vars/all create mode 100644 host_vars/webserver create mode 100644 hosts create mode 100644 keyfiles/README.md create mode 100644 keyfiles/void.pub create mode 100644 roles/common/tasks/main.yml create mode 100644 roles/common/templates/motd.j2 create mode 100644 roles/hostname/tasks/main.yml create mode 100644 roles/hostname/templates/hostname.j2 create mode 100644 site.yml diff --git a/all.yml b/all.yml new file mode 100644 index 00000000..34cecc2b --- /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 00000000..4b3526b3 --- /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 00000000..a9f60c39 --- /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 00000000..c93ffa48 --- /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 00000000..9cb4b5e1 --- /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 00000000..9629c0d5 --- /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 00000000..66d563db --- /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 00000000..03ac7225 --- /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 00000000..1a6215be --- /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 00000000..a0e3e1f1 --- /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 00000000..3854b001 --- /dev/null +++ b/site.yml @@ -0,0 +1,5 @@ +--- +# Hauptdatei, includiert lediglich die einzelnen Playbooks +- include: all.yml + + -- GitLab