From 4998f1cf30d46c1f92f093f4b1384a81dba4423c Mon Sep 17 00:00:00 2001
From: Lars Beckers <lars.beckers@rwth-aachen.de>
Date: Sun, 1 Mar 2015 16:00:36 +0059
Subject: [PATCH] finish common tasks, copy files, place some todos

---
 common/defaults/main.yml         |   1 +
 common/files/fsmpi/issue.net     |   8 ++
 common/files/fsmpi/motd          |   9 ++
 common/files/keys/jens.pub       |   1 +
 common/files/keys/jensFS.pub     |   1 +
 common/files/keys/konstantin.pub |   1 +
 common/files/keys/lars.pub       |   1 +
 common/files/keys/marcel.pub     |   1 +
 common/files/keys/marcelHome.pub |   1 +
 common/files/keys/marcelWork.pub |   1 +
 common/files/keys/patrick.pub    |   1 +
 common/files/keys/rikus.pub      |   1 +
 common/files/keys/rikusfsmpi.pub |   1 +
 common/files/lldpd               |   1 +
 common/files/root/bashrc         | 175 +++++++++++++++++++++++++++++++
 common/files/root/gitconfig      |   1 +
 common/files/root/vimrc          |   1 +
 common/files/rwth_chain.pem      | Bin 0 -> 4071 bytes
 common/files/sudo/admin          |   1 +
 common/files/sudo/default        |   1 +
 common/handlers/main.yml         |  14 +++
 common/meta/main.yml             |   1 +
 common/tasks/dns.yml             |   5 +-
 common/tasks/inventory.yml       |   6 --
 common/tasks/logging.yml         |  13 ++-
 common/tasks/main.yml            |  12 +++
 common/tasks/ntpd.yml            |  10 +-
 common/tasks/shell.yml           |  44 ++++++++
 common/tasks/software.yml        |  27 ++---
 common/tasks/sshd.yml            |  13 +--
 common/tasks/ssl.yml             |   6 +-
 common/tasks/sudo.yml            |  15 +--
 common/templates/ntp.conf.j2     |  16 +++
 common/templates/resolv.conf.j2  |   5 +
 common/templates/rsyslog.conf.j2 | 118 +++++++++++++++++++++
 common/templates/sshd_config.j2  |   1 +
 common/vars/main.yml             |   1 +
 37 files changed, 462 insertions(+), 53 deletions(-)
 create mode 100644 common/files/fsmpi/issue.net
 create mode 100644 common/files/fsmpi/motd
 create mode 100644 common/files/keys/jens.pub
 create mode 100644 common/files/keys/jensFS.pub
 create mode 100644 common/files/keys/konstantin.pub
 create mode 100644 common/files/keys/lars.pub
 create mode 100644 common/files/keys/marcel.pub
 create mode 100644 common/files/keys/marcelHome.pub
 create mode 100644 common/files/keys/marcelWork.pub
 create mode 100644 common/files/keys/patrick.pub
 create mode 100644 common/files/keys/rikus.pub
 create mode 100644 common/files/keys/rikusfsmpi.pub
 create mode 100644 common/files/lldpd
 create mode 100644 common/files/root/bashrc
 create mode 100644 common/files/root/gitconfig
 create mode 100644 common/files/root/vimrc
 create mode 100644 common/files/rwth_chain.pem
 create mode 100644 common/files/sudo/admin
 create mode 100644 common/files/sudo/default
 delete mode 100644 common/tasks/inventory.yml
 create mode 100644 common/tasks/shell.yml
 create mode 100644 common/templates/ntp.conf.j2
 create mode 100644 common/templates/resolv.conf.j2
 create mode 100644 common/templates/rsyslog.conf.j2
 create mode 100644 common/templates/sshd_config.j2

