From b4b75f00b239c43c0fc9d6613d57302cb607a90d Mon Sep 17 00:00:00 2001
From: Benedikt Wegmann <Benedikt.Wegmann@gwdg.de>
Date: Fri, 2 Dec 2016 17:35:52 +0100
Subject: [PATCH] README.md

---
 README.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 80 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 3382b74..7b34177 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,83 @@
 # Ubuntu Server
 
-Repository für allgemein verwendbare Puppet-Klassen, geeignet für Ubuntu-Server
+Repository für allgemein verwendbare Puppet-Klassen, geeignet für Ubuntu-Server.
 
+## Klassen
+
+### ubuntu_server
+
+Init-Klasse ist leer und tut nichts.
+Einzelne Klassen des Moduls müssen explizit deklariert werden.
+
+### ubuntu_server::autoremove_pgk
+
+Installiert cronjob-Skript zum autmatischen entfernen von Paketen, die apt als nicht mehr benötigt betrachtet, durch ```apt-get autoremove```.
+
+### ubuntu_server::changetrack
+
+Installiert ```changetrack``` (siehe [changetrack.sourceforge.net]) zum Verfolgen und Benachrichtigen von ```root``` bei Änderungen in Konfigurationsdateien. So konfiguriert, dass alle dpkg bekannten Konfigurationsdateien und ein paar zusätzliche überwacht werden.
+
+[changetrack.sourceforge.net]: http://changetrack.sourceforge.net/
+
+### ubuntu_server::docker
+
+Installiert das apt-Repository von dockerproject.org, installiert ```docker-engine``` und ```docker-compose```, falls nicht vorhanden oder kleiner als minimale Version.
+
+* ```$docker_compose_latest_version``` (optional) = minimale Docker-Compose-Version
+
+### ubuntu_server::docker_extras
+
+Installiert ein cronjob zum Löschen nicht mehr referenzierter Volumes und Images und ein Upstart-Task zum Updaten von ```docker-engine``` vor dem Start des Docker-Services.
+
+### ubuntu_server::ethtool_setup
+
+Setzt die "rx/tx ring parameters" auf 1024 für NICs in VMs (siehe [man ethtool -G]). Benutzt die defined types aus ```ubuntu_server::ring_parameters```.
+
+[man ethtool -G]: [http://linuxcommand.org/man_pages/ethtool8.html]
+
+### ubuntu_server::firewall
+
+Diese Klasse kann Skripte in ```/etc/network/if-up.d/``` und ```/etc/network/if-pre-up.d/``` ablegen zum frühzeitigen Setzen von iptables-Regeln. Per Default wird nichts abgelegt. Änderungen setzen ```/var/run/reboot-required```, um die Regeln aktiv zu schalten, was *nicht* in Laufzeit geschieht. Ziel ist es, Regeln von Docker und anderen Diensten nicht nachträglich zu stören, weshalb die Skripte die Regeln früh beim Boot schalten sollen. 
+
+* ```$firewall_scripts_pre_up``` (optional) = Puppet-Pfad zum Pre-Up-Script (Default: ```false```)
+* ```$firewall_scripts_up``` (optional) = Puppet-Pfad zum Up-Skript (Default: ```false```)
+
+### ubuntu_server::grub
+
+Deaktiviert den graphischen Boot-Screen und bei VMs (```$::virtual == 'vmware'```) wird der IO-Scheduler auf ```noop``` gesetzt (siehe [VMWare KB 2011861]).
+
+[VMWare KB 2011861]: https://kb.vmware.com/kb/2011861
+
+### ubuntu_server::kernel_lts
+
+Installiert das Metapaket für den aktuellsten LTS-Kernel und entfernt Metapakete für ältere LTS-Kernel. Zusammen mit _ubuntu_server::autoremove_pgk_ (s.o.) werden so unbenutzte, veraltete Kernel automatisch entfernt.
+
+### ubuntu_server::monit
+
+Installiert das lokale Monitoring-Tool [Monit] mit einer Standard-Konfiguration und Standard-Zugangsdaten.
+
+* $admin_emails = Ein Array (ggf. mit nur einem Element) mit den Email-Adressen, an die Monit Benachrichtigungen schicken kann. 
+* $admin_user (optional) = Benutzername für die Anmeldung an Monit (Default: ```'madmin'```
+* $admin_passwd (optional) = Passwort für die Anmeldung an Monit (Default: ```'gEt0ffMyL4wn'```)
+* $mailserver (optional) = Email-Server für den Versand von Emails (Default: ```'mailer.gwdg.de'```)
+* $monit_basis_config_template (optional) = Puppet-Pfad zur Konfigurationsdatei für die Haupt-Konfiguration non Monit. Sollte Elemente aus der Default-Konfiguration enthalten, die überschrieben werden sollen (Default: ```'ubuntu_server/etc/monit/conf.d/config.erb'```)
+* $monit_filesystems_config_template (optional) = Puppet-Pfad zu einem Template für die Konfiguration der Überwachung der Dateisysteme (Default:  ```'ubuntu_server/etc/monit/conf.d/filesystems.erb'```). Das Default-Template ersetllt Einträge für alle lokalen und NFS-Dateisysteme.
+* $monit_config_dir (optional) = Puppet-Pfad zu einem Verzeichnis mit weiteren Konfigurationsdateien für zusätzliche Tests (Default: ```'puppet:///modules/ubuntu_server/etc/monit/conf.d'```)
+* $docker_check (optional) = Falls ```true``` wird ein Skript installiert und ein Test eingerichtet, der auf gestoppte Container prüft. (Default: ```false```)
+
+[Monit]: https://mmonit.com/monit/#about
+
+### ubuntu_server::motd
+
+Entfernt einige Skripte aus /etc/update-motd.d, die den Login von SSH verzögern. Zusätzlich wird ein Hinweis auf Puppet eingefügt.
+
+### ubuntu_server::noipv6
+
+Deaktiviert IPv6 im Kernel durch ```sysctl```.
+
+### ubuntu_server::nrpe
+
+* $nrpe_local_cfg = Hauptkonfiguration für den NRPE-Daemon (Default: ```'puppet:///modules/ubuntu_server/etc/nagios/nrpe_local.cfg'```)
+* $nrpe_scripts = Verzeichnis mit zusätzlichen Skripts, die durch NRPE für Tests verwendet werden können. (Default: ```'puppet:///modules/ubuntu_server/opt/nagios'```)
+* $daemon_options = zusätzliche Optionen für den Aufruf des Daemon (Default: ```'--no-ssl'```)
+* $enable_sudo_docker = Aktiviert einen Check, der auf gestoppte Docker-Containern prüft. Hierzu wird Nagios per sudo das Ausführen des Skripts erlaubt. (Default: ```false```)
-- 
GitLab