Epic Index: Turn Tessa into a client-side only gem & decomission Tessa service #27
Description
The Tessa service was very useful back in the days before ActiveStorage, but now ActiveStorage is the Rails best practice way to do things and comes batteries-included with Rails 7.
Rework the Tessa gem so that it no longer uploads to the Tessa service, but rather uploads/downloads directly to s3 via ActiveStorage. Clients would no longer have Tessa username/password credentials, but rather AWS s3 access credentials.
Then kill the Tessa app in Heroku.
-
1. Rework the Tessa gem so that it acts as a wrapper around ActiveStorage for new uploads, w/ fallback to the Tessa service for missing images.
- Gem: Rework as a wrapper around ActiveStorage tessa-client#15
- Events system: https://github.com/watermarkchurch/events/issues/459
- Media System https://github.com/watermarkchurch/media/issues/489
- Watermark Resources https://github.com/watermarkchurch/watermarkresources.com/issues/1636
- JTJ-CMS https://github.com/watermarkchurch/jtj-cms/issues/455
-
2. Run a migration in an ActiveRecord job on each downstream client app that creates ActiveStorage records in the client app's Postgres for all old tessa uploads
- Events System: https://github.com/watermarkchurch/events/issues/460
Media Systemthis is unnecessary- Watermark Resources https://github.com/watermarkchurch/watermarkresources.com/issues/1702
- JTJ-CMS https://github.com/watermarkchurch/jtj-cms/issues/470
-
3. Remove fallback to Tessa service (perhaps by just removing the TESSA_URL env var?) and test that all old assets still resolve
- Events System https://github.com/watermarkchurch/events/issues/562
- Media System https://github.com/watermarkchurch/media/issues/527
- Watermark Resources https://github.com/watermarkchurch/watermarkresources.com/issues/1719
- JTJ-CMS https://zube.io/watermarkchurch/development/c/12438
- Gem: Remove fallback code to Tessa service tessa-client#16
-
4. Decommision Tessa
- Turn off the Tessa service Turn off the tessa service #49
- Archive and decommission the Tessa repo Archive Tessa application #50
-
5. Cleanup
- Clean up old tessa assets (Clean up old tessa assets #51)
- Remove duplicate assets from media-files.watermark.org (https://github.com/watermarkchurch/media/issues/539)