chake@github-->chake@gitlab --> Simple host management with rake

chake - serverless configuration management tool

chake is a tool that helps you manage multiple hosts without the need for a central server. Configuration is managed in a local directory, which should (but doesn't need to) be under version control with git(1) or any other version control system.

Configuration is deployed to managed hosts remotely, either by invoking a configuration management tool that will connect to them, or by first uploading the necessary configuration and them remotely running a tool on the hosts.

Supports Itamae for configuration management.

Installing

sudo apt install chake
gem install itamae

Initial repo

mkdir chake_repo
cd chake_repo
chake init:itamae

Creates the following structure

chake_repo
├── cookbooks
│   └── basics
│       └── default.rb
├── nodes.yaml
├── Rakefile
└── roles
    └── basic.rb

Irk Pi Scenario

Scenario: New Raspberry Pi called irk.local on the local area network we want to configure with our basic roles and cookbooks we can edit the nodes.yml

irk.local:
  itamae:
    - roles/basic.rb

That role, initially, will just include the cookbooks/basics/default.rb

That cookbook, by default, only installs the openssh-server package. Lets make that more complete by adding a bunch of hand baseline tools we like on all systems like tree, tmux, git, curl

That is done by editing cookbooks/basics/default.rb to include the following lines:

package 'tree'
package 'feh'
package 'vim'
package 'git'
package 'curl'
package 'wget'
package 'htop'
package 'tmux'
package 'espeak'