diff --git a/common/defaults/main.yml b/common/defaults/main.yml
index e69de29..802ac1f 100644
--- a/common/defaults/main.yml
+++ b/common/defaults/main.yml
@@ -0,0 +1 @@
+## TODO
diff --git a/common/files/fsmpi/issue.net b/common/files/fsmpi/issue.net
new file mode 100644
index 0000000..3dab4c4
--- /dev/null
+++ b/common/files/fsmpi/issue.net
@@ -0,0 +1,8 @@
+This device is property of the Fachschaft Mathematik/Physik/Informatik of the
+RWTH Aachen University.
+
+                        =========== WARNING ===========
+
+All traffic to and from this device is monitored and logged.
+
+Access to this machine is for authorized personal only.
diff --git a/common/files/fsmpi/motd b/common/files/fsmpi/motd
new file mode 100644
index 0000000..7632daf
--- /dev/null
+++ b/common/files/fsmpi/motd
@@ -0,0 +1,9 @@
+#########################################################################
+#   RWTH Aachen University -- Fachschaft Mathematik/Physik/Informatik   #
+#########################################################################
+#                                                                       #
+#               If you have any problems send an eMail to               #
+#                                                                       #
+#                      admin@fsmpi.rwth-aachen.de                       #
+#                                                                       #
+#########################################################################
diff --git a/common/files/keys/jens.pub b/common/files/keys/jens.pub
new file mode 100644
index 0000000..20c56b5
--- /dev/null
+++ b/common/files/keys/jens.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDV0A9/518e6ET6Q31zIEbgTPm4xnZgTUuCgcmPgbkaad+SiTZ6laSAaOrhSkKw6HUMpBmBg5Fwz2wvrY552LZot4lywzuzyuX6FRDofcfY6MKwYgxkeosf0iWjeorHF2nBa1xA+9EZFVO4yQvqub3FmgA31zy5GZAFOxbdYRrl+TYku554+OP7wzEENnjrCqiCFDApFU2bmD182imMJNKDjOF+dJXgquczP3oLtLnHXE7ogenPiXybT8oCQORTHYlCeI/xd7V3ma606+kxHyZLLDsPs01zqRXQQEogM1i+5sBDaunqAkcANXgpb//5Kccn/rinQuQwBnKHpNhuT077 jensbrandt@X61t
diff --git a/common/files/keys/jensFS.pub b/common/files/keys/jensFS.pub
new file mode 100644
index 0000000..9e15849
--- /dev/null
+++ b/common/files/keys/jensFS.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7ezDqffwh1fRZn6Ae/DGnGEUzOzjcMnw7HSo09GT2R1e6/XuPVWRlBkjFgvRG1L+qr0uzLnYF+Os5E3pl57pwZw3dnST8HhAxHYlQdxu2046pUpbnDs0RtBYKnU+Wvaj+9cZMKgZvSu/ifb5qMJejivOgVxyaOu/EE7jIB6jnpyRao7l8GbBZ6h2DGOQWQZChxls3rI14QmYLGIUHmk38Zv+rU9DdT//GFd7SxnWsDp4hVEeqtdYOcQICv1MrPy2PVJsyPua89BrBFqXx0TfXcO40JR5PSQE/iXQlQlcLh3xVsmQT8ZYISTXTCpYKmcR/u4FfUXZsxxUPckcFyLYX jens@portal.fsmpi.rwth-aachen.de
diff --git a/common/files/keys/konstantin.pub b/common/files/keys/konstantin.pub
new file mode 100644
index 0000000..ed556f7
--- /dev/null
+++ b/common/files/keys/konstantin.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqSGg7VTXDcivuV1KfdD2e+a1IkhjWnWZCaIPUk1NYoratF/SxKvVY0XWF/FG4HcMkPCNLdKukIzEoZhu3kQ0Qo7CfQ54fZkhkYhIKE+yzrOwc1X02s/roBPamY5TAr+rk15TBdDNssXkt5ZCjITL4J80GUhv52wb6hfkPUHZT1LGZFfdNdVkEcwCT3RWDM0GSx+qc+8z+w2N5Vcv3s0CPXWn+mt2ScALPnTxgImZi6osnIPL4r/vDNX1wFYU9bJP+Yag1UKhv86M/nbB3gqhj6q8ZkoIQ7wXcZdms5XSNTCsDQ0FYKLujXETRPdGHlm9fAh6TlztK7P0cNmogLjNpQ==
diff --git a/common/files/keys/lars.pub b/common/files/keys/lars.pub
new file mode 100644
index 0000000..52835b5
--- /dev/null
+++ b/common/files/keys/lars.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1QrgcrkyXbJKo90kwzUVyMjTvjSjvNpZhAdeH15DmvnyVcjxBOsfubtjlMchCl7SCg0HrHw7bmrVHXD8rWlN4RwzkDa25LfTdUocsd1ifuvV6d9x/UwBkYyenVxWxqZxkzSmyVXEJltUE7bzGFgU83Du/VIW4NoAQILLVwAb7mmExBXu3lgwadp3d59bm+alPkV1oTsjmHvq8MTvATHJgfjRRT+62VEGoTJFU6RuV1WRw246rb8hAjX1X6yzKH9NgTkC51A3vYj6dFPtmZKvZF3EWaFnbWhic7gnZKB6Lo6dkXiQjk10wAkWLdKdXFKEKGBho3YbX0WZBvXUjZzwKpDmkmrcGdO1dF17+Q+i8ybBqASHibQLUwle3zd0aM+IiqHJlghCopfAoDZP+nq01LAa2c9DX0bVLRKiPqyIl7MAOJuHLI0UazsN4pp9sKoIPYPwcDGHUF5JP1ZmxAw1zhgU2Lwsqt5AXwtkgeGFzJvllmo87RZrT/lGIYZ22o7+Qb3wTLZx60PG7+dUe+uGk0dDNbwCZxoo3GHbaKzjAi+KLWQBMzCe4CJ5gEoFunytiwJkQZKJdTKMLZ0+Im46v9VvTI9fSSNKQece88BZ6kmcgxuetWCYxjuH2amji0k/COLn31uNOqnlRZSNPCcKawYxdmw+EghwjrQtfg89QJw== lars@forge-2011-11-09
diff --git a/common/files/keys/marcel.pub b/common/files/keys/marcel.pub
new file mode 100644
index 0000000..e334852
--- /dev/null
+++ b/common/files/keys/marcel.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0+PCSlrG2mrPjE181QL7MmdNSBciVG+MBJpZN5385YJOU1nxDQ7Bi/P6hQh7y+iKJbrMN/zgThZGgfwptkr8ZpFspOgiycy84dK8MuKbr6epLhyrmbb0Xt21mENgVy+G7mOxak6bLgCOYvpGxVjKGNZHKIT0LT3NR9cFpDKaqlLUI9H2+1pwint6qdQfFNPH3YFMJ/8IO6LJb2klJMHaMNhKnMD18XFthDLZWnvbSRRMuuB70lFn+raFdzNZ+kT2QDC5TGRlmdW3R7nnw95B1/stuNsBVZXnvINsX4cKcyT7usUwkGlpeSz/w0LVEKVg0g3akBWkK3yK5qa6WDdGfQ== marcel@portal.fsmpi.rwth-aachen.de
diff --git a/common/files/keys/marcelHome.pub b/common/files/keys/marcelHome.pub
new file mode 100644
index 0000000..5a324ea
--- /dev/null
+++ b/common/files/keys/marcelHome.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfuaq8bmktvuZ4B5OajMmpJNj6ddaM4Q4495ddZfQUG6cauvzEoWVdw782a6chrjvPrJOmcL9Qcoc8lTuZu3NxwFRebIjDLrahpe/GZPceBcUF/PW6+pLjuMuOuSworfkBl48ILoQFlRX0hvT7043kJRXwSIKn98bQZAmS3Fw+GFDlTWv4a5r8eAbipEmPoAmvOGQ9zQcTHEOVpZsY4c05Sfiy+TQmapYPqCkkteG1Hv64W2owH924AWrx2ZWNSPSI5R9Y+WEWJpXZfNLxtmzTPp3igoLyGpfswW/7+RluUQ6L0CD425kySyZ6GldPET99bXzXqxD3e624PwzhIGyD marcel@mobilux.ac.straub-nv.de
diff --git a/common/files/keys/marcelWork.pub b/common/files/keys/marcelWork.pub
new file mode 100644
index 0000000..bf33ea4
--- /dev/null
+++ b/common/files/keys/marcelWork.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOrDiWcsSYcJouAfuTaY/AGAx9kkz1QqOuzKb6lKmF7WGfC0Yh3yZdNzUNpq2fo6OzIup9dZggy9QFKi69I05jd82+4Wyown0Xs44Y1u+MS/G5+7voPtrdY8Cxhm/eKsiCRxl3BTGaRcsiGCuqv1dbaRmsn+Bl7Y81rYjZvBv0jwOi1bKvu5fF+05wyPNuocVQ7yZISWXPjluV8jcW+qZzcXtkIIR5Ze/Cb26bCixY2WlRzbulBhVa/1yj0SCbcSSPYfmfhSnck4Tw/rCImfmdVCspoWZyWFVFyHn8eyXzMrp84sovzooOWLjuAOihNIoORo3z1K/DOC2BvAzDH2u9 marcel@mpiTux.pmi.rwth-aachen.de
diff --git a/common/files/keys/patrick.pub b/common/files/keys/patrick.pub
new file mode 100644
index 0000000..909b59c
--- /dev/null
+++ b/common/files/keys/patrick.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvdnGYcsNG3WLbRYVDnCDMdx53pGji2MiGsOQTtTLlUZ1OlSGf6XyvNzIYhaQABjvw7spRAqrDxwOKXo9Kd4hqVencrbMpIo0CLSZWMMjwzfye+F4hlZVEooWEZrG8wSMb+oYjCCbBUBlgFmnz1Khx6NnacnlAV/OqzJNPoLcovmZm/E/ftJp3WoMaYIkvZDVfUnY92R+iprW4gRfPJzjMPF+5Y3+LlfVCcZMNQ1UsRT8U/A8zTOkorvyBy8nsR1g+zWoCaHMKhX9pedFHj4NaHJI9vDMiXwhgNDsf43nj8Dd6mWPLZlPbcXmnVz200wIL0ysz0PjLIBhvmZYYkYNh ilmig@smaug
diff --git a/common/files/keys/rikus.pub b/common/files/keys/rikus.pub
new file mode 100644
index 0000000..0c6fa8a
--- /dev/null
+++ b/common/files/keys/rikus.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSBzhclr9x4cVkOQ9c9qF3Fh3XWYYhVwK/GZwg46IXyhrKNx2c083ciNqke8vh+yTALbONhwyOlV/D6RsfYye+nSdsr/Cd68vRknt4S410Zd32/ug+w9WgSj3MWIuOVHwb75/BA2zbeKJf0PrBhBSPfkQXfPXkzXXjd678TgDYisz4hO4a41ELaIEzqEKMO4PMEetPBqEQ3SBAbtIReftznD2d60Uk4z/IS6WjdJM+TLyKwGE1tFt/w/+T8f+bGg8N5KIyLQPCGb5HLfmgJUcdfCSqAqADuMz4TMGkw2Gf/b8rDjjckbszQoUvqgt68usgvdwYwsAH9B9amzZZ99J hinrikus.wolf@x220
diff --git a/common/files/keys/rikusfsmpi.pub b/common/files/keys/rikusfsmpi.pub
new file mode 100644
index 0000000..85ad4f2
--- /dev/null
+++ b/common/files/keys/rikusfsmpi.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB40n+Fy7PuPJup9bfuk86t1fEskIjsN9k2f1pIeDHfz7sv9+/EGQU6PEluusQgx6pHfH4FUUb+Bs324BGBnSrz3ixPA1jP/Tzq7CdvU3+YXYu5+KrQQdBlIAMUxfLGfZm7sAfsOl0v35157CNv1DcdzkCjQXEweglxKOPW/0PW0X0yN8hCauIhkIiwyUaGReEhYk57aIBpH3aNcaoA2BDNUw+50TbG20p/JQo8DQvqZFYi2aCs8G8d9pHig2Eq35U/gR5oZVuGTNIje4nVCtOq212quGPJu+qL/XvI1YEULVmU39x2C2omLdd/HJybA/zKlQzFYRTvJyDoR+FsIuD hinrikus@hoern1.fsmpi.rwth-aachen.de
diff --git a/common/files/lldpd b/common/files/lldpd
new file mode 100644
index 0000000..8ce98b5
--- /dev/null
+++ b/common/files/lldpd
@@ -0,0 +1 @@
+DAEMON_ARGS="-c"
diff --git a/common/files/root/bashrc b/common/files/root/bashrc
new file mode 100644
index 0000000..df6453a
--- /dev/null
+++ b/common/files/root/bashrc
@@ -0,0 +1,175 @@
+
+bash_prompt() {
+    case $TERM in
+     xterm*|rxvt*)
+         local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]'
+          ;;
+     *)
+         local TITLEBAR=""
+          ;;
+    esac
+    local NONE="\[\033[0m\]"    # unsets color to term's fg color
+    
+    # regular colors
+    local K="\[\033[0;30m\]"    # black
+    local R="\[\033[0;31m\]"    # red
+    local G="\[\033[0;32m\]"    # green
+    local Y="\[\033[0;33m\]"    # yellow
+    local B="\[\033[0;34m\]"    # blue
+    local M="\[\033[0;35m\]"    # magenta
+    local C="\[\033[0;36m\]"    # cyan
+    local W="\[\033[0;37m\]"    # white
+    
+    # emphasized (bolded) colors
+    local EMK="\[\033[1;30m\]"
+    local EMR="\[\033[1;31m\]"
+    local EMG="\[\033[1;32m\]"
+    local EMY="\[\033[1;33m\]"
+    local EMB="\[\033[1;34m\]"
+    local EMM="\[\033[1;35m\]"
+    local EMC="\[\033[1;36m\]"
+    local EMW="\[\033[1;37m\]"
+    
+    # background colors
+    local BGK="\[\033[40m\]"
+    local BGR="\[\033[41m\]"
+    local BGG="\[\033[42m\]"
+    local BGY="\[\033[43m\]"
+    local BGB="\[\033[44m\]"
+    local BGM="\[\033[45m\]"
+    local BGC="\[\033[46m\]"
+    local BGW="\[\033[47m\]"
+    
+    local UC=$G                 # user's color
+    [ $UID -eq "0" ] && UC=$R   # root's color
+    
+    PS1="$TITLEBAR ${EMW}\t [${UC}\u ${EMK}@ ${C}\h${EMW}] ${EMC}\w ${UC}\\$ ${NONE}"
+    # without colors: PS1="[\u@\h \${NEW_PWD}]\\$ "
+    # extra backslash in front of \$ to make bash colorize the prompt
+}
+
+#append_root() {
+#	export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$1/lib
+#	export PATH=$PATH:$1/bin
+#	export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$1/lib/pkgconfig
+#	for D in $1/lib/python*/site-packages; do
+#		export PYTHONPATH=$PYTHONPATH:$D
+#	done
+#}
+
+prepend_root() {
+	echo "** prepend $1"
+    export LD_LIBRARY_PATH="$1/lib:$LD_LIBRARY_PATH"
+    export PATH="$1/bin:$PATH"
+    export PKG_CONFIG_PATH="$1/lib/pkgconfig:$PKG_CONFIG_PATH"
+    for D in $1/lib/python*/site-packages; do
+        export PYTHONPATH="$D:$PYTHONPATH"
+    done
+}
+
+append_element() {
+    local IFS=":"
+    for item in $1; do
+        if ! [[ $item == $2* ]]; then
+            echo -n "$item:"
+        fi
+    done
+    echo $2
+}
+
+prepend_element() {
+    local IFS=":"
+    echo $2
+    for item in $1; do
+        if ! [[ $item == $2* ]]; then
+            echo -n ":$item"
+        fi
+    done
+}
+
+remove_element() {
+	local IFS=":"
+	for item in $1; do
+		if ! [[ $item == $2* ]]; then
+			echo -n ":$item"
+		fi
+	done
+}
+
+list_path() {
+    local IFS=":"
+    for item in $1; do
+        echo $item
+    done
+}
+
+append_root() {
+    export LD_LIBRARY_PATH=$(append_element $LD_LIBRARY_PATH $1/lib)
+    export PATH=$(append_element $PATH $1/bin)
+    export PKG_CONFIG_PATH=$(append_element $PKG_CONFIG_PATH $1/lib/pkgconfig)
+    for D in $1/lib/python*/site-packages; do
+        export PYTHONPATH=$(append_element $PYTHONPATH $D)
+    done
+}
+
+
+remove_root() {
+	PATH=$(remove_element $PATH $1)
+	LD_LIBRARY_PATH=$(remove_element $LD_LIBRARY_PATH $1)
+	PKG_CONFIG_PATH=$(remove_element $PKG_CONFIG_PATH $1)
+	PYTHONPATH=$(remove_element $PYTHONPATH $1)
+}
+
+# Check for an interactive session
+[ -z "$PS1" ] && return
+
+if [ "$PS1" ]; then
+	shopt -s checkwinsize
+	shopt -s cdspell
+
+	# don't put duplicate lines in the history. See bash(1) for more options
+	# don't overwrite GNU Midnight Commander's setting of `ignorespace'.
+	HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
+	# ... or force ignoredups and ignorespace
+	HISTCONTROL=ignoreboth
+
+	# append to the history file, don't overwrite it
+	shopt -s histappend
+
+	alias ls='ls -h --color=auto'
+	alias l='ls -lh --color=auto'
+	alias ll='ls -Alh --color=auto'
+	alias ssh='ssh -A -X'
+	alias make='make -j 4'
+	alias ne='TERM=xterm ne'
+	alias ..='cd ..'
+	bash_prompt
+
+	export EDITOR=/usr/bin/vim
+	
+	set bell-style none
+	
+	# enhanced bash completition
+	if [ -f /etc/bash_completion ]; then
+	 . /etc/bash_completion
+	fi
+	if [ -f ~/.bash_completion ]; then
+	 . ~/.bash_completion
+	fi
+	
+#	if [ -z "$SSH_AUTH_SOCK" ] && [ "${SSH_AUTH_SOCK}xxx" = "xxx" ]; then
+#		SSH_ENV="$HOME/.ssh/environment"
+#		echo "Starting KeyChain"
+#	       	# Source SSH settings, if applicable
+#		keychain --nogui --eval id_rsa
+#		. ~/.keychain/$HOSTNAME-sh &> /dev/null
+#		. ~/.keychain/$HOSTNAME-sh-gpg &> /dev/null
+#	fi
+	
+	#prepend_root $HOME/.local
+	
+	if [ -f $HOME/.bashrc.local ]
+	then
+		source $HOME/.bashrc.local
+	fi
+fi
diff --git a/common/files/root/gitconfig b/common/files/root/gitconfig
new file mode 100644
index 0000000..802ac1f
--- /dev/null
+++ b/common/files/root/gitconfig
@@ -0,0 +1 @@
+## TODO
diff --git a/common/files/root/vimrc b/common/files/root/vimrc
new file mode 100644
index 0000000..802ac1f
--- /dev/null
+++ b/common/files/root/vimrc
@@ -0,0 +1 @@
+## TODO
diff --git a/common/files/rwth_chain.pem b/common/files/rwth_chain.pem
new file mode 100644
index 0000000000000000000000000000000000000000..052f807ecbb36b9e086cd82d9ccd1a9759cad7c2
GIT binary patch
literal 4071
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

