Legacy migration plan - RopeWiki/app GitHub Wiki

Since initial site creation in 2014, RopeWiki has been running on two VMs with systems configured ad-hoc. This repository uses Docker to define a site that is easily reproducible/deployable with a minimum of manual configuration so that changes can be tracked in version control and mirror/development deployments can be easily deployed. This document describes the steps we plan to take to transition the legacy site infrastructure to the new site infrastructure.

Preparation

  1. Create prod.json in the site_configs folder in the repository as will be used on monolith
  2. Verify that backups can be successfully obtained from the dev site following #5 and merge #5 to master
  3. Choose a 3-hour time window to execute the Transition, Test, and Finalize phases when Dav, Michelle, and Ben will all be available
  4. Add an announcement to current RopeWiki site indicating that the site will be down during that window, and also a post in the Facebook group

Transition

  1. Stop the current site's webserver with service nginx stop
  2. Manually trigger creation of database backup for the day with ~/backup_mysql.sh
  3. Dav to update the DNS to point all core ropewiki.com domain names to monolith
  4. Follow full deployment instructions on monolith starting at "Transfer site data" using SITE_NAME=prod
    1. At this point, public access will be restored
  5. Update URL of Luca's server to https://ropewiki.com/luca here
  6. Dav to change off-site backups to target new site architecture (ports 22001 + 22002 with different folder structures)

Test

  1. Visit home page, a few canyon pages, etc to sanity-check that the site is working
  2. Michelle to check some of the newer features to make sure they still work

Finalize

  1. Post in Facebook group telling people about the transition and to watch for and report any bugs they find