forked from ungleich-public/cdist
		
	
		
			
				
	
	
		
			210 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| % first presentation about cmtp
 | |
| \pdfminorversion=4
 | |
| %\documentclass[ucs]{beamer}
 | |
| \documentclass{beamer}
 | |
| %\documentclass[utf8]{beamer}
 | |
| \usepackage[utf8]{inputenc}
 | |
| \usepackage{german}
 | |
| \usepackage{graphicx}
 | |
| \usepackage{beamerthemesplit}
 | |
| \setbeamercovered{dynamic}
 | |
| \usetheme{Malmoe}
 | |
| \usecolortheme{crane}
 | |
| 
 | |
| \title{cdist - nutzbare Konfigurationsverwaltung}
 | |
| \subtitle{Hacker Erwachen 2011}
 | |
| 
 | |
| \author{Nico -telmich- Schottelius}
 | |
| 
 | |
| \date{18. März 2011}
 | |
| 
 | |
| \begin{document}
 | |
| \frame{\titlepage}
 | |
| 
 | |
| %\section[Outline]{}
 | |
| \frame{\tableofcontents}
 | |
| 
 | |
| \section{Einleitung}
 | |
| \frame
 | |
| {
 | |
|   \frametitle{Was ist das Problem?}
 | |
|   \begin{itemize}[<+->]
 | |
|   \item Einmal konfigurieren = toll
 | |
|   \item Zweimal konfigurieren = naja, ...
 | |
|   \item Neue Sachen machen mehr Spass als alte wiederholen
 | |
|   \item Viele Rechner = viel Mühe?
 | |
|   \end{itemize}
 | |
| }
 | |
| 
 | |
| \frame
 | |
| {
 | |
|   \frametitle{Das ist nicht neu...}
 | |
|   \begin{itemize}[<+->]
 | |
|   \item cfengine
 | |
|   \item Puppet
 | |
|   \item bcfg2
 | |
|   \item chef
 | |
|   \item ...
 | |
|   \end{itemize}
 | |
| }
 | |
| 
 | |
| \frame
 | |
| {
 | |
|   \frametitle{Warum cdist?}
 | |
|   \begin{itemize}[<+->]
 | |
|      \item Klein
 | |
|      \item Unix
 | |
|      \item Leicht zu bedienen
 | |
|      \item ... zu erweitern
 | |
|      \item Shell
 | |
|      \item Weil es Spaß macht!
 | |
|   \end{itemize}
 | |
| }
 | |
| 
 | |
| \section{Installieren}
 | |
| \frame
 | |
| {
 | |
|   \frametitle{Vorraussetzungen}
 | |
|   \begin{itemize}[<+->]
 | |
|      \item sshd
 | |
|      \item root login via sshd
 | |
|      \item Besser: ssh-pubkey konfiguriert (PermitRootLogin without-password)
 | |
|      \item git
 | |
|      \item Asciidoc (manpages)
 | |
|   \end{itemize}
 | |
| }
 | |
| 
 | |
| \frame
 | |
| {
 | |
|   \frametitle{Installation}
 | |
|   \begin{center}
 | |
|   git clone git://git.schottelius.org/cdist
 | |
|   \end{center}
 | |
| }
 | |
| 
 | |
| \begin{frame}[fragile]
 | |
|   \frametitle{Erstellen der Manpages}
 | |
| 
 | |
|   \begin{verbatim}
 | |
|   # Braucht asciidoc / a2x
 | |
|   make man
 | |
|   \end{verbatim}
 | |
| \end{frame}
 | |
| 
 | |
| \section{Nutzen}
 | |
| \begin{frame}[fragile]
 | |
|   \frametitle{Vorbereitung PATH und MANPATH}
 | |
| 
 | |
|   \begin{verbatim}
 | |
|   cd cdist
 | |
|   eval `./bin/cdist-env`
 | |
|   echo $PATH
 | |
