From 249ac917d3ed0620be768e27c4baa34e02e962a1 Mon Sep 17 00:00:00 2001 From: Darko Poljak Date: Tue, 23 Apr 2019 22:39:41 +0200 Subject: [PATCH] Changes due to new website --- .gitignore | 1 + Makefile | 61 +------ README | 3 +- bin/build-helper | 35 +--- bin/build-helper.freebsd | 99 +++-------- docs/src/_static/cdist-logo.jpeg | Bin 0 -> 12560 bytes docs/src/{ => _static}/cdist-logo.png | Bin .../_static}/pgp-key-EFD2AE4EC36B6901.asc | 0 docs/src/cdist-intro.rst | 15 -- docs/src/cdist-os.rst | 23 +-- docs/src/cdist-support.rst | 10 +- .../{cdist-update.rst => cdist-upgrade.rst} | 4 +- docs/src/conf.py | 5 +- docs/src/index.rst | 17 +- docs/web/cdist.mdwn | 21 --- docs/web/cdist/cdist-logo.png | Bin 1542 -> 0 bytes docs/web/cdist/documentation.mdwn | 12 -- docs/web/cdist/features.mdwn | 26 --- docs/web/cdist/install.mdwn | 103 ------------ docs/web/cdist/os.mdwn | 18 -- docs/web/cdist/support.mdwn | 28 ---- docs/web/cdist/update.mdwn | 158 ------------------ docs/web/cdist/update/2.0-to-2.1.mdwn | 118 ------------- docs/web/cdist/why.mdwn | 69 -------- 24 files changed, 62 insertions(+), 764 deletions(-) create mode 100644 docs/src/_static/cdist-logo.jpeg rename docs/src/{ => _static}/cdist-logo.png (100%) rename docs/{web/cdist => src/_static}/pgp-key-EFD2AE4EC36B6901.asc (100%) delete mode 100644 docs/src/cdist-intro.rst rename docs/src/{cdist-update.rst => cdist-upgrade.rst} (99%) delete mode 100644 docs/web/cdist.mdwn delete mode 100644 docs/web/cdist/cdist-logo.png delete mode 100644 docs/web/cdist/documentation.mdwn delete mode 100644 docs/web/cdist/features.mdwn delete mode 100644 docs/web/cdist/install.mdwn delete mode 100644 docs/web/cdist/os.mdwn delete mode 100644 docs/web/cdist/support.mdwn delete mode 100644 docs/web/cdist/update.mdwn delete mode 100644 docs/web/cdist/update/2.0-to-2.1.mdwn delete mode 100644 docs/web/cdist/why.mdwn diff --git a/.gitignore b/.gitignore index 460bbf28..4b80b425 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ Session.vim # Temporary .netrwhist *~ +*.tmp # Auto-generated tag files tags # Persistent undo diff --git a/Makefile b/Makefile index 5f03997a..099812e2 100644 --- a/Makefile +++ b/Makefile @@ -24,13 +24,6 @@ DOCS_SRC_DIR=docs/src SPEECHDIR=docs/speeches TYPEDIR=cdist/conf/type -WEBSRCDIR=docs/web - -WEBDIR=$$HOME/vcs/www.nico.schottelius.org -WEBBLOG=$(WEBDIR)/blog -WEBBASE=$(WEBDIR)/software/cdist -WEBPAGE=$(WEBBASE).mdwn - CHANGELOG_VERSION=$(shell $(helper) changelog-version) CHANGELOG_FILE=docs/changelog @@ -47,7 +40,6 @@ SHELLCHECK_SKIP=grep -v ': __.*is referenced but not assigned.*\[SC2154\]' ################################################################################ # Manpages # -MAN1DSTDIR=$(DOCS_SRC_DIR)/man1 MAN7DSTDIR=$(DOCS_SRC_DIR)/man7 # Manpages #1: Types @@ -81,24 +73,6 @@ docs: man html docs-clean: $(SPHINXC) -# Manpages #5: release part -MANWEBDIR=$(WEBBASE)/man/$(CHANGELOG_VERSION) -HTMLBUILDDIR=docs/dist/html - -docs-dist: html - rm -rf "${MANWEBDIR}" - mkdir -p "${MANWEBDIR}" - # mkdir -p "${MANWEBDIR}/man1" "${MANWEBDIR}/man7" - # cp ${MAN1DSTDIR}/*.html ${MAN1DSTDIR}/*.css ${MANWEBDIR}/man1 - # cp ${MAN7DSTDIR}/*.html ${MAN7DSTDIR}/*.css ${MANWEBDIR}/man7 - cp -R ${HTMLBUILDDIR}/* ${MANWEBDIR} - cd ${MANWEBDIR} && git add . && git commit -m "cdist manpages update: $(CHANGELOG_VERSION)" || true - -man-latest-link: web-pub - # Fix ikiwiki, which does not like symlinks for pseudo security - ssh staticweb.ungleich.ch \ - "cd /home/services/www/nico/nico.schottelius.org/www/software/cdist/man/ && rm -f latest && ln -sf "$(CHANGELOG_VERSION)" latest" - # Manpages: .cdist Types DOT_CDIST_PATH=${HOME}/.cdist DOTMAN7DSTDIR=$(MAN7DSTDIR) @@ -111,7 +85,6 @@ DOTMANTYPES=$(subst /man.rst,.rst,$(DOTMANTYPEPREFIX)) $(DOTMAN7DSTDIR)/cdist-type%.rst: $(DOTTYPEDIR)/%/man.rst ln -sf "$^" $@ -# Manpages #3: generic part dotman: $(DOTMANTYPES) $(SPHINXM) @@ -120,7 +93,6 @@ dotman: $(DOTMANTYPES) # SPEECHESOURCES=$(SPEECHDIR)/*.tex SPEECHES=$(SPEECHESOURCES:.tex=.pdf) -SPEECHESWEBDIR=$(WEBBASE)/speeches # Create speeches and ensure Toc is up-to-date $(SPEECHDIR)/%.pdf: $(SPEECHDIR)/%.tex @@ -130,36 +102,6 @@ $(SPEECHDIR)/%.pdf: $(SPEECHDIR)/%.tex speeches: $(SPEECHES) -speeches-dist: speeches - rm -rf "${SPEECHESWEBDIR}" - mkdir -p "${SPEECHESWEBDIR}" - cp ${SPEECHES} "${SPEECHESWEBDIR}" - cd ${SPEECHESWEBDIR} && git add . && git commit -m "cdist speeches updated" || true - -################################################################################ -# Website -# - -BLOGFILE=$(WEBBLOG)/cdist-$(CHANGELOG_VERSION)-released.mdwn - -$(BLOGFILE): $(CHANGELOG_FILE) - $(helper) blog $(CHANGELOG_VERSION) $(BLOGFILE) - -web-blog: $(BLOGFILE) - -web-doc: - # Go to top level, because of cdist.mdwn - rsync -av "$(WEBSRCDIR)/" "${WEBBASE}/.." - cd "${WEBBASE}/.." && git add cdist* && git commit -m "cdist doc update" cdist* || true - -web-dist: web-blog web-doc - -web-pub: web-dist docs-dist speeches-dist - cd "${WEBDIR}" && make pub - -web-release-all: man-latest-link -web-release-all-no-latest: web-pub - ################################################################################ # Release: Mailinglist # @@ -239,6 +181,9 @@ clean: rm -f cdist-*.tar.gz rm -f cdist-*.tar.gz.asc + # Temp files + rm -f *.tmp + distclean: clean rm -f cdist/version.py diff --git a/README b/README index a67e25e3..caf2dac8 100644 --- a/README +++ b/README @@ -3,4 +3,5 @@ cdist cdist is a usable configuration management system. -For the web documentation have a look at docs/web/. +For the web documentation have a look at https://www.cdi.st/ +or at docs/src for reStructuredText manual. diff --git a/bin/build-helper b/bin/build-helper index 0fea5071..04b7621b 100755 --- a/bin/build-helper +++ b/bin/build-helper @@ -76,33 +76,6 @@ case "$option" in "$0" test ;; - blog) - version=$1; shift - blogfile=$1; shift - dir=${blogfile%/*} - file=${blogfile##*/} - - - cat << eof > "$blogfile" -[[!meta title="Cdist $version released"]] - -Here's a short overview about the changes found in version ${version}: - -eof - - $0 changelog-changes "$version" >> "$blogfile" - - cat << eof >> "$blogfile" -For more information visit the [[cdist homepage|software/cdist]]. - -[[!tag cdist config unix]] -eof - cd "$dir" - git add "$file" - # Allow git commit to fail if there are no changes - git commit -m "cdist blog update: $version" "$blogfile" || true - ;; - ml-release) if [ $# -ne 1 ]; then echo "$0 ml-release version" >&2 @@ -324,13 +297,6 @@ eof # Publish git changes make pub - # publish man, speeches, website - if [ "$masterbranch" = yes ]; then - make web-release-all - else - make web-release-all-no-latest - fi - # Ensure that pypi release has the right version "$0" version @@ -351,6 +317,7 @@ eof cat << eof Manual steps post release: + - cdist-web - linkedin - hackernews - reddit diff --git a/bin/build-helper.freebsd b/bin/build-helper.freebsd index 9823dab5..c292280c 100755 --- a/bin/build-helper.freebsd +++ b/bin/build-helper.freebsd @@ -31,30 +31,13 @@ basedir=${0%/*}/../ # .freebsd - run as freebsd basename=${0##*/} run_as=${basename#*.} -case "$run_as" in - freebsd) - to_a=cdist-configuration-management - to_d=googlegroups.com - from_a=darko.poljak - from_d=gmail.com - ml_name="Darko Poljak" - ml_sig_name="Darko" - # vars for make - WEBDIR=../vcs/www.nico.schottelius.org - ;; - *) - to_a=cdist - to_d=l.schottelius.org - from_a=nico-cdist - from_d=schottelius.org - ml_name="Nico -telmich- Schottelius" - ml_sig_name="Nico" - - # vars for make - WEBDIR=$$HOME/vcs/www.nico.schottelius.org - ;; -esac +to_a=cdist-configuration-management +to_d=googlegroups.com +from_a=darko.poljak +from_d=gmail.com +ml_name="Darko Poljak" +ml_sig_name="Darko" # Change to checkout directory cd "$basedir" @@ -66,7 +49,6 @@ option=$1; shift case "$option" in print-make-vars) printf "helper: ${helper}\n" - printf "WEBDIR: ${WEBDIR}\n" ;; print-runas) printf "run_as: $run_as\n" @@ -117,33 +99,6 @@ case "$option" in "$0" test ;; - blog) - version=$1; shift - blogfile=$1; shift - dir=${blogfile%/*} - file=${blogfile##*/} - - - cat << eof > "$blogfile" -[[!meta title="Cdist $version released"]] - -Here's a short overview about the changes found in version ${version}: - -eof - - $0 changelog-changes "$version" >> "$blogfile" - - cat << eof >> "$blogfile" -For more information visit the [[cdist homepage|software/cdist]]. - -[[!tag cdist config unix]] -eof - cd "$dir" - git add "$file" - # Allow git commit to fail if there are no changes - git commit -m "cdist blog update: $version" "$blogfile" || true - ;; - ml-release) if [ $# -ne 1 ]; then echo "$0 ml-release version" >&2 @@ -159,7 +114,7 @@ eof cat << eof From: ${ml_name} <$from> To: cdist mailing list <$to> -Subject: cdist $version released +Subject: cdist $version has been released Hello .*, @@ -177,7 +132,7 @@ ${ml_sig_name} -- Automatisation at its best level. With cdist. eof - ) | /usr/sbin/sendmail -f "$from" "$to" + ) > mailinglist.tmp ;; release-git-tag) @@ -337,11 +292,11 @@ eof # Generate documentation (man and html) # First, clean old generated docs - make helper=${helper} WEBDIR=${WEBDIR} docs-clean - make helper=${helper} WEBDIR=${WEBDIR} docs + make helper=${helper} docs-clean + make helper=${helper} docs # Generate speeches (indirect check if they build) - make helper=${helper} WEBDIR=${WEBDIR} speeches + make helper=${helper} speeches ############################################################# # Everything green, let's do the release @@ -364,7 +319,7 @@ eof git push -u origin "${target_branch}" ;; *) - make helper=${helper} WEBDIR=${WEBDIR} pub + make helper=${helper} pub ;; esac @@ -372,23 +327,7 @@ eof "$0" version # Create and publish package for pypi - make helper=${helper} WEBDIR=${WEBDIR} pypi-release - - # publish man, speeches, website - if [ "$masterbranch" = yes ]; then - make helper=${helper} WEBDIR=${WEBDIR} web-release-all - else - make helper=${helper} WEBDIR=${WEBDIR} web-release-all-no-latest - fi - - case "$run_as" in - freebsd) - ;; - *) - # Archlinux release is based on pypi - make archlinux-release - ;; - esac + make helper=${helper} pypi-release # sign git tag printf "Enter upstream repository authentication token: " @@ -396,7 +335,15 @@ eof "$0" sign-git-release "${target_version}" "${token}" # Announce change on ML - make helper=${helper} WEBDIR=${WEBDIR} ml-release + make helper=${helper} ml-release + + cat << eof +Manual steps post release: + + - cdist-web + - twitter + +eof ;; test) @@ -441,7 +388,7 @@ eof ;; shellcheck) - make helper=${helper} WEBDIR=${WEBDIR} shellcheck + make helper=${helper} shellcheck printf "\\nPlease review shellcheck report.\\n" while true do diff --git a/docs/src/_static/cdist-logo.jpeg b/docs/src/_static/cdist-logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9bfa25298bb427d56cece5b630beb2447b618c31 GIT binary patch literal 12560 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 literal 0 HcmV?d00001 diff --git a/docs/src/cdist-logo.png b/docs/src/_static/cdist-logo.png similarity index 100% rename from docs/src/cdist-logo.png rename to docs/src/_static/cdist-logo.png diff --git a/docs/web/cdist/pgp-key-EFD2AE4EC36B6901.asc b/docs/src/_static/pgp-key-EFD2AE4EC36B6901.asc similarity index 100% rename from docs/web/cdist/pgp-key-EFD2AE4EC36B6901.asc rename to docs/src/_static/pgp-key-EFD2AE4EC36B6901.asc diff --git a/docs/src/cdist-intro.rst b/docs/src/cdist-intro.rst deleted file mode 100644 index fad40fe5..00000000 --- a/docs/src/cdist-intro.rst +++ /dev/null @@ -1,15 +0,0 @@ -cdist - usable configuration management -======================================= - -.. image:: cdist-logo.png - :alt: cdist-logo - -cdist is a usable configuration management system. -It adheres to the KISS principle and -is being used in small up to enterprise grade environments. -cdist is an alternative to other configuration management systems like - -* `bcfg2 `_ -* `chef `_ -* `cfengine `_ -* `puppet `_. diff --git a/docs/src/cdist-os.rst b/docs/src/cdist-os.rst index 4f6b4820..a8e31226 100644 --- a/docs/src/cdist-os.rst +++ b/docs/src/cdist-os.rst @@ -1,16 +1,19 @@ -Supported Operating Systems +Supported operating systems =========================== cdist was tested or is know to run on at least -* `Archlinux `_ -* `Debian `_ -* `CentOS `_ -* `Fedora `_ +* `Alpine Linux `_ +* `Archlinux `_ +* `CentOS `_ +* `Debian `_ +* `Devuan `_ +* `Fedora `_ * `FreeBSD `_ -* `Gentoo `_ -* `Mac OS X `_ +* `Gentoo `_ +* `Mac OS X `_ +* `NetBSD `_ * `OpenBSD `_ -* `Redhat `_ -* `Ubuntu `_ -* `XenServer `_ +* `Redhat `_ +* `Ubuntu `_ +* `XenServer `_ diff --git a/docs/src/cdist-support.rst b/docs/src/cdist-support.rst index 2343500e..19afde2f 100644 --- a/docs/src/cdist-support.rst +++ b/docs/src/cdist-support.rst @@ -1,11 +1,9 @@ Support ------- -IRC -~~~ - -You can join the development ***IRC channel*** -`#cstar on irc.freenode.net `_. +Chat +~~~~ +Chat with us: `ungleich chat `_. Mailing list ~~~~~~~~~~~~ @@ -25,4 +23,4 @@ Commercial support ~~~~~~~~~~~~~~~~~~ You can request commercial support for cdist from -`my company `_. +`ungleich `_. diff --git a/docs/src/cdist-update.rst b/docs/src/cdist-upgrade.rst similarity index 99% rename from docs/src/cdist-update.rst rename to docs/src/cdist-upgrade.rst index e810d6e9..e57ed63c 100644 --- a/docs/src/cdist-update.rst +++ b/docs/src/cdist-upgrade.rst @@ -1,5 +1,5 @@ -How to update cdist -=================== +How to upgrade cdist +==================== Update the git installation --------------------------- diff --git a/docs/src/conf.py b/docs/src/conf.py index 8ed48324..78f9842c 100644 --- a/docs/src/conf.py +++ b/docs/src/conf.py @@ -56,7 +56,7 @@ master_doc = 'index' # General information about the project. project = 'cdist' -# copyright = '2016, Darko Poljak' +copyright = 'ungleich GmbH 2019' # author = 'Darko Poljak' # The version info for the project you're documenting, acts as replacement for @@ -138,7 +138,7 @@ html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] # The name of an image file (relative to this directory) to place at the top # of the sidebar. -# html_logo = None +html_logo = '_static/cdist-logo.jpeg' # The name of an image file (relative to this directory) to use as a favicon of # the docs. This file should be a Windows icon file (.ico) @@ -150,6 +150,7 @@ html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ['_static'] +html_static_path = ['_static'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied diff --git a/docs/src/index.rst b/docs/src/index.rst index af303f5b..95e44d52 100644 --- a/docs/src/index.rst +++ b/docs/src/index.rst @@ -1,20 +1,23 @@ -Welcome to cdist documentation -============================== +cdist - usable configuration management +======================================= + +cdist is a usable configuration management system. +It adheres to the KISS principle and +is being used in small up to enterprise grade environments. -Contents: .. toctree:: - :maxdepth: 2 + :maxdepth: 3 :glob: :numbered: + :hidden: - cdist-intro cdist-why + cdist-features cdist-os cdist-install - cdist-update + cdist-upgrade cdist-support - cdist-features cdist-quickstart cdist-real-world man1/cdist diff --git a/docs/web/cdist.mdwn b/docs/web/cdist.mdwn deleted file mode 100644 index 90af20cb..00000000 --- a/docs/web/cdist.mdwn +++ /dev/null @@ -1,21 +0,0 @@ -[[!meta title="cdist - usable configuration management"]] - -![cdist-logo](cdist-logo.png "cdist logo") - -cdist is a usable configuration management system. -It adheres to the KISS principle and -is being used in small up to enterprise grade environments. -cdist is an alternative to other configuration management systems like -[bcfg2](http://bcfg2.org/), -[chef](https://www.chef.sh/), -[cfengine](https://cfengine.com/) -and [puppet](https://puppet.com/). - - * [[Why should I use cdist?|why]] - * [[Documentation|documentation]] - * [[Supported Operating Systems|os]] - * [[Installation|install]] - * [[Update|update]] - * [[Support|support]] - -[[!tag cdist unix]] diff --git a/docs/web/cdist/cdist-logo.png b/docs/web/cdist/cdist-logo.png deleted file mode 100644 index 13c2792728d20511f18ae60df8524d68b8a35cbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1542 zcmV+h2Ko7kP)Px#22e~?MF0Q*|NsA`*`M72000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipS@ z0U8oZ%R(#w00o9gL_t(o!|j;OOC(1Wz^mIa(<@6fGKU5*AnRX5Vhb0Zp zl-0j^^}hPms}|z_>pi<{At%Dr`U@U4gF4RoGSKpzdV%|9@IftRZLXV9@rE>N@N!C~ zGe!OUp&qdMyVA_e*UFQ*nQ6FwG6UDY#;;ZQdr1m53*5jARMf$*1#sLK#5utjPU&db zU785>|Q;`jcYt&fW8y13Dv?GjzEFS5zgd^L_8Dcpp*UC7%Q|3g| zeW!0Xc2ln5Rr4S=Vw`9rom{QR%eaLoD99VfwGKs%e!wYXuc>Ro!YNg8JEj$j^K%vMI*!X+fZJ61zup&| z_&2@o@#j2c4Ow58Hv--l{9E;X!t)PThohc&SqQ&#?tli zeQ~q`w_7_Q4-|PvJ%@O73;v3uexPskGwxuUxYYml(wYAUI%ek9r9qEY?};s1j`9Ns zws+2%V_kFL`}_%&3B=6YnssgO7v^UEE^rn<`DuRG-WhWykyiNA+NRs7e#(n=#)dSo zC4b`2WX@hcQKUGP1Q;~i_~10#_Lg>}wnLWcfIX@<+++6!>FOsE(lNYg;o!>kuYLrZ zgn0Pmn(d&{8hK&l4S+j!SA~?-kZ(d{hS{KtRyo7mHqy$s_JuIA?hdVknB7 zLmcRLeo>TXD!t|!#KppS^(U1G?uTqIrW6TN&L%q)1U|fh!8$5_6|fyo5;wJD>?Nn8 z7@(SuyO_)`(2ft;4l8l7-_6;9W~(mlmj~#Vqtq{l($Q`rzu?yO%mX=fdC=B&2+U{e4Ydo2tmeVMoEvfXx48|#$#HqW zTvw#rm^=`@-JY`kV#Va)&A7P1?!T;r((*!4!$HtGcXKPzc`S^6g>{Se%ENDB0rpaV z5LWU)8vnI-KXJt}pCil*k@~kQ_nrqXYSH9EMl)|%efJ-1(-zZu5F_WnM!-h{74^xT z;0|clXTjlN%3T{{fFAO-|Ift!@>@-G2m|qxhyoK=0!BZA|iCn43h9NNJLMXkOv16dzyd&)Y5*|k+R=&8w!jnSNv6LK39 saY9X~U}r+kn~+= 3.2 - * SSH client - * Asciidoc and xsltproc (for building the manpages) - -### Target Hosts - - * /bin/sh: A posix like shell (for instance bash, dash, zsh) - * SSH server - -## Install cdist - -You can install cdist either from git or as a python package. - -### From git - -Cloning cdist from git gives you the advantage of having -a version control in place for development of your own stuff -immediately. - -To install cdist, execute the following commands: - - git clone https://github.com/ungleich/cdist.git - cd cdist - export PATH=$PATH:$(pwd -P)/bin - -From version 4.2.0 cdist tags and github releases are signed. -You can get GPG public key used for signing [here](/software/cdist/pgp-key-EFD2AE4EC36B6901.asc). - -#### Available versions in git - - * The active development takes place in the **master** branch - * The current stable version can be found in the **2.0** branch - * The upcoming stable version can be found in the **2.1** branch - -Other branches may be available for features or bugfixes, but they -may vanish at any point. To select a specific branch use - - # Generic code - git checkout -b origin/ - -So for instance if you want to use and stay with version 2.0, you can use - - git checkout -b 2.0 origin/2.0 - -#### Git Mirrors - -If the main site is down, you can acquire cdist from one of the following sites: - - * git://github.com/telmich/cdist.git ([github](https://github.com/telmich/cdist)) - * git://git.code.sf.net/p/cdist/code ([sourceforge](https://sourceforge.net/p/cdist/code)) - -#### Building and using documentation (man and html) - -If you want to build and use the documentation, run: - - make docs - -Documentation comes in two formats, man pages and full HTML -documentation. Documentation is built into distribution's -docs/dist directory. man pages are in docs/dist/man and -HTML documentation in docs/dist/html. - -If you want to use man pages, run: - - export MANPATH=$MANPATH:$(pwd -P)/docs/dist/man - -Or you can move manpages from docs/dist/man directory to some -other directory and add it to MANPATH. - -Full HTML documentation can be accessed at docs/dist/html/index.html. - -You can also build manpages for types in your ~/.cdist directory: - - make dotman - -Built manpages are now in docs/dist/man directory. If you have -some other custom .cdist directory, e.g. /opt/cdist then use: - - DOT_CDIST_PATH=/opt/cdist make dotman - - -### Python Package - -Cdist is available as a python package at -[PyPi](http://pypi.python.org/pypi/cdist/). You can install it using - - pip install cdist - -## Use cdist - -[[Dig into the documentation|documentation]] to get started with cdist! - -[[!tag cdist unix]] diff --git a/docs/web/cdist/os.mdwn b/docs/web/cdist/os.mdwn deleted file mode 100644 index 3677f52c..00000000 --- a/docs/web/cdist/os.mdwn +++ /dev/null @@ -1,18 +0,0 @@ -[[!meta title="Supported Operating Systems"]] - -cdist was tested or is know to run on at least - - * [Archlinux](http://www.archlinux.org/) - * [Debian](http://www.debian.org/) - * [CentOS](http://www.centos.org/) - * [Scientific](https://www.scientificlinux.org/) - * [Fedora](http://fedoraproject.org/) - * [FreeBSD](http://www.freebsd.org) - * [Gentoo](http://www.gentoo.org/) - * [Mac OS X](http://www.apple.com/macosx/) - * [OpenBSD](http://www.openbsd.org) - * [Redhat](http://www.redhat.com/) - * [Ubuntu](http://www.ubuntu.com/) - * [XenServer](http://www.citrix.com/xenserver/) - -[[!tag cdist unix]] diff --git a/docs/web/cdist/support.mdwn b/docs/web/cdist/support.mdwn deleted file mode 100644 index 4f92853b..00000000 --- a/docs/web/cdist/support.mdwn +++ /dev/null @@ -1,28 +0,0 @@ -## Support - -### IRC - -You can join the development ***IRC channel*** -[#cstar on irc.freenode.net](irc://irc.freenode.org/#cstar). - -### Mailing list - -Bug reports, questions, patches, etc. should be send to the -[cdist mailing list](https://groups.google.com/forum/#!forum/cdist-configuration-management). - -### Linkedin - -If you have an account -at [Linked in](http://www.linkedin.com/), -you can join the -[cdist group](http://www.linkedin.com/groups/cdist-configuration-management-3952797). - -### Chat -Chat with us: [ungleich chat](https://chat.ungleich.ch/channel/cdist). - -### Commercial support - -You can request commercial support for cdist from -[my company](http://www.ungleich.ch/english/). - -[[!tag cdist unix]] diff --git a/docs/web/cdist/update.mdwn b/docs/web/cdist/update.mdwn deleted file mode 100644 index df4617bb..00000000 --- a/docs/web/cdist/update.mdwn +++ /dev/null @@ -1,158 +0,0 @@ -[[!meta title="How to update cdist"]] - -## Update The Git Installation - -To upgrade cdist in the current branch use - - git pull - - # Also update the manpages - ./build man - export MANPATH=$MANPATH:$(pwd -P)/doc/man - -If you stay on a version branche (i.e. 1.0, 1.1., ...), nothing should break. -The master branch on the other hand is the development branch and may not be -working, break your setup or eat the tree in your garden. - -### Safely upgrading to new versions - -To upgrade to **any** further cdist version, you can take the -following procedure to do a safe upgrade: - - # Create new branch to try out the update - git checkout -b upgrade_cdist - - # Get latest cdist version in git database - git fetch -v - - # see what will happen on merge - replace - # master with the branch you plan to merge - git diff upgrade_cdist..origin/master - - # Merge the new version - git merge origin/master - -Now you can ensure all custom types work with the new version. -Assume that you need to go back to an older version during -the migration/update, you can do so as follows: - - # commit changes - git commit -m ... - - # go back to original branch - git checkout master - -After that, you can go back and continue the upgrade: - - # git checkout upgrade_cdist - - -## Update The Python Package - -To upgrade to the lastet version do - - pip install --upgrade cdist - -## General Update Instructions - -### Updating from 3.0 to 3.1 - -The type **\_\_ssh_authorized_keys** now also manages existing keys, -not only the ones added by cdist. - -### Updating from 2.3 to 3.0 - -The **changed** attribute of objects has been removed. -Use [messaging](/software/cdist/man/3.0.0/man7/cdist-messaging.html) instead. - -### Updating from 2.2 to 2.3 - -No incompatibilities. - -### Updating from 2.1 to 2.2 - -Starting with 2.2, the syntax for requiring a singleton type changed: -Old format: - - require="__singleton_type/singleton" ... - -New format: - - require="__singleton_type" ... - -Internally the "singleton" object id was dropped to make life more easy. -You can probably fix your configuration by running the following code -snippet (currently untested, please report back if it works for you): - - find ~/.cdist/* -type f -exec sed -i 's,/singleton,,' {} \; - -### Updating from 2.0 to 2.1 - -Have a look at the update guide for [[2.0 to 2.1|2.0-to-2.1]]. - - * Type **\_\_package* and \_\_process** use --state **present** or **absent**. - The states **removed/installed** and **stopped/running** have been removed. - Support for the new states is already present in 2.0. - * Type **\_\_directory**: Parameter --parents and --recursive are now boolean - The old "yes/no" values need to be removed. - * Type **\_\_rvm_ruby**: Parameter --default is now boolean - The old "yes/no" values need to be removed. - * Type **\_\_rvm_gemset**: Parameter --default is now boolean - The old "yes/no" values need to be removed. - * Type **\_\_addifnosuchline** and **\_\_removeline** have been replaced by **\_\_line** - * The **conf** directory is now located at **cdist/conf**. - You need to migrate your types, explorers and manifests - manually to the new location. - * Replace the variable **\_\_self** by **\_\_object_name** - Support for the variable **\_\_object_name** is already present in 2.0. - * The types **\_\_autofs**, **\_\_autofs_map** and **\_\_autofs_reload** have been removed - (no maintainer, no users) - * Type **\_\_user**: Parameter --groups removed (use the new \_\_user_groups type) - * Type **\_\_ssh_authorized_key** has been replaced by more flexible type - **\_\_ssh_authorized_keys** - -### Updating from 1.7 to 2.0 - -* Ensure python (>= 3.2) is installed on the source host -* Use "cdist config host" instead of "cdist-deploy-to host" -* Use "cdist config -p host1 host2" instead of "cdist-mass-deploy" -* Use "cdist banner" for fun -* Use **\_\_object_name** instead of **\_\_self** in manifests - -### Updating from 1.6 to 1.7 - -* If you used the global explorer **hardware_type**, you need to change - your code to use **machine** instead. - -### Updating from 1.5 to 1.6 - -* If you used **\_\_package_apt --preseed**, you need to use the new - type **\_\_debconf_set_selections** instead. -* The **\_\_package** types accepted either --state deinstalled or - --state uninstaaled. Starting with 1.6, it was made consistently - to --state removed. - -### Updating from 1.3 to 1.5 - -No incompatibilities. - -### Updating from 1.2 to 1.3 - -Rename **gencode** of every type to **gencode-remote**. - -### Updating from 1.1 to 1.2 - -No incompatibilities. - -### Updating from 1.0 to 1.1 - -In 1.1 the type **\_\_file** was split into **\_\_directory**, **\_\_file** and -**\_\_link**. The parameter **--type** was removed from **\_\_file**. Thus you -need to replace **\_\_file** calls in your manifests: - - * Remove --type from all \_\_file calls - * If type was symlink, use \_\_link and --type symbolic - * If type was directory, use \_\_directory - - -[[!tag cdist unix]] diff --git a/docs/web/cdist/update/2.0-to-2.1.mdwn b/docs/web/cdist/update/2.0-to-2.1.mdwn deleted file mode 100644 index 3b5f5dc4..00000000 --- a/docs/web/cdist/update/2.0-to-2.1.mdwn +++ /dev/null @@ -1,118 +0,0 @@ -[[!meta title="Update Guide for 2.0 to 2.1"]] - -## Introduction - -When changing your installation from 2.0 to 2.1, there are -a lot of changes coming up. 2.1 is mainly a cleanup release, -which removes long time deprecated behaviour, but also makes -a lot of things more consistent and allows you to split off your types, -explorers and manifest to custom directories. - -This document will guide you to a successful update. - -## Preparation - -As for every software and system you use in production, you should first of -all make a backup of your data. To prevent any breakage, it is -recommended to create a new git branch to do the update on: - - % git checkout -b update_to_2.1 - -This also ensure that whenever you need to do a change in your -2.0 based tree, you can simply go back to that branch, apply the change -and configure your systems - independently of your update progress! - -Next fetch the latest upstream changes, I assume that -origin refers to one of the upstream mirrors (change origin if you use -another remote name for upstream cdist): - - % git fetch -v origin - -## Merge the changes - -Now try to merge upstream into the new branch. - - % git merge origin/2.1 - -Fix any conflicts that may have been occurred due to local changes -and then **git add** and *git commit** those changes. This should seldom -occur and if, it's mostly for people hacking on the cdist core. - -## Move "conf" directory - -One of the biggest changes in cdist 2.1 is that you can have multiple -**conf** directories: Indeed, the new default behaviour of cdist is to -search for conf directories - - * below the python module (cdist/conf in the source tree or in the installed location) - * at ~/.cdist/ (on conf suffix there) - -So you can now choose, where to store your types. - -### Integrate your conf/ back into the tree - -If you choose to store your types together with the upstream types, -you can just move all your stuff below **cdist/conf**: - - % git mv conf/type/* cdist/conf/type - % git mv conf/manifest/* cdist/conf/manifest - % git mv conf/explorer/* cdist/conf/explorer - % git commit -m "Re-Integrate my conf directory into cdist 2.1 tree" - -### Move your conf/ directory to ~/.cdist - -If you want to store your site specific -configuration outside of the cdist tree, you -can move your conf/ directory to your homedirectory ($HOME) under ~/.cdist: - - % mv conf ~/.cdist - % git rm -r conf - % git commit -m "Move my conf directory to ~/.cdist" - -It it still recommended to use a version control system like git in it: - - % cd ~/.cdist - % git init - % git add . - % git commit -m "Create new git repository containing my cdist configuration" - -## Test the migration - -Some of the types shipped with upstream were changed, so you may want to test -the result by running cdist on one of your staging target hosts: - - % ./bin/cdist config -v staging-host - -All incompatibilities are listed on the [[cdist update page|software/cdist/update]], -so you can browse through the list and update your configuration. - -## Final Cleanups - -When everything is tested, there are some cleanups to be done to finalise the update. - -### When continuing to keep conf/ in the tree - -You can then merge back your changes into the master tree and continue to work -as normal. - -### When using ~/.cdist - -If you decided to move your site specific code to ~/.cdist, you can now switch your -**master** branch or version branch to upstream directly. Assumnig you are in the -cdist directory, having your previous branch checked out, you can create a clean -state using the following commands: - - % upstream_branch=2.1 - % current_branch=$(git rev-parse --abbrev-ref HEAD) - % git checkout -b archive_my_own_tree - % git branch -D "$current_branch" - % git checkout -b "$current_branch" "origin/$upstream_branch" - -Afther these commands, your previous main branch is accessible at -**archive_my_own_tree** and your branch is now tracking upstream. - -## Questions? Critics? Hints? - -If you think this manual helped or misses some information, do not -hesitate to contact us on any of the usual ways (irc, mailinglist, -github issue tracker, ...). diff --git a/docs/web/cdist/why.mdwn b/docs/web/cdist/why.mdwn deleted file mode 100644 index f571555c..00000000 --- a/docs/web/cdist/why.mdwn +++ /dev/null @@ -1,69 +0,0 @@ -[[!meta title="Why should I use cdist?"]] - -[[!toc]] - -There are several motivations to use cdist, these -are probably the most popular ones. - -## Known language - -Cdist is being configured in -[shell script](https://en.wikipedia.org/wiki/Shell_script). -Shell script is used by UNIX system engineers for decades. -So when cdist is introduced, your staff does not need to learn a new -[DSL](https://en.wikipedia.org/wiki/Domain-specific_language) -or programming language. - -## Powerful language - -Not only is shell scripting widely known by system engineers, -but it is also a very powerful language. Here are some features -which make daily work easy: - - * Configuration can react dynamicly on explored values - * High level string manipulation (using sed, awk, grep) - * Conditional support (**if, case**) - * Loop support (**for, while**) - * Support for dependencies between cdist types - -## More than shell scripting - -If you compare regular shell scripting with cdist, there is one major -difference: When using cdist types, -the results are -[idempotent](https://en.wikipedia.org/wiki/Idempotence). -In practise that means it does not matter in which order you -call cdist types, the result is always the same. - -## Zero dependency configuration management - -Cdist requires very litte on a target system. Even better, -in almost all cases all dependencies are usually fulfilled. -Cdist does not require an agent or a high level programming -languages on the target host: it will run on any host that -has a **ssh server running** and a posix compatible shell -(**/bin/sh**). Compared to other configuration management systems, -it does not require to open up an additional port. - -## Push based distribution - -Cdist uses the push based model for configuration. In this -scenario, one (or more) computers connect the target hosts -and apply the configuration. That way the source host has -very little requirements: Cdist can even run on a sysadmin -notebook that is loosely connected to the network and has -limited amount of resources. - -Furthermore, from a security point of view, only one machine -needs access to the target hosts. No target hosts will ever -need to connect back to the source host, which contains the -full configuration. - -## Highly scalable - -If at some point you manage more hosts than can be handled from -a single source host, you can simply add more resources: Either -add more cores to one host or add hosts. -Cdist will utilise the given resources in parallel. - -[[!tag cdist unix]]