Commit Graph
100 Commits
Author SHA1 Message Date
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
greg 176083497c Install the libvirt-daemon-system package
It creates the libvirt-qemu user
2020-12-08 16:25:04 +01:00
greg 89c8f42a46 Set the description for the kosmos_kvm cookbook 2020-12-08 16:03:18 +01:00
greg 1837285b79 Add the kosmos_kvm recipe and the firewall rules
... to the KVM hosts, centaurus and draco

Refs #244
2020-12-04 16:33:18 +01:00
greg ee7a117d63 Add initial kosmos_zerotier cookbook
For now it only includes the firewall rule

Refs #244
2020-12-04 16:29:22 +01:00
greg e6b7794e20 Extract firewall definitions to their own recipe
This allows us to use them for KVM hosts as well. Until now we had set
up ufw rules manually on the two KVM hosts (draco and centaurus)

Refs #244
2020-12-04 16:27:42 +01:00
greg 9dbe5bcfcb Deploy a script to create new VMs
It uses `virt-install` with the official Ubuntu 20.04 cloud image as a
starting point, with cloud-init to add our SSH keys to the ubuntu user
and set up Zerotier.

USAGE: create_vm VMNAME

Closes #244
2020-12-04 16:21:52 +01:00
greg bbf01711f8 Add ejabberd-1 client and node file 2020-11-25 16:42:23 +01:00
greg fbd71204c2 Use the production run list when no Chef environment was set 2020-11-25 16:41:43 +01:00
greg 613b316588 Add comment about needing to run Chef a second time...
... after the TLS certs are generated
2020-11-25 16:36:07 +01:00
greg 3a8af26b5f Remove firewall rule for an unused port 2020-11-25 16:36:07 +01:00
greg 23ca3552d2 Remove the absolute path of certbot to use the new package 2020-11-25 16:36:07 +01:00
greg ddb706b61c Add a missing dependency on kosmos-dirsrv 2020-11-25 16:36:07 +01:00
greg 085bd8abd5 Move TURN port to a different range
It landed on a port used by PostgreSQL. Also switch STUN/TURN to TCP
because HAProxy does not support UDP.

Closes #240
2020-11-25 16:36:07 +01:00
greg 7636f6ed19 Move the Gandi DNS certbot hook to kosmos-ejabberd 2020-11-25 16:36:07 +01:00
greg 8b1f90c568 Use the same Erlang cookie to enable clustering
Refs #243
2020-11-25 16:35:37 +01:00
greg df4c92b64e Update the centaurus node after adding drone to it 2020-11-19 12:59:24 +01:00
greg d7e54bf7ce Add drone role 2020-11-19 12:59:24 +01:00
greg ebf5f405f5 Initial kosmos_drone cookbook
Closes #235
2020-11-19 12:59:15 +01:00
greg 255e43c680 Fix the Systemd unit for discourse
Switch the systemd unit to a oneshot type
2020-10-23 09:28:31 +02:00
greg 5062392c71 Fix the undefined variable in the instance resource 2020-10-20 19:53:11 +02:00