chake@github-->chake@gitlab --> Simple host management with rake
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'