Files
petrolyst-infra/AGENTS.md
T
Nasim SadatandClaude Opus 5.5 e4806f5799 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>
2026-10-30 13:50:57 +01:00

37 lines
2.2 KiB
Markdown

# 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/`: the `petrolyst` client import.
## Rules
- **Commit messages** end their body with the bands and rules touched, for example
`Bands: 4 (server). Rules: 2, 3.`, or `Bands: none (docs).` for text only (architecture rule 1).
- **Deploys:** only by README "Manual deploy", only when the owner asks. There is no CI. Commit on
`main` first; never push or deploy unprompted.
- **No secrets** in the repository; `deploy/deploy.sh` refuses if one appears.
- **The Superset image's inputs** (`SUPERSET_INPUTS` in `deploy/lib.sh`) make its tag: a change
there rebuilds Superset on the next deploy.
- **Dashboards are code:** change `build_bundle.py` and SPEC.md, never the UI followed by an
export. `import_bundle.py` never 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-reader` opens 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.py` checks 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.