WebOfTrustInfo / prototype_vRWOT

0 stars 1 forks source link

Update to Recent SkotOS #3

Closed noahgibbs closed 3 years ago

noahgibbs commented 3 years ago

vRWOT was basically the first and earliest app that used SkotOS as a library, using the new DGD Manifest system. The Gables (https://github.com/ChatTheatre/gables_game) happened at the same time, and I've continued using it as a testbed for SkotOS improvements. RWOT can really use a refresh by now.

RWOT-as-deployed-to-Linode used repo noahgibbs/vRWOT_SkotOS, branch rwot_prototype, which was at Git commit 3d20925a346fd71753de7101301b6e3745780b43.

RWOT-as-squashed-and-merged is git commit 727c4f7d0f3b3ca630da015c16af3d56109b3328, which is what the WebOfTrustInfo/vRWOT_SkotOS repo's branch called rwot_prototype uses.

I'm going to do roughly the following:

1) Starting from The Gables, I'll create a new clean vRWOT branch which uses the latest SkotOS. This has cleaner HTTPS support, very basic CI support, cleaner authentication code and support for Mac local development, among other improvements. It also matches the latest SkotOS-Doc documentation. (DONE)

2) I'll check diffs between that and RWOT-as-deployed, merging any improvements or fixes into either the new prototype_vRWOT code or (if I've missed anything) the main SkotOS library code. (DONE)

3) While checking all diffs, I'll look at operations-type changes in SkotOS over that time. This will be an opportunity to make sure email is properly configured on the VPS, for instance. I'll manually try to make sure that the vRWOT host is configured to match a new clean install with latest SkotOS. (DONE)

4) I'll do a vault-dump on production RWOT and commit any new changes. (DONE)

5) I'll grab @saraht45's WOE changes and any other relevant WOE changes from prod RWOT so that they're in the prototype_vRWOT new branch. This will make them available for local development and guarantee they'll be included if we redeploy vRWOT. (DONE)

6) I'll check existing bugs (https://github.com/WebOfTrustInfo/prototype_vRWOT/issues/2 and https://github.com/WebOfTrustInfo/prototype_vRWOT/issues/1) and make sure they appear fixed with the new code. When they're fixed, I'll close them. (DONE)

7) With all these things integrated into prototype_vRWOT (currently in branch "use_latest_skotos" in noahgibbs/prototype_vRWOT), I'll finish debugging, then file a PR against this repo.

8) Assuming all goes well, we should then be able to get rid of vRWOT_SkotOS entirely in favour of just-plain-SkotOS. We can still have vRWOT depend on a specific SHA or tag/branch so that we have a known-good version, but that SHA/tag/branch will just be in the normal SkotOS repo, not a special one.

Things I am explicitly NOT doing:

1) I am not redeploying a new RWOT server. Specifically, right now a redeployment will destroy all user accounts, user bodies, staff accounts, etc. It's not impossible to save that data - some is in WOE, some is in thin-auth's database tables. Later we can talk about what we want a new fresh install to look like in terms of accounts.

noahgibbs commented 3 years ago

I've shuffled all the pieces together and gotten them mostly done. But I still need to get Jitsi properly set up. And the way it's failing is preventing me from making a proper Orchil connection. So: nearly there.