Infrastructure configs and automation for Kosmos servers
Go to file
Basti fa8cbac163
Fix custom resource not found in newer Chef versions
fixes #361
refs #337
2021-11-29 13:03:40 -06:00
.chef Whitelist ejabberd custom node attributes 2020-12-11 19:07:06 +01:00
clients Add new RSK VM node configs 2021-10-22 14:00:09 +02:00
cookbooks Add updated upstream nodejs cookbook 2021-04-09 13:18:35 +02:00
data_bags Upgrade botka, deploy for Libera.Chat to nodejs-2 2021-09-13 18:21:46 +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 Add node config for fornax 2021-11-29 11:23:17 -06:00
roles Add roles for RSK testnet/mainnet 2021-10-22 14:02:56 +02: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 Fix custom resource not found in newer Chef versions 2021-11-29 13:03:40 -06:00
.gitignore WIP RSK cookbook 2021-06-13 16:58:53 +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 Update Gemfile.lock 2021-09-03 10:29:32 +02:00
README.md Update README 2021-11-25 19:37:48 -06: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

"Expired" TLS certificates

If you encounter expired TLS certificates during a Chef run (e.g. for remote files), the issue is likely that the certificate has been issued by Let's Encrypt and Chef is still using its own, outdated CA cert store (see here for example).

As a hotfix, you can manually remove the "DST Root CA X3" cert from /opt/chef/embedded/ssl/cert.pem on the machine you're trying to converge.