Infrastructure configs and automation for Kosmos servers
Go to file
Greg 5bc4266857 Merge pull request 'Use Chef Workstation's ruby with rbenv' (#324) from chore/remove_bundler_version_lock into master
Reviewed-on: #324
2021-06-15 20:26:23 +00:00
.chef Whitelist ejabberd custom node attributes 2020-12-11 19:07:06 +01:00
clients Remove postgres-1 server 2021-01-23 17:11:45 +01:00
cookbooks Add updated upstream nodejs cookbook 2021-04-09 13:18:35 +02:00
data_bags Deploy hubot with new hubot-kredits 2021-03-30 12:11:03 +02:00
doc Update ejabberd doc 2020-12-08 13:13:05 +01:00
environments WIP 2020-08-16 16:18:01 +02:00
nodes Update the barnard node file after running Chef 2021-03-30 12:12:27 +02:00
roles Set up Zerotier Control UI 2021-02-07 17:44:08 +01:00
scripts Merge pull request 'Add script for notifying Kosmos channels from Ruby' (#279) from feature/notify_xmpp_from_ruby into master 2021-01-25 10:59:05 +00:00
site-cookbooks Upgrade Gitea from 1.13.1 to 1.13.7 2021-04-10 11:00:00 +02:00
.gitignore Set up an instance of Mastodon for Kosmos 2017-04-06 21:20:51 +02:00
.gitmodules Use our own fork of the postgresql cookbook 2020-06-07 12:29:34 +02:00
.ruby-version Use chef-workstation Ruby with rbenv 2021-05-28 14:40:02 +02:00
Berksfile Upgrade nodejs to the latest version from the repo 2021-03-30 13:58:55 +02:00
Berksfile.lock Upgrade nodejs to the latest version from the repo 2021-03-30 13:58:55 +02:00
Gemfile Only keep the knife-zero gem in the Gemfile 2021-06-15 22:21:04 +02:00
Gemfile.lock Only keep the knife-zero gem in the Gemfile 2021-06-15 22:21:04 +02:00
README.md Update README 2021-05-28 14:51:42 +02:00
Vagrantfile Suggest bitcoin source recipe for dev 2020-08-19 15:28:00 +02:00

README.md

Install Chef Workstation

rbenv

If you use rbenv to manage Ruby versions on your system, install the (rbenv-chef-workstation)[https://github.com/docwhat/rbenv-chef-workstation] plugin.

Install gem dependencies

bundle install

Bootstrap a new server

knife zero bootstrap root@dev.kosmos.org --run-list "recipe[kosmos-base],..." -j '{"example_cookbook":{"memory_max":"256M"}}' --secret-file .chef/encrypted_data_bag_secret

Bootstrap a new VM

knife zero bootstrap ubuntu@zerotier-ip-address -x ubuntu --sudo --run-list "recipe[kosmos-base]" --secret-file .chef/encrypted_data_bag_secret

Run Chef Zero

knife zero converge name:dev.kosmos.org

Run Chef Zero on a VM

knife zero converge -a knife_zero.host name:vm-name-23

Update Chef Client on a server:

knife zero converge name:dev.kosmos.org --client-version 15.3.14

Managing cookbooks

Cookbooks are managed via Berkshelf. Run berks --help for command help.

Install cookbooks listed in Berksfile:

berks install

Vendor installed cookbooks to the cookbooks/ dir:

berks vendor cookbooks/ --delete