pariyatti / kosa

Digital library service
GNU Affero General Public License v3.0
8 stars 3 forks source link

Ansible Deployment #28

Closed deobald closed 3 years ago

deobald commented 3 years ago
  1. [ ] "Deploy" Crux (just a Maven artifact) a. [ ] How should we take backups of the RocksDB instances?
  2. [ ] Run schema migrations a. See the lein entry point
  3. [ ] Deploy Kosa a. [ ] JavaScript asset pipeline? b. [ ] CSS in asset pipeline?
  4. [ ] SSL — LetsEncrypt? Caddy?

Read through: https://www.braveclojure.com/quests/deploy/ Look at old Ansible deployment: https://github.com/pariyatti/kosa-rails/tree/master/deployment

oxalorg commented 3 years ago

Are we planning to do deploys on DigitalOcean? I can take a jab at this to get a basic ansible script working for kosa deploys.

deobald commented 3 years ago

@oxalorg Although we have a couple of DigitalOcean boxes available, they're just temporary workhorses I've set up. @brihas has acquired a good number of AWS credits available to 501(c)(3) non-profits (like Pariyatti) through a special program. Our staging and production boxes will ultimately be on AWS Lightsail.

It was my intention to get the Ansible scripts running on DigitalOcean first, since we want to avoid any vendor-specific deployment scripts. I've created a DigitalOcean Team and invited you to it with the email address you'd given me earlier. Let me know if you'd like me to use a different email address.

The two current boxes are as follows:

digitalocean-boxes

Unfortunately, DO doesn't provide any way to wholesale migrate these boxes to the Team so you can mess around with them. We can take snapshots but we can't move IPs — which means we might as well create two new boxes. This has the side benefit of allowing us to upgrade to Ubuntu 20.04.2 and getting rid of the old Neo4j installs. The DO team is attached to my credit card so you can create two new boxes of the same shape:

The two IPs are linked to kosa.pariyatti.org and kosa-sandbox.pariyatti.org which are currently running the old Rails codebase. @brihas had at one point suggested we switch to the subdomains kosa.pariyatti.app and kosa-sandbox.pariyatti.app to keep pariyatti.org and pariyatti.app segregated. That seems cleaner, so once you have boxes up and running we can ask him to point the new domains to the new IPs and drop the old DNS entries.