literal 0
HcmV?d00001

diff --git a/common/files/sudo/admin b/common/files/sudo/admin
new file mode 100644
index 0000000..56838a9
--- /dev/null
+++ b/common/files/sudo/admin
@@ -0,0 +1 @@
+%admin ALL=(ALL:ALL) ALL
diff --git a/common/files/sudo/default b/common/files/sudo/default
new file mode 100644
index 0000000..802ac1f
--- /dev/null
+++ b/common/files/sudo/default
@@ -0,0 +1 @@
+## TODO
diff --git a/common/handlers/main.yml b/common/handlers/main.yml
index e69de29..0915dfa 100644
--- a/common/handlers/main.yml
+++ b/common/handlers/main.yml
@@ -0,0 +1,14 @@
+---
+# file: roles/common/handlers/main.yml
+
+- name: restart ntpd
+  service: name=ntp state=restarted
+
+- name: restart sshd
+  service: name=ssh state=restarted
+
+- name: restart lldpd
+  service: name=lldpd state=restarted
+
+- name: restart rsyslogd
+  service: name=rsyslog state=restarted
diff --git a/common/meta/main.yml b/common/meta/main.yml
index e69de29..802ac1f 100644
--- a/common/meta/main.yml
+++ b/common/meta/main.yml
@@ -0,0 +1 @@
+## TODO
diff --git a/common/tasks/dns.yml b/common/tasks/dns.yml
index 3822416..d61504e 100644
--- a/common/tasks/dns.yml
+++ b/common/tasks/dns.yml
@@ -1,7 +1,6 @@
 ---
