Migrate AI Hint feed generation
Bring dynamic hint generation into the account service while preserving the legacy key.osglab.com deployment for existing clients.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# AI Hint Feed migration and coexistence
|
||||
|
||||
## Boundary
|
||||
|
||||
`key.osglab.com` remains the legacy AI Hint Feed for installed clients that still
|
||||
use that origin. This repository must not:
|
||||
|
||||
- change the `key.osglab.com` DNS record;
|
||||
- redirect `key.osglab.com` to `account.osglab.com`;
|
||||
- reuse or delete the legacy container, image, settings file, or data volume;
|
||||
- require the legacy service to call this account service.
|
||||
|
||||
The migrated generator runs independently inside OSGAccountServer and publishes:
|
||||
|
||||
- `https://account.osglab.com/v1/content/hints/manifest`
|
||||
- `https://account.osglab.com/v1/content/hints/{locale}`
|
||||
- `https://account.osglab.com/hints/manifest.json`
|
||||
- `https://account.osglab.com/hints/hints-{locale}.json`
|
||||
|
||||
## Safe rollout
|
||||
|
||||
1. Back up the legacy `settings.json`, `manifest.json`, `hints-zh.json`, and
|
||||
`hints-en.json` from its persistent volume.
|
||||
2. Deploy OSGAccountServer with `HINT_FEED_ENABLED=false`.
|
||||
3. Apply Flyway migration `V24__hint_feed_generation.sql` and the matching
|
||||
runtime grants.
|
||||
4. Use the protected admin console to review generation settings and run one
|
||||
manual generation.
|
||||
5. Verify both v1 and legacy paths on `account.osglab.com`, including ETag/304.
|
||||
6. Set `HINT_FEED_ENABLED=true` only after the generated packs are accepted.
|
||||
7. Point only new client releases at `account.osglab.com`. Existing clients may
|
||||
continue to use `key.osglab.com`.
|
||||
|
||||
## Rollback
|
||||
|
||||
Disable `HINT_FEED_ENABLED` to stop scheduled generation. Published packs remain
|
||||
available from MySQL and manual publishing remains available. No rollback step
|
||||
depends on or modifies `key.osglab.com`.
|
||||
|
||||
Provider credentials such as `TOPHUB_API_KEY` stay in environment-backed secret
|
||||
storage. They are never written to the generation settings table or returned to
|
||||
the admin browser.
|
||||
Reference in New Issue
Block a user