Commit Graph
100 Commits
Author SHA1 Message Date
greg 0d192f536f Add the empty nginx vhost template 2019-12-05 15:05:37 +01:00
greg 0dbf350540 Restart the server after importing the TLS cert 2019-12-04 17:40:27 +01:00
greg 5ba700cd00 Add the kosmos-dirsrv recipe to barnard 2019-12-04 17:34:15 +01:00
greg 4e7d453942 Move the firewall and backup recipes outside of the custom resource
See the comment for more details
2019-12-04 17:33:41 +01:00
greg e24cd01287 Add an empty template because the nginx_certbot_site resource needs one 2019-12-04 17:33:13 +01:00
greg 632cb38aab Pass an empty passphrase on the command line for the p12 cert 2019-12-04 17:32:40 +01:00
greg 9d9493af0d Add a missing dependency on the kosmos-nginx cookbook 2019-12-04 17:32:03 +01:00
greg 9e4f12b1b1 Merge branch 'master' into feature/107-ldap_server 2019-12-04 15:52:08 +01:00
greg dc91128eca Use a custom resource to create a 389 Directory Server instance
This replaces the default recipe and will make it much easier to create
other types of instances, for example for replication
2019-11-29 14:34:52 +01:00
greg 65eca52b75 Delete file committed by accident 2019-11-22 17:44:47 +01:00
greg db4e2777d4 Fix a bug preventing nginx from being reloaded after generating a cert
Change the notifies property to :immediately in nginx_certbot_site. This
way the vhost template is recreated and then triggers a reload of the
nginx service. The previous code resulted in nginx not being reloaded,
as the action had already been queued earlier.
2019-11-22 14:37:29 +01:00
greg 9e4685a743 Initial version of the kosmos-dirsrv cookbook
It sets up 389 Directory Server, including a TLS cert acquired using
Let's Encrypt in production (that requires ldap.kosmos.org pointing to
the server's IP)
2019-11-15 15:41:30 +01:00
greg 0b579b1fea Remove the redirection from HTTP to HTTPS from the mastodon vhost
This is already done in the certbot vhost
(https://gitea.kosmos.org/kosmos/chef/src/branch/master/site-cookbooks/kosmos-nginx/templates/default/nginx_conf_certbot.erb)
and it redirects every request to HTTPS, breaking Let's Encrypt
validation

Fixes #110
2019-10-28 11:18:31 +01:00
greg 2c20fa4a2f Fix the nginx vhost for akkounts-api
Listening on port 80 when there is no TLS cert prevented Let's Encrypt
to generate a cert
2019-10-18 13:26:04 +02:00
greg 2104e81250 Add the kosmos-akkounts::nginx recipe to kosmos-akkounts::default 2019-10-18 12:30:26 +02:00
greg 6bb93eb5f5 Fix the path to index.js 2019-10-18 12:27:33 +02:00
greg c5eeab3606 Remove typescript and the compilation step
The app is now compiled during the release phase:
https://github.com/67P/akkounts-api/pull/6
2019-10-18 12:24:47 +02:00
greg 9ecf40e72a Add dummy encrypted data bag secret
TODO: replace them with the actual secrets
2019-10-17 14:58:07 +02:00
greg 185982ff9f Add the initial kosmos-akkounts cookbook to deploy akkounts-api
Includes a recipe to set up nginx as a reverse proxy with a TLS
certificate for api.accounts.kosmos.org

Closes #18
Closes #20
2019-10-17 14:56:48 +02:00
greg a32f34b408 Vendor the external cookbooks
Knife-Zero doesn't include Berkshelf support, so vendoring everything in
the repo is convenient again
2019-10-13 19:17:42 +02:00
greg f4bfe31ac1 Update the node files after running Knife-Zero 2019-10-10 12:52:10 +02:00
greg ebcb700eaf Add the command to update Chef Client 2019-10-10 12:43:47 +02:00
greg 67c9ea621c Add the latest bootstrap command to the README 2019-10-10 12:37:14 +02:00
greg 8fdafa1484 Set attribute whitelists for Knife-Zero
This prevents all attributes to be written in the node files. We don't
want that data stored in git.
See https://knife-zero.github.io/40_configuration/
2019-10-10 12:34:55 +02:00
greg f5858a8a6e Remove unneeded setting
In Chef 15 local_mode is enough
2019-10-10 12:34:08 +02:00
greg a7aa38805c Merge branch 'master' into feature/103-chef_15 2019-10-09 13:04:05 +02:00
greg aa66743166 Set a low Java heap size in development 2019-10-08 18:23:27 +02:00
greg bf010b943a Add commented recipes to the run list 2019-10-08 18:22:51 +02:00
greg 7f57caddf9 Update Chef to 15.3.14 in the Vagrant config
Add the switch to accept the license
2019-10-08 18:22:11 +02:00
greg 6ea0498490 Get rid of the vagrant-berkshelf plugin
It has been abandoned by its creators
2019-10-08 18:20:57 +02:00
greg 585374861d Update the README for Knife-Zero 2019-10-08 18:17:57 +02:00
greg b633205d6d Update poise-javascript to support Chef 15 2019-10-08 18:17:34 +02:00
greg 0b9ab63a61 Update Chef to 15.3.14 2019-10-08 18:17:34 +02:00
greg 20f6e9e04d Delete config for knife-solo 2019-10-08 18:17:34 +02:00
greg 3c05f172de Add the cookbooks dir to the load path for Knife-Zero 2019-10-08 18:17:34 +02:00
greg 2c2ae596ed Don't update chef using the chef_client_updater cookbook
It only makes sense when using Chef Server, which we don't
2019-10-08 18:17:34 +02:00
greg 34d69dbca1 Add missing application_javascript dependency 2019-09-27 11:07:15 +02:00
greg 286b9ab574 Add the java cookbook, delete application_ruby 2019-09-27 11:00:01 +02:00
greg 3be9b2fb44 Update yarn to the latest version 2019-09-27 10:57:58 +02:00
greg 438c5ff72d Fix the services restarting every time the recipe is executed
* Manually send a restart action from the application_git resource
* Do not depend on application_ruby anymore
2019-09-27 10:57:35 +02:00
greg 4b39ea60dd Set the NODE_ENV variable when running yarn
The assets precompilation task runs yarn with NODE_ENV=production,
before this change yarn would install a different set of packages, with
this change the run from the assets precompilation is idempotent
2019-09-27 10:55:32 +02:00
greg b1cfa6f6f7 Install Java for Elasticsearch
It was missing from the recipe
2019-09-27 10:51:26 +02:00
greg dace5672e4 Move the java heap size to an attribute 2019-09-27 10:50:56 +02:00
greg 9d68d3c4da Link to the new ops Mastodon account 2019-09-19 16:02:41 +02:00
greg cd9a7dd3dc Use the new kosmos.chat MUC domain on the maintenance page 2019-09-19 16:00:01 +02:00
greg f49dd5e6d4 Switch the MUC host for kosmos.org to kosmos.chat 2019-09-19 15:58:53 +02:00
greg 544f4b78f4 Change the MUC domain for the kosmos.org XMPP server to kosmos.chat 2019-09-19 15:57:54 +02:00
greg 4685b16573 Add kosmos.chat to the list of Kosmos XMPP domains with a TLS cert 2019-09-19 15:56:49 +02:00
greg 2ecc128abd Move the hidden service attributes to the attributes file
When it is set in the recipe the hidden service dir doesn't get set
correctly (nil), resulting in a broken torrc file
2019-09-11 13:47:42 +02:00
greg fdb4353ac0 Raise the memory limit for Elasticsearch 2019-09-11 11:21:10 +02:00
greg 245392c4ad Install Elasticsearch 6.8.2
Version 7 isn't compatible with Mastodon yet
2019-09-10 12:29:24 +02:00
greg efa958a374 Merge branch 'master' into feature/96-elasticsearch_mastodon 2019-09-09 16:20:46 +02:00
greg 039da3d35a Install Elasticsearch and enable it in Mastodon
Refs #96
2019-09-06 17:26:06 +02:00
greg dfa709c9df Update nginx to 1.17.3, enable TLS 1.3
Uses the current intermediate recommended config from
https://ssl-config.mozilla.org

Closes #92
2019-08-30 11:57:38 +02:00
greg 1eaffd1309 Update go-ipfs to 0.4.22
Part of the 0.4.1 version of the ipfs cookbook

Closes #85
2019-08-14 13:04:08 +02:00
greg 0fa9e6cbb7 Set the uploads dir inside of /opt/ejabberd instead of /var/www
/var/www is intended for nginx/apache

I have copied over the old directories manually on Andromeda before
running this code

Fixes #80
2019-07-19 12:47:42 +02:00
greg ab09dd81b4 Update the ipfs cookbook to 0.4.0 2019-07-05 16:02:23 +02:00
greg 666ba1e6f6 Override node attributes for andromeda and barnard 2019-07-05 15:39:47 +02:00
greg 9c8befc179 Move attributes from the ipfs cookbook to kosmos-ipfs
The default attributes set in the ipfs cookbook do not include
attributes that are specific to Kosmos anymore
2019-07-05 15:38:30 +02:00
greg cf4e567dcb Get rid of the letsencrypt recipe
Its content has been moved to the public_gateway recipe
2019-07-04 10:24:33 +02:00
greg 80526e3396 Switch to our own fork of the poise-javascript cookbook
Includes passing the `--no-audit` switch to `npm install` to prevent the
`npm_install` resource to consider the command resulted in changes,
causing the service to restart at every Chef run. npm returns the
expected string "up to date" when not performing the security audit

Closes #5
2019-06-21 17:36:18 +02:00
greg 3a693efcd6 Add email notifications for failed certbot runs
Based on https://wiki.archlinux.org/index.php/Systemd/Timers#MAILTO

This can easily be used by other services, with one line added to the
[Unit] section of a service:

OnFailure=status-email-ops@%n.service

Refs #3
2019-06-20 12:46:27 +02:00
greg b01985ec4f Fix the permissions for the ejabberd upload folders 2019-06-14 16:38:49 +02:00
greg 283f623fee Add mastodon role 2019-06-14 15:49:29 +02:00
greg 339f32c957 Simplify the instructions to get the cluster secret 2019-05-28 13:05:52 +02:00
greg 7905ed4402 Remove unused staging node 2019-05-21 15:00:01 +02:00
greg aa79297387 Remove unused data bags and cookbooks 2019-05-21 14:58:01 +02:00
greg b10c53cce8 Remove the database and mysql2_chef_gem cookbooks 2019-05-21 14:57:29 +02:00
greg 12ab8dc33b Stop depending on the mysql cookbook to install mysql-server
The mysql cookbook is completely broken on 18.04 (both the released version
and the current master, in different ways). Keep it simple and just run
mysql commands
2019-05-20 18:50:28 +02:00
greg 61959248f3 Run sockethub on barnard 2019-05-16 00:08:15 +02:00
greg 6a0ab0f375 Remove dev server 2019-05-15 13:23:29 +02:00
greg cdcec7d990 Remove sockethub from andromeda 2019-05-15 13:23:12 +02:00
greg 63f9c31632 Add the ejabberd role to andromeda 2019-05-14 17:11:18 +02:00
greg 4cc5f3e6d1 Remove the XMPP firewall rules for andromeda
They are part of the kosmos-ejabberd cookbook now
2019-05-14 17:10:33 +02:00
greg 5106ba20fd Add the version to the dpkg package to allow updates 2019-05-14 17:10:15 +02:00
greg d398c167ca Allow to pass extra attributes to backup PostgreSQL databases 2019-05-14 16:39:21 +02:00
greg c9547582b7 Add a role for the ejabberd server
Includes the backup, letsencrypt and default recipe
2019-05-14 15:18:05 +02:00
greg f81b7c82de Backup the 5apps ejabberd database and uploads dir 2019-05-14 15:16:28 +02:00
greg bd9491675f Add the missing sql schema 2019-05-14 15:10:07 +02:00
greg 902a013dca Restart the service when the systemd unit changes 2019-05-14 12:18:22 +02:00
greg 44faa1a8df Change the PostgreSQL password for the ejabberd user 2019-05-14 11:40:21 +02:00
greg 0be63e5935 Fix the config file when no TLS certs exist 2019-05-14 11:31:42 +02:00
greg bd720b0189 Use the regular SQL schema (not the new one for all vhosts into one db) 2019-05-14 11:24:08 +02:00
greg d9390a4b92 Don't use a concatenated cert for kosmos.org anymore 2019-05-13 18:53:45 +02:00
greg 5d1aeb7b68 Create a cert for 5apps.com and improve the renewal script 2019-05-13 18:52:39 +02:00
greg 88204ea91b Update the config to the current one running on andromeda 2019-05-13 17:59:04 +02:00
greg ad23530653 Add the firewall rules for ejabberd
Includes the missing 5223 port in the andromeda_firewall recipe too
2019-05-13 17:08:21 +02:00
greg b44a226753 Fix the postgresql setup for the ejabberd cookbook
Create a ejabberd user with a password from an encrypted data bag
2019-05-10 11:43:52 +02:00
greg 3884f9922e Merge branch 'master' into feature/7-ejabberd_rebased_2 2019-05-10 11:08:09 +02:00
greg 6b38396c3c Remove the 5apps hubots from dev 2019-05-08 17:53:36 +02:00
greg ba8b73a4dd Add mastodon to andromeda 2019-05-08 17:00:23 +02:00
greg 1e7f21bd41 Remove the mastodon recipes from dev 2019-05-08 17:00:07 +02:00
greg 90815bb274 Fix the postgresql credentials for the backup attributes 2019-05-08 16:58:47 +02:00
greg 7271065c5b Add names to the execute resources 2019-05-08 16:58:31 +02:00
greg 81192f7277 Fix the backup config format to work with backup 5 2019-05-08 12:26:47 +02:00
greg c4d5a2c6bb Remove the ipfs cluster recipe from dev's run list 2019-05-07 14:57:47 +02:00
greg 36e8950eba Update ipfs again, to fix a bug in the ipfs_config resource
It could not handle integers
2019-05-07 14:56:40 +02:00
greg 14f0fbc7be Use the last commit of the ipfs PR 2019-05-07 14:41:57 +02:00
greg 4b0818177d Use an unreleased version of our ipfs cookbook to lower RAM usage 2019-05-07 14:35:53 +02:00
greg 4fe3b8e8e7 Move botka and hal8000 from dev to barnard
Refs #51
2019-05-07 14:10:07 +02:00