Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Do you know the situation? You get a new server, start installing and
configuring stuff, then install additional services every couple of
month. And after some years decide to relocate to a new server or to
split: move *some* services to a new server. And then you think: "What a mess, how
long will it take until it perfectly configured and runs again - should
I better stay with the old one as long as possible?" ;-)

What about Zero day exploits? You think, you system could have been
compromised and need to reinstall everything as soon as possible.


Approaches I have already used:

* **Document every configuration step in wiki.** Can be a big help, but does
  not work automatically on the next installation - you still need to
  interpret and manually run single steps. No automatic testing.
* **Use [etckeeper]() with git to record the configuration changes.**
  Gives you later a clue, what has been changed. But the diffs are not
  automatically applicable on new installation, for example for a newer
  version

Now I decided to use [puppet]() for all newer installations.

Assumptions/prerequisites

* we will use a script for bootstraping, after that - puppet 3.0.
  Puppet supports multiple (almost all) Linux distributions. For the
  bootstrap scripts I'll start with Ubuntu/Debian and add Fedora/RedHat
  later.
* **Ruby 1.9** Bash programming can be cumbersome - so use Ruby and nice
  DSLs like Rake, Capistrano with their easy readable syntax for all non trivial
  tasks. 1.9 is now available in all recent Linux distributions - so use
  that. In Ruby 1.9 the rubygems is included - makes easy to install
  additional libraries (gems). Some libraries will be "vendored" though.
  E.g. `trollop` for nice command line tools.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages