Commit Graph
100 Commits
Author SHA1 Message Date
greg 6e3e8cde1b Create the Let's Encrypt hook subdirectories 2019-04-08 11:16:38 +02:00
greg adc417282d Update the build-essential cookbook
This removes deprecation warnings on Chef 14, which ships with the
build_essential resource
2019-04-03 15:33:53 +02:00
greg 374d6bc975 Update the poise and postgresql cookbooks 2019-04-03 15:28:06 +02:00
greg 448bffe34e Get rid of the deprecated set_unless 2019-04-03 12:56:15 +02:00
greg b1a3c5e2cd Revert "Revert "Remove the sudo cookbook""
This reverts commit 87d7c721b1.
2019-04-03 12:52:40 +02:00
greg 2f05629fde Revert "Revert "Update Chef to 14.11.21""
This reverts commit db4b45b5c2.
2019-04-03 12:52:32 +02:00
greg 6b9ce81212 Set postgresql password from an encrypted data bag 2019-04-03 11:34:59 +02:00
greg d8a0ecec76 Update the postgresql cookbook 2019-04-03 11:34:41 +02:00
greg 85b7278ccc Add initial kosmos-postgresql cookbook
This is to install PostgreSQL all in one place instead of for each
service that needs it (Mastodon, ejabberd, ...)
2019-04-03 11:34:34 +02:00
greg 1ef24a2091 Install bundler 1.17.3 since we're still on Ruby 2.5 for now
Bundler 2.0 needs Ruby 2.6 or RubyGems 3.0
2019-04-03 11:02:51 +02:00
greg 58b5e5ac22 Move the creation of the SystemD service files outside of the application
This prevents a crash on the initial Chef run due to the service files
not being there yet before the services gets notified to restart
2019-04-03 11:02:25 +02:00
greg 87d7c721b1 Revert "Remove the sudo cookbook"
This reverts commit 73d1722d4b.
2019-04-03 10:30:38 +02:00
greg db4b45b5c2 Revert "Update Chef to 14.11.21"
This reverts commit 2f599ffd6d.
2019-04-03 10:30:24 +02:00
greg 73d1722d4b Remove the sudo cookbook
Chef 14 ships with a sudo resource:
https://docs.chef.io/resource_sudo.html
2019-04-02 12:17:06 +02:00
greg 2f599ffd6d Update Chef to 14.11.21
Closes #21
2019-04-02 12:16:13 +02:00
greg 5fa0fa661b Install certbot from the direct download when on 15.04
It does not have a ppa release. Add a cron job for renewal. When using
the PPA a Systemd timer is part of the package
2019-03-18 16:52:05 +01:00
greg 17f1b2a20a Create a nginx_certbot_site resource to remove duplication
It creates a folder, the nginx vhost for certbot and HTTP redirects, and
also runs certbot and recreates the nginx vhost that includes the TLS
cert
2019-03-15 19:03:28 +01:00
greg b30dcab4da Remove an IPFS port from the ejabberd firewall 2019-03-15 12:30:56 +01:00
greg c3135402ad Move the nginx hook to the deploy directory, create renewal-hooks dir 2019-03-14 20:21:34 +01:00
greg f50f48b55b Remove the old deploy hook, we moved it to the certbot config dir 2019-03-14 18:07:52 +01:00
greg a978f2a6a5 Fix the path to the Gandi DNS certbot script 2019-03-14 18:06:55 +01:00
greg f12ddefec8 Move the Gandi DNS hook for certbot to the kosmos-base cookbook 2019-03-14 18:01:29 +01:00
greg 65482f09c3 Extract the post hooks to their own script in Certbot's config dir 2019-03-14 15:21:50 +01:00
greg 36e046ea73 Run certbot using the binary provided by the Ubuntu PPA 2019-03-14 10:52:44 +01:00
greg fa27187f11 Switch from the git version of certbot to the Ubuntu PPA 2019-03-14 10:49:47 +01:00
greg fc265014de Switch back to the upstream nginx cookbook
chef_nginx is deprecated
2019-03-14 10:35:11 +01:00
greg 566e4278fd Update the ipfs cookbook 2019-03-13 15:11:02 +01:00
greg fee449f347 Set the ipfs user's shell to bash 2019-03-13 11:00:21 +01:00
greg b661f6780c Update chef, berkshelf and knife-solo gems 2019-02-26 14:51:56 +01:00
greg 886958270f Set REDIS_URL for botka
It was using the same Redis key to write its brain as hal8000 (`hubot:storage`),
causing scores to not be persisted to Redis. Right now botka is only
saving the online users to the database. It looks like this was only
enabled recently, as the last saved score was from Feb 8

