ATOMA's users use the Petrolyst app; Superset keeps admins, editors and the app's embedded dashboards. Removed: the "ATOMA Reader" role and its rules (petrolyst_reader.py, ReaderAccessMixin, reader.css, the head template, the SQL-hiding patch), the atoma-reader mapping (it now maps to nothing in Superset), the iframe allowance for the Map tab, and the "atoma" dashboard with its Fleet/Map tab, D0 and dashboard.css. The bundle holds atoma-overview and atoma-site only (byte-identical to before); the guest role keeps the reader's 12 permissions in roles/atoma_guest.py. Brand files now name petrolyst-web. SPEC marks the retired parts as history. Checks (local): bundle checks pass; image rebuilt and healthy; import with column drift 0 and unchanged embedding ids; the production config loads with OAuth, embedding off, no reader hook; admin sees atoma-site with its tabs and filter column; the app's browser tests pass 10/10. shellcheck not run (not installed). Not deployed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
866 B
Markdown
17 lines
866 B
Markdown
# patches/
|
|
|
|
Runtime patches applied while the Superset image is built
|
|
(`stacks/fuel-monitoring/superset/Dockerfile`). Empty until Petrolyst needs one.
|
|
|
|
Same convention as media-insights:
|
|
|
|
- One file per fix, named `fix_<what>.py`. It patches files inside the installed image
|
|
(`/app/superset/...` or the venv), for changes that cannot be made through
|
|
`superset_config.py`.
|
|
- `python3 fix_<what>.py` applies the patch; `python3 fix_<what>.py --verify` exits non-zero
|
|
unless the patched code is in place. Both must be idempotent.
|
|
- The Dockerfile runs both for every `fix_*.py` and stops at the first failure, so a patch that
|
|
no longer applies to a new Superset version fails the build instead of shipping silently.
|
|
- Everything in this folder is a build input: changing it gives the image a new tag and
|
|
recreates the `superset` container on the next deploy.
|