-#file: roles/common/tasks/dns.yml
+# file: roles/common/tasks/dns.yml
  
-- name: be sure dns is configured
+- name: ensure dns is configured
   template: src=resolv.conf.j2 dest=/etc/resolv.conf owner=root group=root mode=0644
   tags: dns config
-  
diff --git a/common/tasks/inventory.yml b/common/tasks/inventory.yml
deleted file mode 100644
index a1ffa4f..0000000
--- a/common/tasks/inventory.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-#file: roles/common/tasks/inventory.yml
-
-- name: be sure facter is installed
-  apt: pkg=facter state=latest
-  tags: inventory packages
diff --git a/common/tasks/logging.yml b/common/tasks/logging.yml
index 6b873b6..e4a7795 100644
--- a/common/tasks/logging.yml
+++ b/common/tasks/logging.yml
@@ -1,8 +1,13 @@
 ---
-#file: roles/common/task/logging.yml
+# file: roles/common/task/logging.yml
 
-- name: be sure that central logging works
-  copy: src=rsyslog_client.conf dest=/etc/rsyslog.conf owner=root group=root mode=0644
+- name: ensure rsyslog is running and enabled
+  service: name=rsyslog state=running enabled=yes
+  tags: syslog service
+
+- name: ensure that central logging works
+  template: src=rsyslog.conf.j2 dest=/etc/rsyslog.conf owner=root group=root mode=0644
   when: ansible_fqdn != "rumo.fsmpi.rwth-aachen.de"
