Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>remotes/origin/archive_shell_function_approach
parent
c85aec7b13
commit
8da1c44081
@ -0,0 +1,242 @@ |
||||
% 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{Cosin 2011} |
||||
|
||||
\author{Nico -telmich- Schottelius} |
||||
|
||||
\date{25. Juni 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 für dia 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 |
||||
./build.sh 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} |
||||
# Fangen wir bei uns an |
||||
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 |
||||
# Dieser Typ konfiguriert meinen Mailserver |
||||
require="__package/nullmailer" \ |
||||
__file /etc/nullmailer/remotes \ |
||||
--source "$__type/files/remotes" |
||||
|
||||
# Reihenfolge spielt keine Rolle |
||||
__package nullmailer --state installed |
||||
eof |
||||
\end{verbatim} |
||||
\end{small} |
||||
\end{frame} |
||||
|
||||
\begin{frame}[fragile] |
||||
\frametitle{Ein neuer Typ (2)} |
||||
\begin{small} |
||||
\begin{verbatim} |
||||
# Wichtig: Wird ausgeführt |
||||
% chmod u+x conf/type/__my_mailserver/manifest |
||||
|
||||
# Darf nur einmal verwendet werden pro Rechner |
||||
% touch conf/type/__my_mailserver/singleton |
||||
|
||||
# Nullmailer Konfiguration |
||||
% mkdir conf/type/__my_mailserver/files |
||||
% echo my.fancy.smart.host > \ |
||||
conf/type/__my_mailserver/files/remotes |
||||
\end{verbatim} |
||||
\end{small} |
||||
\end{frame} |
||||
|
||||
\begin{frame}[fragile] |
||||
\frametitle{Neuen Typ nutzen} |
||||
\begin{small} |
||||
\begin{verbatim} |
||||
% $EDITOR conf/manifest/init |
||||
|
||||
case "$__target_host" in |
||||
localhost) |
||||
... |
||||
__my_mailserver |
||||
... |
||||
;; |
||||
\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.7 origin/1.7 |
||||
\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/\\ |
||||
und http://l.schottelius.org/pipermail/cdist |
||||
\end{block} |
||||
} |
||||
|
||||
|
||||
\end{document} |
Loading…
Reference in new issue