|   echo $MANPATH
 | |
|   \end{verbatim}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}[fragile]
 | |
|   \frametitle{Nun los}
 | |
|   \begin{verbatim}
 | |
|   # So wird es laufen...
 | |
|   cdist-deploy-to localhost
 | |
|   \end{verbatim}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}[fragile]
 | |
|   \frametitle{Der Einstiegspunkt}
 | |
|   \begin{small}
 | |
|   \begin{verbatim}
 | |
|   cat << eof > conf/manifest/init
 | |
|   __file /etc/cdist-configured
 | |
| 
 | |
|   case "$__target_host" in
 | |
|      localhost)
 | |
|          __link /tmp/cdist-testfile          \
 | |
|             --source /etc/cdist-configured   \ 
 | |
|             --type symbolic
 | |
|          __addifnosuchline /tmp/cdist-welcome \
 | |
|             --line "Welcome to cdist"
 | |
|       ;;
 | |
|    esac
 | |
|    eof
 | |
|    # Muss ausführbar sein
 | |
|    chmod u+x conf/manifest/init
 | |
| 
 | |
|   \end{verbatim}
 | |
|   \end{small}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}[fragile]
 | |
|   \frametitle{Nun los}
 | |
|   \begin{verbatim}
 | |
|   # Nun läuft es!
 | |
|   cdist-deploy-to localhost
 | |
|   \end{verbatim}
 | |
| \end{frame}
 | |
| 
 | |
| \frame
 | |
| {
 | |
|   \frametitle{Funktionalität zusammenfassen}
 | |
|   \begin{itemize}[<+->]
 | |
|      \item "`Typen"' (types)
 | |
|      \item conf/type/*
 | |
|      \item \_\_ vor jedem Namen (Shell-Umgebung)
 | |
|      \item z.B. Netzseite, Mailserver, Wiki, ...
 | |
|   \end{itemize}
 | |
| }
 | |
| 
 | |
| \begin{frame}[fragile]
 | |
|    \frametitle{Ein neuer Typ}
 | |
|    \begin{small}
 | |
|    \begin{verbatim}
 | |
|    mkdir conf/type/__my_mailserver
 | |
|    cat << eof > conf/type/__my_mailserver/manifest
 | |
|    __package nullmailer --state installed
 | |
| 
 | |
|    require="__package/nullmailer" \
 | |
|        __file /etc/nullmailer/remotes \
 | |
|           --source "$__type/files/remotes"
 | |
|    eof
 | |
|    chmod u+x conf/type/__my_mailserver/manifest
 | |
| 
 | |
|    mkdir conf/type/__my_mailserver/files
 | |
|    echo my.fancy.smart.host > \
 | |
|        conf/type/__my_mailserver/files/remotes
 | |
|    \end{verbatim}
 | |
|    \end{small}
 | |
| \end{frame}
 | |
| 
 | |
| \section{Aktualisieren}
 | |
| \begin{frame}[fragile]
 | |
|   \frametitle{Versionen}
 | |
|   \begin{itemize}[<+->]
 | |
|      \item x.y: Stabile Version
 | |
|      \item master: Entwicklung
 | |
|   \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}[fragile]
 | |
|   \frametitle{Stabile Version auswählen}
 | |
|   \begin{center}
 | |
|   git checkout -b 1.2 origin/1.2
 | |
|   \end{center}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}[fragile]
 | |
|   \frametitle{Aktualisieren}
 | |
|   \begin{center}
 | |
|   git pull
 | |
|   \end{center}
 | |
| \end{frame}
 | |
| 
 | |
| \frame
 | |
| {
 | |
|   \frametitle{Ende}
 | |
|   \begin{block}{Das war's}
 | |
|   Viel Spaß - Mehr Infos gibt's auf http://www.nico.schottelius.org/software/cdist/
 | |
|   \end{block}
 | |
| }
 | |
| 
 | |
| 
 | |
| \end{document}
 |