-  notify: restart rsyslogd
+  notify:
+    - restart rsyslogd
   tags: syslog config
diff --git a/common/tasks/main.yml b/common/tasks/main.yml
index e69de29..743bf5c 100644
--- a/common/tasks/main.yml
+++ b/common/tasks/main.yml
@@ -0,0 +1,12 @@
+---
+# file: roles/common/tasks/main.yml
+
+tasks:
+  - include: dns.yml
+  - include: ssl.yml
+  - include: sshd.yml
+  - include: sudo.yml
+  - include: logging.yml
+  - include: ntpd.yml
+  - include: shell.yml
+  - include: software.yml
diff --git a/common/tasks/ntpd.yml b/common/tasks/ntpd.yml
index ae56c94..e14e0df 100644
--- a/common/tasks/ntpd.yml
+++ b/common/tasks/ntpd.yml
@@ -1,18 +1,16 @@
 ---
 # file: roles/common/tasks/ntp.yml
-# ntpd
-- name: be sure ntpd is installed
+
+- name: ensure ntpd is installed
   apt:  pkg=ntp state=latest
   tags: ntpd packages 
 
-- name: be sure ntpd configured
+- name: ensure ntpd configured
   template: src=ntp.conf.j2 dest=/etc/ntp.conf
   notify:
     - restart ntpd
   tags: ntpd config
 
