Merge branch 'master' into createcorelib

This commit is contained in:
Nico Schottelius 2011-07-26 22:01:36 +02:00
commit 5b9881bef6
73 changed files with 1175 additions and 42 deletions

View file

@ -1,7 +1,9 @@
1.7.1:
1.7.1: 2011-07-26
* Documentation: Add explorers to reference
* Documentation: Typo cleanup (Derek Brost)
* Type __key_value: Bugfix (Steven Armstrong)
* New Type: __postgres_role (Steven Armstrong)
* New Type: __postgres_database (Steven Armstrong)
1.7.0: 2011-05-10
* Bugfix type __package_yum: Fix redhat support (Ramon Salvadó)

24
doc/dev/lastchanges Executable file
View file

@ -0,0 +1,24 @@
#!/bin/sh
#
# 2011 Nico Schottelius (nico-cdist at schottelius.org)
#
# This file is part of cdist.
#
# cdist is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# cdist is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
#
#
# Show the lastest changes from this (upcoming) release
#
awk '/^$/ { exit } { print $0 } END { print "-----" }' < "${0%/*}/../changelog"

View file

@ -43,6 +43,15 @@ CORE
and have it parsable by different (shinken) tool
-> given after manifest run already!
- Allow types to have parameters without values (boolean flags).
e.g. __chair fancychair --pink --wood
would result in:
$__object/parameter/
pink # empty file
wood # empty file
- allow cdist to run without $PATH setup: ./bin/cdist-deploy-to
TYPES
------
- __ssh-keys (host/user)

View file

@ -1,16 +0,0 @@
- document object_id=$1 for manifest + gencode :-)
- update docs regarding flow in cdist-stages.text
- create man pages for new executables
- nuke legacy manpages
- prettify output of cdist-deploy-to, e.g.
Processing object __file/etc/cdist-configured
transfering type explorers ...
running type explorers ...
running manifest ...
running gencode ...
transfering object to target ...
running code ...

View file

@ -1,5 +0,0 @@
- align messages (already in todo for steven, but makes life much easier, thus repeated)
-> prefix all object stuff with $__self
-> __cdist_echo object string
-> $__cdist_object_self :-)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -10,20 +10,18 @@ cdist-manifest-run - Run a given manifest
SYNOPSIS
--------
cdist-manifest-run HOSTNAME MANIFEST OUTPUT_DIR
cdist-manifest-run HOSTNAME MANIFEST
DESCRIPTION
-----------
cdist-manifest-run executes the given MANIFEST and saves the output into
OUTPUT_DIR.
cdist-manifest-run executes the given MANIFEST.
SEE ALSO
--------
- cdist(7)
- cdist-deploy-to(1)
- cdist-manifest-run-all(1)
- cdist-manifest-run-init(1)

View file

@ -70,7 +70,6 @@ require="__file/etc/cdist-configured __link/tmp/cdist-testfile" \
SEE ALSO
--------
- cdist-manifest-run(1)
- cdist-manifest-run-all(1)
- cdist-manifest-run-init(1)
- cdist-type(7)

View file

@ -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}