Project

koch

0.0
The project is in a healthy, maintained state
Koch automates machine setup by providing a library of helper functions.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.18
~> 13.0
~> 1.48

Runtime

~> 3.4
~> 1.5
~> 1.2
~> 2.6
~> 1.1
 Project Readme

Koch

Koch is a tool to install software packages, change files and other things on a single machine. The changes are described in a file and are written in Ruby.

The file describing a machine should be versioned, that way you create a repeatable description of how a machine is set up, with history.

For an example of how this can look like, check out this Rezeptfile and the other files in the directory.

Notice

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT

Fully backup any machine you run this on! This is alpha grade software and might cause havoc, esp when run with root privileges! I suggest you use Vagrant to try this out.

Status

Tests and Rubocop

Philosophy

Koch's configuration files (Rezeptfiles) are just Ruby. All Koch does is provide a bunch of convenience functions. Feel free to use all the Ruby you want.

Usage

sudo apt -y install build-essential git ruby-dev zlib1g-dev
sudo gem install koch
git clone git@github.com:example/machine.git
cd machine
sudo koch

Supported platforms

  • Ubuntu 22.04 (amd64)
  • Ubuntu 24.04 (amd64)
  • Debian 11 (amd64)
  • Debian 12 (amd64)

TODO

  • Interactive mode, ask about each change