-- name: be sure ntpd is running and enabled
+- name: ensure ntpd is running and enabled
   service: name=ntpd state=running enabled=yes
   tags: ntpd service
-
-
diff --git a/common/tasks/shell.yml b/common/tasks/shell.yml
new file mode 100644
index 0000000..379eb16
--- /dev/null
+++ b/common/tasks/shell.yml
@@ -0,0 +1,44 @@
+---
+# file: roles/common/tasks/shell.yml
+
+- name: ensure installation of basic shell commands
+  apt: state=latest name={{ item }}
+  with_items:
+    - git
+    - vim
+    - vim-scripts
+    - vim-addon-manager
+    - zsh
+  tags: packages shell
+
+- name: ensure zsh-grml is available
+  get_url: src=http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc dest=/etc/zsh/zshrc owner=root group=root mode=0644
+  tags: config shell
+
+- name: ensure zsh-grml is the default
+  get_url: src=http://git.grml.org/f/grml-etc-core/etc/skel/.zshrc dest=/etc/skel/.zshrc owner=root group=root mode=0640
+  tags: config shell
+
+- name: ensure deployment of greeter
+  copy: src=fsmpi/motd dest=/etc/motd owner=root group=root mode=0644
+  tags: config shell fsmpi
+
+- name: ensure deployment of issue.net
+  copy: src=fsmpi/issue.net dest=/etc/issue.net owner=root group=root mode=0644
+  tags: config shell fsmpi
+
+- name: ensure deployment of a fancy bashrc for root
+  copy: src=root/bashrc dest=/root/.bashrc owner=root group=root mode=0640
+  tags: config shell root
+
+- name: ensure deployment of a fancy vimrc for root
+  copy: src=root/vimrc dest=/root/.vimrc owner=root group=root mode=0640
+  tags: config shell root
+
+- name: ensure deployment of a fancy gitconfig for root
+  copy: src=root/gitconfig dest=/root/.gitconfig owner=root group=root mode=0640
+  tags: config shell root
+
+- name: ensure a properly configured root account
+  user: name=root shell=/bin/zsh
+  tags: config shell root
diff --git a/common/tasks/software.yml b/common/tasks/software.yml
index 4b69e36..675e9b3 100644
--- a/common/tasks/software.yml
+++ b/common/tasks/software.yml
@@ -1,15 +1,10 @@
 ---
 # file: roles/common/tasks/software.yml
 
