trino/ deleted; the role trino_ro becomes fuel_ro, its password read from a secret file at connect time; dashboards' SQL and column list for PostgreSQL; the Compose project is renamed petrolyst, with volumes pinned to their old names. AGENTS.md points to the architecture context. Not deployed: the next deploy needs README's one-time steps first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
petrolyst-infra: agent rules
Deployment of the petrolyst server (atoma.petrolyst.com) and the Superset customization.
Runbook: README.md. Workspace rules: ../AGENTS.md; shared context: ../.context/ (server and
identity facts: deployment.md).
Architecture: read ../.context/architecture.md before planning or building. This repository
runs persistence (fuel-db and its migrations) and Superset; name the bands a change touches and
keep the rules there; a change against a rule or an open conflict goes to the owner first.
Layout
stacks/,traefik/,deploy/,host/: how and where things run.petrolyst-insights/: what Superset looks like and does (config, security manager, the guest role, branding, patches, dashboards as code). Its README maps each file to the image.keycloak/: thepetrolystclient import.
Rules
- Deploys: only by README "Manual deploy", only when the owner asks. There is no CI. Commit on
mainfirst; never push or deploy unprompted. - No secrets in the repository;
deploy/deploy.shrefuses if one appears. - The Superset image's inputs (
SUPERSET_INPUTSindeploy/lib.sh) make its tag: a change there rebuilds Superset on the next deploy. - Dashboards are code: change
build_bundle.pyand SPEC.md, never the UI followed by an export.import_bundle.pynever deletes; old objects go by hand (dashboards/README.md). - Embedding stays off in production (
superset_config.py) until PD-12's points are decided; the local stack turns it on in its own override. - ATOMA's users have no Superset role (PD-13):
atoma-readeropens the Petrolyst app only. - fuel-db migrations (
stacks/fuel-monitoring/fuel-db/migrations/) are applied by hand (P3).
Checks
- Shell: the README's Docker shellcheck command (warnings and errors must be zero).
- Dashboards:
build_bundle.pychecks the bundle as it builds; import locally and expect column drift 0 (../.context/local-stack.md). - Superset changes: rebuild the local image and check it turns healthy before calling it done.