Fixes #14
2019-02-25 18:29:18 +01:00
greg 5fc158cb5e Install the latest version of the backup gem 2019-02-25 18:28:55 +01:00
greg 2e1cdbecc6 Update the ipfs cookbook 2019-02-25 12:57:11 +01:00
greg 33b8b39be2 Update ipfs and ipfs-cluster 2019-02-25 12:50:07 +01:00
greg 56d14748f9 Fix the Let's Encrypt renew hook script
Only copy over the certs to the prosody directory if it's the 5apps.com
wildcard, not for any 5apps.com subdomain
2018-12-20 17:26:37 +01:00
greg 74a1f1b8a1 Update the ipfs cookbook to the latest version 2018-12-11 10:46:21 +01:00
greg 32b89422e7 Merge branch 'feature/5apps_xmpp_certs' into 'master'
Automatically generate a Let's Encrypt cert for all 5apps xmpp domains

See merge request kosmos/chef!8
2018-12-03 16:32:25 +00:00
greg 9c97cb4a58 Remove empty environment 2018-12-03 16:53:41 +01:00
greg 1e3f84ed9b Merge branch 'master' into feature/5apps_xmpp_certs 2018-12-03 16:52:26 +01:00
greg c1ea7d347d Merge branch 'bugfix/27-backup_notifications' into 'master'
Fix backup gem notifications failing

Closes #27