-- name: essential software
+- name: ensure installaton of some essential software
   apt: state=latest name={{ item }}
   with_items:
-    - git
     - rsync
-    - vim
-    - vim-scripts
-    - vim-addon-manager
-    - zsh
     - screen
     - sysstat
     - tcpdump
@@ -19,26 +14,26 @@
     - htop
   tags: packages shell
 
-- name: be sure zsh-grml is available
-  get_url: src=http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc dest=/etc/zsh/zshrc owner=root group=root mode=0644
-  tags: config shell
+- name: ensure facter is installed
+  apt: name=facter state=latest
+  tags: inventory packages
 
-- name: be sure zsh-grml is the default
-  get_url: src=http://git.grml.org/f/grml-etc-core/etc/skel/.zshrc dest=/etc/skel/.zshrc
-  tags: config shell
-
-- name: be sure lldpd is installed
+- name: ensure lldpd is installed
   apt: state=latest name=lldpd
   tags: lldpd packages
 
-- name: be sure lldpd is configured
+- name: ensure lldpd is configured
   copy: src=lldpd dest=/etc/default/lldpd owner=root group=root mode=0644
   notify:
     - restart lldpd
   tags: lldpd config
 
+- name: ensure lldpd is enabled and running
+  service: name=lldpd state=running enabled=yes
+  tags: lldpd service
+
 - name: remove unused packages
-  shell: apt-get autoremove -y
+  command: apt-get autoremove -y
   tags: packages clean
 
 - name: update apt cache and upgrade existing packages
diff --git a/common/tasks/sshd.yml b/common/tasks/sshd.yml
index 938331a..5c37745 100644
--- a/common/tasks/sshd.yml
+++ b/common/tasks/sshd.yml
@@ -1,21 +1,21 @@
 ---
 # file: roles/common/tasks/sshd.yml
-# sshd
-- name: be sure sshd is installed
+
+- name: ensure sshd is installed
   apt:  pkg=openssh-server state=latest
   tags: sshd packages 
 
-- name: be sure sshd configured
+- name: ensure sshd configured
   template: src=sshd_config.j2 dest=/etc/ssh/sshd_config
   notify:
     - restart sshd
   tags: sshd config
 
-- name: be sure sshd is running and enabled
+- name: ensure sshd is running and enabled
   service: name=ssh state=running enabled=yes
   tags: sshd service
 
-- name: be sure every ssh-key is installed
+- name: ensure every ssh-key is installed
   authorized_key: user=root key="{{ item }}"
   with_file:
     - keys/patrick.pub
@@ -29,6 +29,3 @@
     - keys/lars.pub
     - keys/konstantin.pub
   tags: sshd
-
-
-
diff --git a/common/tasks/ssl.yml b/common/tasks/ssl.yml
index 1b3d815..c164be1 100644
--- a/common/tasks/ssl.yml
+++ b/common/tasks/ssl.yml
@@ -1,8 +1,6 @@
 ---
-# file:roles/common/tasks/ssl.yml
+# file: roles/common/tasks/ssl.yml
 
-- name: be sure RWTH CA Chain is installed
+- name: ensure RWTH CA Chain is installed
   copy: src=rwth_chain.pem dest=/etc/ssl/certs/rwth_chain.pem owner=root group=root mode=0644
   tags: ssl rwthCA
-
-
diff --git a/common/tasks/sudo.yml b/common/tasks/sudo.yml
index 687b8cd..9a7ee2f 100644
--- a/common/tasks/sudo.yml
+++ b/common/tasks/sudo.yml
@@ -1,16 +1,19 @@
 ---
 # file: roles/common/tasks/sudo.yml
 
-- name: be sure sudo is installed 
+- name: ensure sudo is installed 
   apt: state=latest pkg=sudo
   tags: sudo packages
 
-- name: be sure users of group admins are in the sudoers
-  copy: src=sudo_default dest=/etc/sudoers.d/group_admins owner=root group=root mode=0440
+- name: ensure we got a sane sudo config
+  copy: src=sudo/default dest=/etc/sudoers owner=root group=root mode=0440
+  tags: sudo config
+
+## TODO place this one in ad-auth
+- name: ensure users of group admin are in the sudoers
+  copy: src=sudo/admin dest=/etc/sudoers.d/admin owner=root group=root mode=0440
   tags: sudo config
 
 - name: check whole sudo config
-  shell: visudo -q -c -f /etc/sudoers
+  command: visudo -q -c -f /etc/sudoers
   tags: sudo test
