Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/geekq/devops-toolbox
https://github.com/geekq/devops-toolbox
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/geekq/devops-toolbox
- Owner: geekq
- Created: 2013-02-24T09:09:06.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-06-08T13:47:08.000Z (over 11 years ago)
- Last Synced: 2024-10-19T00:15:27.540Z (3 months ago)
- Language: Ruby
- Size: 125 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
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
versionNow 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.