Trino out of the code; commit messages name bands and rules
The rename step in init.sh and the guard in deploy/lib.sh are gone. README's procedure is now "Removing the old project"; it keeps the old names until it has run on the server. Migrations stay here (open point 8), and their README says so. AGENTS.md adds the commit-message rule. Not deployed: live still runs Trino. Bands: 4 (Superset), persistence (docs). Rules: 2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8405706ed8
commit
e4806f5799
9 files changed
+55
-67
No files matched your search
@@ -1,6 +1,5 @@
|
||||
# Fuel-monitoring analytics: Superset on atoma.petrolyst.com, reading the
|
||||
# operational store (fuel-db) directly as the read-only role fuel_ro (Trino was
|
||||
# removed on 29 Oct 2026). Run only through deploy/deploy.sh or
|
||||
# operational store (fuel-db) directly as the read-only role fuel_ro. Run only through deploy/deploy.sh or
|
||||
# deploy/rollback.sh: they export SUPERSET_IMAGE_TAG from the release's
|
||||
# ARTIFACTS file, and the :? guard below stops Compose from running without it.
|
||||
name: petrolyst
|
||||
|
||||
@@ -18,6 +18,12 @@ The design and its rationale live in the fuel-monitoring corpus:
|
||||
|
||||
Each file is one transaction. Apply them in order.
|
||||
|
||||
**Who depends on the views.** Superset's dashboards list every column (`petrolyst-insights/dashboards/atoma/columns.tsv`;
|
||||
the import reports drift). The Petrolyst server reads `public.v_site`; its integration test
|
||||
(petrolyst-platform `server/tests/test_integration.py`) names the columns and types it needs. After
|
||||
a change to `0003_bi_views.sql`, run both checks. The migrations stay in this repository (open
|
||||
point 8, closed 30 Oct 2026).
|
||||
|
||||
## Applying (on the server)
|
||||
|
||||
1. Create a loader role as in the repository README, "Data loaders". Its sessions act as
|
||||
@@ -92,12 +98,11 @@ it, except baseline versions and their approvals, which live only in fuel-db: ex
|
||||
|
||||
## Verified locally (2026-10-24, scratch only)
|
||||
|
||||
With Trino, before its removal on 29 Oct 2026; `trino_ro` is now `fuel_ro`.
|
||||
The reads below ran through Trino, removed since on 29 Oct 2026, as today's `fuel_ro`.
|
||||
|
||||
Setup:
|
||||
- `timescale/timescaledb:2.31.0-pg17`, with this repository's `01-roles.sh`;
|
||||
- a loader created by the README recipe;
|
||||
- `trinodb/trino:484`, with this repository's `trino/etc` connected as `trino_ro`.
|
||||
|
||||
Results:
|
||||
- **Apply:** all three files applied as the loader, under the loader's default `search_path`.
|
||||
@@ -117,9 +122,7 @@ Results:
|
||||
the version's validity, corrections under one `event_key`, fixed meter and epoch owners, and
|
||||
population keys that name the generators a coverage assumption covers;
|
||||
- every refusal listed above.
|
||||
- **Trino:**
|
||||
- all 303 columns of the 18 views have identical names, order and types in PostgreSQL and
|
||||
Trino;
|
||||
- **Read-only role:**
|
||||
- `fm` is unreadable: a query is refused, though its names are listed (see Applying);
|
||||
- writes are refused.
|
||||
- **Not run on the server:** none of this has been run against the live fuel-db.
|
||||
@@ -10,23 +10,6 @@ set -euo pipefail
|
||||
superset db upgrade
|
||||
superset init
|
||||
|
||||
# Trino was removed on 29 Oct 2026. An instance still holding its connection
|
||||
# "Fuel (Trino)" gets it renamed, so its datasets and dashboards keep their ids;
|
||||
# the next step points it at fuel-db. Drop this once no instance has it.
|
||||
/app/.venv/bin/python - <<'PY'
|
||||
from superset.app import create_app
|
||||
|
||||
with create_app().app_context():
|
||||
from superset import db
|
||||
from superset.models.core import Database
|
||||
|
||||
old = db.session.query(Database).filter_by(database_name="Fuel (Trino)").one_or_none()
|
||||
if old and not db.session.query(Database).filter_by(database_name="Fuel").count():
|
||||
old.database_name = "Fuel"
|
||||
db.session.commit()
|
||||
print('renamed the connection "Fuel (Trino)" to "Fuel"')
|
||||
PY
|
||||
|
||||
# No password here: superset_config.py reads it from /run/secrets at connect time.
|
||||
superset set-database-uri \
|
||||
--database_name "Fuel" \
|
||||
|
||||
Reference in new issue
Block a user