Commit Graph
100 Commits
Author SHA1 Message Date
greg 6116729907 Set up Redis using the latest version of redisio
This replaces the deprecated redis cookbook. Compiles the latest version
of Redis, currently 7.0.11

Refs #488
2023-06-19 16:02:58 +02:00
greg 0c4466b040 Namespace the smtp attributes 2023-03-27 10:49:12 +02:00
greg 34970fe3cf Set a better name for the from address 2023-03-27 10:48:56 +02:00
greg 3873ebaac2 Don't override the SMTP config with the same values 2023-03-27 10:45:02 +02:00
greg 4f1fb347a8 Add new SMTP config for akkounts
This is not running on akkounts-1

closes #479
refs kosmos/akkounts#107
2023-03-24 16:55:11 +01:00
greg 5a5f8425af Add missing postgresql-client package for backup gem 2022-11-07 16:30:45 +01:00
greg 97fe328312 Add missing pg_db recipe on postgresql_primary role 2022-11-07 16:30:02 +01:00
greg ed04753318 Update mastodon-3 node after chef run 2022-11-07 16:28:09 +01:00
greg 4bfb7d5f5d Extract mastodon db backup to its own recipe 2022-11-07 16:22:15 +01:00
greg fe8e66fda3 Add the new rs-discourse-1 server 2022-10-11 18:00:48 +02:00
greg 410c238450 Update the discourse-2 and fornax nodes after Chef run 2022-10-11 18:00:31 +02:00
greg 378fee85ec Create a discourse cookbook that can be wrapped
It makes it possible to serve multiple Discord instances to different
hosts from a single nginx load balancer

Right now we run one for Kosmos and one for remoteStorage
2022-10-11 17:58:22 +02:00
greg 1270488ef9 Remove ldap-2 VM 2022-10-03 14:45:00 +02:00
greg e4d4aa45f7 Use FQDN for hostname, add LDAP server 2022-08-22 16:16:01 +02:00
greg 85abfd4e5e Create the required groups and ACIs 2022-08-22 16:15:02 +02:00
greg 32f620e95c Update the wiki-1 node after Chef run 2022-05-11 16:23:18 +02:00
greg e766a96d3b Update the discourse-2 node after Chef run 2022-05-11 16:23:18 +02:00
greg a14cd9a74f New config for LDAP in Discourse 2022-05-11 16:23:18 +02:00
greg 0d133de1b8 New config and credentials for LDAP connection in mediawiki 2022-05-11 16:23:17 +02:00
greg 5c00e2d28a Add an attribute containing the LDAP server's address 2022-05-11 15:37:36 +02:00
greg c56870008e Use the new LDAP services application accounts 2022-05-11 14:49:28 +02:00
greg e53e55cb2d Disable TLS for LDAP since we're using Zerotier networking 2022-05-11 14:49:00 +02:00
greg ff7cb1ce4a Generate a hosts entry for the LDAP server 2022-05-11 14:48:30 +02:00
greg 1502d1956d Set new passwords for the LDAP service accounts 2022-05-11 14:47:32 +02:00
greg 907706d1d2 Set up the hosts entry for the new LDAP server 2022-05-10 11:50:49 +02:00
greg b869002c1a Update Gitea to 1.16.6 2022-05-10 11:50:35 +02:00
greg 7ffd3bbf73 Add LDAP's Zerotier IP to the akkount server's hosts 2022-04-28 12:12:10 +02:00
greg ee6bde5b23 Update discourse-1 node after running Chef 2022-02-18 20:00:18 +01:00
greg 58f2544a9e Remove the discourse role from centaurus 2022-02-18 19:59:17 +01:00
greg 98547088f1 Add the zerotier IP for fornax 2022-02-18 19:58:59 +01:00
greg 7582cafb77 Explicitly install snapd package
It was not installed on fornax for example
2022-02-18 19:42:43 +01:00
greg 31631ddc4a Add missing recipe 2022-02-18 19:39:04 +01:00
greg 79f623de4e Prepare fornax and discourse-1 for the discourse migration 2022-02-18 18:15:33 +01:00
greg e8f46db49c Extract the nginx config for discourse to a recipe
Get the upstream servers automatically from Chef nodes
2022-02-18 18:14:33 +01:00
greg 685deea920 Simplify dirsrv setup
Connecting directly using zerotier, no more nginx
2021-12-02 19:08:27 +01:00
greg d1d48cb749 Add role for ldap (dirsrv) 2021-12-02 19:08:16 +01:00
greg 067f5ba0d9 Add node config for ldap-1 2021-12-02 19:07:55 +01:00
greg e00d6c3a86 Use the sockethub role in the run list 2021-07-14 10:14:38 +02:00
greg 383a46676e Create a role for sockethub 2021-07-14 10:14:28 +02:00
greg eed27713ff Add the sockethub firewall rule to centaurus 2021-07-14 10:14:07 +02:00
greg b5e7e4ab85 Use DNS validation to generate/renew the TLS cert 2021-07-14 10:13:35 +02:00
greg 7c2aae6650 Add sockethub to nodejs-2's run list 2021-07-09 11:52:58 +02:00
greg d135b3873c Switch to a systemd unit Chef resource 2021-07-09 11:32:33 +02:00
greg e9c86081f7 Update sockethub to the latest npm release 2021-07-09 11:32:11 +02:00
greg b8ac5e1c07 Merge branch 'master' into feature/145-sockethub_from_npm 2021-07-09 10:51:02 +02:00
greg 9a3565c11f Only keep the knife-zero gem in the Gemfile
The rest is already shipped with Chef Workstation
2021-06-15 22:21:04 +02:00
greg 87d50d067c Add updated upstream nodejs cookbook
... and its new dependency, chocolatey
2021-04-09 13:18:35 +02:00
greg edf2e071e4 Upgrade nodejs to the latest version from the repo
This is possible in newer versions of the nodejs cookbook, by setting
the `node["nodejs"]["package_action"]["nodejs"]` attribute to `:upgrade`
2021-03-30 13:58:55 +02:00
greg f937e5dc68 Set the environment variables in the hubot-kredits dir
This is meant to be executed as a script manually, not as part of Hubot.