See merge request kosmos/chef!13
2018-11-09 17:07:22 +00:00
greg ffc6858dcc Do not pass the password on the command line anymore to fix a warning
Since email notifications work now we do not want warnings. Write an
option file with the credentials for mysqldump
(https://dev.mysql.com/doc/refman/5.7/en/option-files.html)
2018-11-09 14:08:32 +01:00
greg 7073e5d574 Fix backup gem notifications failing
This was caused by a bogus PATH that did not include /usr/sbin. The root
user's default PATH includes that, so /usr/sbin/sendmail provided by
postfix is in it

Fixes #27
2018-11-09 14:08:32 +01:00
greg 81c68a9609 Merge branch 'master' into feature/5apps_xmpp_certs 2018-11-08 14:13:09 +01:00
greg bb7dc26f43 Run IPFS Cluster on dev too 2018-10-26 18:30:13 +02:00
greg d65de56412 Add IPFS Cluster support
See merge request kosmos/chef!7
2018-10-26 16:29:40 +00:00
greg 3ce78a9ef4 Merge branch 'master' into feature/25-ipfs_cluster 2018-10-26 17:54:05 +02:00
greg edfe891f48 Add the kosmos-ipfs::letsencrypt recipe to Andromeda
It has been extracted from the ipfs-kosmos::default recipe
2018-10-26 17:51:16 +02:00
greg 5e973b6875 Use the kosmos-ipfs recipe in the hal8000 recipe
This changes the port to not conflict with hubot and sets the gateway to
be writable
2018-10-26 17:49:06 +02:00
greg a7871770b8 Remove an unnecessary require and letsencrypt recipe
This way kosmos-ipfs::default can be used without adding the Let's
Encrypt certificate
2018-10-26 17:46:47 +02:00
greg 4c7dc764a4 Add the updated Berksfile.lock 2018-10-26 17:06:03 +02:00
greg f0542bdf2e Update the ipfs cookbook 2018-10-26 17:02:30 +02:00
greg 4a42fc4ae3 Merge branch 'master' into feature/25-ipfs_cluster 2018-10-26 16:46:44 +02:00
greg 4dff379065 Merge branch 'feature/s3_oncall' into 'master'
Set the S3 credentials to write the new oncall file

See merge request kosmos/chef!12
2018-10-26 13:08:15 +00:00
greg d236d138dc Set the S3 credentials to write the new oncall file 2018-10-26 13:38:12 +02:00
greg 293d1a8a8a Fix formatting 2018-10-04 18:59:30 +02:00
greg 8da7ebbef0 Add initial docs for ejabberd 2018-10-04 18:56:35 +02:00
greg 185649a5f9 Automatically generate a Let's Encrypt cert for all 5apps xmpp domains
Uses the Gandi LiveDNS API
2018-09-04 17:38:17 +02:00
greg e6a3460a2c Make the number of sidekiq threads configurable, bump to 25 2018-09-03 19:11:42 +02:00
greg 1f528a832d Add a role to set up a cluster node with TLS 2018-08-16 16:01:24 +02:00
greg f626131868 Build a cluster node on Andromeda 2018-08-16 16:00:44 +02:00
greg 2f87e7c07c Add the ability to override the IPFS port that nginx connects to
This allows us to use the API proxy from the cluster
2018-08-16 15:59:44 +02:00
greg f31322ab81 Move the firewall rule for ipfs p2p to the right recipe 2018-08-16 15:59:06 +02:00
greg 741c4a5192 Move the ipfs cookbook to its own GitHub repository 2018-08-13 12:05:50 +02:00
greg de32a7c595 Remove the Let's Encrypt recipe from the default one
We only need one node with a TLS cert
2018-08-13 12:05:11 +02:00
greg b36e6a718a Add a recipe that sets up the cluster and enables the firewall 2018-08-13 12:05:00 +02:00
greg 7a8042e356 Add initial IPFS Cluster support
It uses an encrypted data bag to store the cluster secret that has to be
the same on all members of a cluster. It installs ipfs-cluster-service
and ipfs-cluster-ctl and starts the cluster

Refs #25
2018-08-06 18:05:44 +02:00
greg d0f2275ebb Fix the ipfs config
The whole thing was inconsistent and didn't work when creating a server
from scratch
2018-08-06 12:14:20 +02:00
greg 7165bf49c6 Add missing recipe, used to set up andromeda's firewall rules 2018-06-07 12:33:38 +02:00
greg 08172b7e04 Add node file for andromeda server 2018-04-17 18:55:48 +02:00
greg 44625ee017 Don't connect to IPFS through localhost in hal8000
Use the new IPFS node on the new server
2018-04-17 18:52:35 +02:00
greg 11db96b3a1 Update IPFS to the latest release
Also fix the ipfs config
2018-04-17 18:51:53 +02:00
greg b4624cf2aa Don't set the default variable to a type that's not allowed 2018-04-17 16:08:30 +02:00
greg b35c4bc097 Update Chef version 2018-04-17 16:08:15 +02:00
greg 14ad962f37 Add missing cookbook files 2018-04-17 16:05:39 +02:00
greg b92cc6e5d7 Update apt cookbook 2018-04-17 13:43:22 +02:00
greg 6a86fc64fa Add configuration for knife-solo
Disable Berkshelf integration and set the version of Chef to install on
the server
2018-04-17 13:42:38 +02:00
greg a35867f3d9 Update build-essential cookbook 2018-04-17 13:31:28 +02:00
greg dd47030301 Update firewall cookbook 2018-04-17 13:27:35 +02:00
greg c3933012dd We install nodejs from package, update paths 2018-04-17 13:19:23 +02:00
greg d26d2e17fd Install nodejs from packages instead of building from source 2018-04-17 13:19:03 +02:00
greg bd71418ec2 Changes for the new sudo cookbook 2018-04-17 13:18:36 +02:00
greg 157ccdc8b7 Update nodejs, sudo and users cookbooks 2018-04-17 13:18:09 +02:00
greg ff2f424ddb Update poise-archive and poise-service cookbooks 2018-04-17 12:24:17 +02:00
greg 90bb872305 Update poise-javascript and poise-ruby cookbooks 2018-04-17 12:21:48 +02:00
greg d3aa94aab5 Switch from Batali to Berkshelf to manage upstream cookbooks 2018-04-17 12:16:20 +02:00
greg 0c80aaabd4 Update Node to the latest LTS release (8.11.1) 2018-04-06 14:02:59 +02:00
greg 36813b38d6 Remove wordpress from the dev node 2018-03-20 16:09:19 +01:00
greg 8653a8fa97 Use jemalloc1 on Puma and Sidekiq to lower the memory usage
More details:
https://www.speedshop.co/2017/12/04/malloc-doubles-ruby-memory.html
2018-03-20 16:07:55 +01:00
greg b8853a1b5d Install lua-dbi-sqlite3 and set the prosody version 2018-03-20 16:06:28 +01:00
greg 6ae27293ce Set the number of ActiveRecord DB pools to 50 in the Sidekiq service 2018-02-28 15:11:22 +01:00
greg aaabeee1fb Remove extra empty external-scripts that disabled modules for botka 2017-10-27 10:34:48 +02:00
greg b967b9d035 Add bots to a new XMPP room 2017-10-18 15:39:04 +02:00
greg acf86e4038 Use a new Prosody Ubuntu repository to be able to update it 2017-10-17 15:32:03 +02:00
greg 49664dbc8d The renew hook now needs to be an executable in the path
An absolute path doesn't work anymore.

Also send an email containing STDERR when the renewal command fails
2017-09-22 11:53:01 +02:00
greg 063ebeb7c3 Update nodejs (security update) 2017-07-12 12:34:24 +02:00
greg 262fbd89b6 Specify the Chef version in the Vagrant config
We don't need the vagrant-omnibus plugin anymore
2017-07-12 12:12:45 +02:00
greg ffdec12606 Update Chef to 12.21.1 2017-07-12 12:12:45 +02:00
greg 0bb6204a0d Fix the Let's Encrypt setup for mediawiki 2017-06-19 18:40:20 +02:00
greg edca6608c7 Update mediawiki cookbook 2017-06-16 22:57:33 +02:00
greg bdfb3a1afb Downgrade mysql cookbook for now
It doesn't play well with our current dev server setup
2017-06-16 22:44:57 +02:00
greg ff3d062c73 Update users cookbook and poise cookbooks
The poise cookbooks were incompatible with Chef 13
2017-06-16 15:50:13 +02:00