-
- 
diff --git a/common/templates/ntp.conf.j2 b/common/templates/ntp.conf.j2
new file mode 100644
index 0000000..1ea2f97
--- /dev/null
+++ b/common/templates/ntp.conf.j2
@@ -0,0 +1,16 @@
+driftfile /var/lib/ntp/ntp.drift
+
+statistics loopstats peerstats clockstats
+filegen loopstats file loopstats type day enable
+filegen peerstats file peerstats type day enable
+filegen clockstats file clockstats type day enable
+
+restrict -4 default kod notrap nomodify nopeer noquery
+restrict -6 default kod notrap nomodify nopeer noquery
+
+restrict 127.0.0.1
+restrict ::1
+
+{% for server in ntpservers %} 
+	server {{ server }} iburst
+{% endfor %}
diff --git a/common/templates/resolv.conf.j2 b/common/templates/resolv.conf.j2
new file mode 100644
index 0000000..14ed062
--- /dev/null
+++ b/common/templates/resolv.conf.j2
@@ -0,0 +1,5 @@
+## TODO
+domain fsmpi.rwth-aachen.de
+search fsmpi.rwth-aachen.de
+nameserver 134.130.5.1
+nameserver 134.130.4.1
diff --git a/common/templates/rsyslog.conf.j2 b/common/templates/rsyslog.conf.j2
new file mode 100644
index 0000000..c05785f
--- /dev/null
+++ b/common/templates/rsyslog.conf.j2
@@ -0,0 +1,118 @@
+## TODO
+$ModLoad imuxsock # provides support for local system logging
+$ModLoad imklog   # provides kernel logging support
+#$ModLoad immark  # provides --MARK-- message capability
+
+# provides UDP syslog reception
+#$ModLoad imudp
+#$UDPServerRun 514
+
+# provides TCP syslog reception
+#$ModLoad imtcp
+#$InputTCPServerRun 514
+
+
+###########################
+#### GLOBAL DIRECTIVES ####
+###########################
+
+#
+# Use traditional timestamp format.
+# To enable high precision timestamps, comment out the following line.
+#
+$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
+
+#
+# Set the default permissions for all log files.
+#
+$FileOwner root
+$FileGroup adm
+$FileCreateMode 0640
+$DirCreateMode 0755
+$Umask 0022
+
+#
+# Where to place spool and state files
+#
+$WorkDirectory /var/spool/rsyslog
+
+$ActionQueueType LinkedList   # use asynchronous processing
+$ActionQueueFileName srvrfwd  # set file name, also enables disk mode
+$ActionResumeRetryCount -1    # infinite retries on insert failure
+$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down
+*.*       @@rumo.fsmpi.rwth-aachen.de:514
+
+#
+# Include all config files in /etc/rsyslog.d/
+#
+$IncludeConfig /etc/rsyslog.d/*.conf
+
+
+###############
+#### RULES ####
+###############
+
+#
+# First some standard log files.  Log by facility.
+#
+auth,authpriv.*			/var/log/auth.log
+*.*;auth,authpriv.none		-/var/log/syslog
+#cron.*				/var/log/cron.log
+daemon.*			-/var/log/daemon.log
+kern.*				-/var/log/kern.log
+lpr.*				-/var/log/lpr.log
+mail.*				-/var/log/mail.log
+user.*				-/var/log/user.log
+
+#
+# Logging for the mail system.  Split it up so that
+# it is easy to write scripts to parse these files.
+#
+mail.info			-/var/log/mail.info
+mail.warn			-/var/log/mail.warn
+mail.err			/var/log/mail.err
+
+#
+# Logging for INN news system.
+#
+news.crit			/var/log/news/news.crit
+news.err			/var/log/news/news.err
+news.notice			-/var/log/news/news.notice
+
+#
+# Some "catch-all" log files.
+#
+*.=debug;\
+	auth,authpriv.none;\
+	news.none;mail.none	-/var/log/debug
+*.=info;*.=notice;*.=warn;\
+	auth,authpriv.none;\
+	cron,daemon.none;\
+	mail,news.none		-/var/log/messages
+
+#
+# Emergencies are sent to everybody logged in.
+#
+*.emerg				:omusrmsg:*
+
+#
+# I like to have messages displayed on the console, but only on a virtual
+# console I usually leave idle.
+#
+#daemon,mail.*;\
+#	news.=crit;news.=err;news.=notice;\
+#	*.=debug;*.=info;\
+#	*.=notice;*.=warn	/dev/tty8
+
+# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
+# you must invoke `xconsole' with the `-file' option:
+# 
+#    $ xconsole -file /dev/xconsole [...]
+#
+# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
+#      busy site..
+#
+daemon.*;mail.*;\
+	news.err;\
+	*.=debug;*.=info;\
+	*.=notice;*.=warn	|/dev/xconsole
diff --git a/common/templates/sshd_config.j2 b/common/templates/sshd_config.j2
new file mode 100644
index 0000000..802ac1f
--- /dev/null
+++ b/common/templates/sshd_config.j2
@@ -0,0 +1 @@
+## TODO
diff --git a/common/vars/main.yml b/common/vars/main.yml
index e69de29..802ac1f 100644
--- a/common/vars/main.yml
+++ b/common/vars/main.yml
@@ -0,0 +1 @@
+## TODO
-- 
GitLab