Example usage:

    cd /opt/hal8000_xmpp/node_modules/hubot-kredits
    ./scripts/review-kredits.js --start 2021-02-01 --end 2021-02-28T23:59:59Z --dry

Closes #315
2021-03-30 13:54:21 +02:00
greg 346b6540d1 Fix an undefined variable 2021-03-30 12:14:40 +02:00
greg 45817ba997 Update the barnard node file after running Chef 2021-03-30 12:12:27 +02:00
greg 9415b71965 Deploy hubot with new hubot-kredits
It includes a script for creating Kredits for reviews

Refs #135
2021-03-30 12:11:03 +02:00
greg 90ce664f2e Update ejabberd to 20.12
It fixes a bug that prevented the config to be reloaded for LDAP options
(https://github.com/processone/ejabberd/issues/3181) and more:
https://www.process-one.net/blog/ejabberd-20-12/
2021-01-24 10:14:29 +01:00
greg 0e5519a4b7 Update Gitea to 1.13.1
Running on centaurus

Closes #253
2021-01-24 10:12:37 +01:00
greg 1ad7a6936c Generate the hosts entry for the PostgreSQL replica 2021-01-24 10:11:17 +01:00
greg b1fea4b09f Update the postgres-3 node after Chef run 2021-01-23 19:25:49 +01:00
greg 7ce8b7d461 Enable PostgreSQL service 2021-01-23 19:14:55 +01:00
greg 112eb903ec Add a script to switch the primary PostgreSQL server
Usage: scripts/postgresql/switch_primary.sh <old_primary_hostname> <new_primary_hostname>
2021-01-23 19:13:54 +01:00
greg 7e61e9cb45 Promote a new PostgreSQL primary: postgres-2 2021-01-23 19:09:41 +01:00
greg a7116b8fe5 Switch the TLS mode to disabled for Gitea
We connect through a Zerotier private IP
2021-01-23 19:08:06 +01:00
greg a4a35da0ff Replace the hardcoded primary pg IP with a hostname 2021-01-23 17:34:58 +01:00
greg 5cb390f340 Remove the postgresql_replica from centaurus, run Chef
I have also deleted the data directory (in /mnt/data)
2021-01-23 17:11:45 +01:00
greg 4e1bd458f3 Update the mastodon-1 node after Chef run 2021-01-23 17:11:45 +01:00
greg 40fde8a861 Update the ejabberd nodes after Chef run 2021-01-23 17:11:45 +01:00
greg 39d0304ab4 Update the akkounts-1 node after Chef run 2021-01-23 17:11:45 +01:00
greg ee7b3626be Generate a host entry for the current PostgreSQL primary 2021-01-23 17:11:45 +01:00
greg 286cd2f2a3 Move the postgresql_client role to the top
We want the host file to be written before database connections happen
2021-01-23 17:11:45 +01:00
greg 1e3a2b40d4 Add the postgresql_client role to the akkounts role 2021-01-23 17:11:45 +01:00
greg bb0e73d1b9 Switch ejabberd, mastodon and gitea to a hostname for Postgres 2021-01-23 17:11:45 +01:00
greg fdd70d1872 Remove postgres-1 server
It was created with an encfs volume inside a VM, we want full disk encryption
instead. I have deleted the VM from centaurus as well as its disk and
have also unauthorized its id from the zerotier controller
2021-01-23 17:11:45 +01:00
greg 41ca5938a2 Merge branch 'master' into feature/postgres_vms 2021-01-23 14:43:58 +01:00
greg 6ec747d416 Add missing credentials for zerotier 2021-01-22 18:43:05 +01:00
greg cbcb50bc86 Create a zerotier_controller role 2021-01-22 18:41:46 +01:00
greg eba7d63b43 Delete the test-2 client and node file 2021-01-22 18:41:46 +01:00
greg 5fa23fe872 Remove the andromeda client and node files 2021-01-22 18:41:46 +01:00
greg 0e1a73b18f Set the private Zerotier IP for draco in the node file 2021-01-22 18:41:46 +01:00
greg 9b4756441a Add a recipe to join the private Zerotier network 2021-01-22 18:41:45 +01:00
greg dd78b8cf7e Use the PG primary private Zerotier IP if it exists 2021-01-22 18:41:45 +01:00
greg 88e52607e3 Add a recipe to set up a hosts entry for the PG primary 2021-01-22 18:41:45 +01:00
greg 511400a7b8 Update hostsfile and add zerotier cookbook 2021-01-22 18:41:45 +01:00
greg 9a4420fc11 Add the ability to pass a disk size to the create_vm script
Defaults to 10GB
2021-01-22 18:41:45 +01:00
greg ab422155e4 Add the ability to pass a disk size to the create_vm script
Defaults to 10GB
2021-01-22 13:49:23 +01:00
greg af54777250 Create postgresql-1 VM
Refs #280
2021-01-07 12:04:52 +01:00
greg f6086e2f6a Add the firewall rules to the postgresql role 2021-01-07 12:02:35 +01:00
greg 456639bdf8 Fix a syntax error in certbot dirsrv hook
The newline was not escaped and rendered as an actual newline

Fixes #272
2020-12-31 11:38:49 +01:00
greg 87388ac69d Add the postgresql_client role to the mastodon role
This will add the firewall rule and pg_hba access rule on the PostgreSQL
servers
2020-12-18 17:54:31 +01:00
greg c700f98976 Add a firewall rule to allow clients to connect
Previously it was not an issue because services that connected to the
PostgreSQL primary were also on the same server as a standby server.
2020-12-18 17:53:28 +01:00
greg f75aeaf9b5 Always set the promote trigger file config
Only setting it for standby servers isn't useful, as we need to be able
to touch this file to trigger the promotion of a new primary server
after running Chef on it.
2020-12-18 17:02:13 +01:00
greg 1551fe6d1b Update the ipfs-1 node file after running chef 2020-12-11 19:29:56 +01:00
greg 83736d2a85 Update the bitcoin-2 node file after running chef 2020-12-11 19:28:34 +01:00
greg ebfd36bab8 Add nodejs-1 client and node file
Refs #259
2020-12-11 19:02:04 +01:00
greg a92205bd65 Fix the VM creation script
Also join the zerotier network
2020-12-09 16:29:15 +01:00
greg 77ab77afe8 Update the centaurus and draco nodes after Chef run 2020-12-09 15:42:49 +01:00
greg 6273271d40 Remove kosmos-bitcoin::source from draco
Bitcoind runs inside a VM, not directly on the host
2020-12-09 15:42:19 +01:00
greg 7ceb9af3ed Rename the kosmos_kvm default recipe to host
It makes it clear it is meant for KVM hosts
2020-12-09 11:19:13 +01:00
greg 6c907419aa Set the VM name from the script argument 2020-12-08 17:10:40 +01:00
greg 8f304d00ce Remove unused kitchen.yml files 2020-12-08 16:34:24 +01:00
greg 94a34e4758 Add arguments for RAM and number of CPUs 2020-12-08 16:33:27 +01:00
greg b3c1f81ec6 Set the description of the kosmos_zerotier cookbook 2020-12-08 16:26:14 +01:00
greg 6f7b493173 Create the base Ubuntu 20.04 cloud image with code 2020-12-08 16:25:32 +01:00