Context
Ysul was our main FreeBSD server before we add an hypervisor with a Docker engine and specialized VMs on it.
As such, it still hosts both legacy development and production services.
Ysul is now superseded by WindRiver as devserver. But to move all Ysul content as is to WindRiver isn't welcome, as we'd prefer a better separation between devserver and production.
A plan is so needed to split Ysul services into prod and dev, and move them accordingly.
Ysul services to move
Service | Role | Content for this service |
MySQL | dbserver-mysql | A lot of unmanaged databases, some from Grip, mix of dev, archives and prod |
Eggdrops | viperserv | Dæghrefn and Wearg, and code for Æschere (test one) and TC2 (still needed?) |
nginx / php-fpm | webserver-legacy | All PHP and static sites, excepted the ones we deploy through Docker |
MediaWiki | saas-mediawiki | /srv/saas and /srv/mediawiki to serve MediaWiki sites |
Plan
Plan is:
- Sort web services
- Update DNS for *51.* to use www2.nasqueron.org, keep that one for dev
- Keep production sites on www1.nasqueron.org
- Split or templatize nginx definitions: some sites has their 51 experimental counterpart defined in the same vhost file
- Start a MySQL cluster
- Provision db-B-001.nasqueron.org for MySQL hosting
- Move every db there, without any dev/archive/test/prod sorting
- Create somewhere in 172.27.27. a VIP (managed like IPFO outside IntraNought block or an IntraNought to ease routing?)
- Update EVERY website to use credentials in Vault to access that one BEFORE moving it to web-001
- Provision web-001.nasqueron.org for nginx and php-fpm
- Move production sites to web-001.nasqueron.org
- Update DNS for www1.nasqueron.org to point to web-001 (or a VIP)
- Move dev sites to WindRiver
- Currently keep ViperServ on Ysul: the only issue seems youtube-dl is too slow, but nobody is currently complaining about that one, so can be moved later during Ysul decom to irc-001 or Eglide.
Expected disruptions
Any rogue MySQL use will break. If so, just open a task to get rOPS create and deploy credentials where it's needed.