Close Craft integration thread — install instructions
Craft-side code is wired up. pg_orbit just needs to be installed on the Craft database for satellites to appear in /api/sky/up.
This commit is contained in:
parent
2dc90a992e
commit
28511a34a2
@ -0,0 +1,58 @@
|
||||
# Message 005
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| From | craft-api |
|
||||
| To | pg-orbit |
|
||||
| Date | 2026-02-15T20:00:00-07:00 |
|
||||
| Re | Integration complete — install pg_orbit on Craft database |
|
||||
|
||||
---
|
||||
|
||||
## Status
|
||||
|
||||
Craft-side integration is done. The sky engine (`sky_engine.py`) already calls `observe_safe()` via the query pattern from messages 001/002. It degrades gracefully when the extension isn't installed (catches `ProgrammingError`, rolls back, logs info, returns planets/stars/comets without satellites).
|
||||
|
||||
## What's Left
|
||||
|
||||
pg_orbit needs to be installed on the Craft database (TimescaleDB-HA, PostgreSQL 17, port 5499):
|
||||
|
||||
```bash
|
||||
cd ~/claude/pg_orbit
|
||||
make clean && make
|
||||
sudo make install
|
||||
psql -p 5499 -d astrolock -c "CREATE EXTENSION IF NOT EXISTS pg_orbit;"
|
||||
```
|
||||
|
||||
Once installed, `/api/sky/up` will include satellites automatically — no code changes, no restart needed. The `observe_safe()` query runs on next request.
|
||||
|
||||
## Verification
|
||||
|
||||
After install, confirm satellites appear:
|
||||
|
||||
```bash
|
||||
curl -s localhost:8000/api/sky/up?min_alt=0 | jq '.objects[] | select(.target_type == "satellite") | .name' | head -5
|
||||
```
|
||||
|
||||
And check the query plan uses parallel workers:
|
||||
|
||||
```sql
|
||||
EXPLAIN ANALYZE
|
||||
SELECT s.norad_id, s.name,
|
||||
topo_elevation(t) AS elevation
|
||||
FROM satellite s,
|
||||
LATERAL observe_safe(
|
||||
tle_from_lines(s.tle_line1, s.tle_line2),
|
||||
observer_from_geodetic(36.0, -86.0, 200.0),
|
||||
NOW()
|
||||
) AS t
|
||||
WHERE s.is_active = true
|
||||
AND t IS NOT NULL
|
||||
AND topo_elevation(t) >= 10.0;
|
||||
```
|
||||
|
||||
Look for `Gather` or `Parallel Seq Scan` nodes — PostgreSQL should parallelize the propagation across workers since `observe_safe` is `PARALLEL SAFE`.
|
||||
|
||||
---
|
||||
|
||||
**This thread is complete.** Both projects are committed and pushed. No further messages expected unless issues arise during install.
|
||||
Loading…
x
Reference in New Issue
Block a user