Feed Catalog
Static, live, and cache-forwarded data feeds served by the Farsight feed adapter.
The feed adapter serves the Farsight catalog as a portable sidecar for map clients. It exposes static datasets, live upstream snapshots, RSS metadata, and normalized GeoJSON over HTTP and gRPC.
Are The Feeds Airgapped Or Live?
It is case by case.
- Static datasets are airgapped at runtime. They are baked into
datasets/*.jsonand served without calling the network. - Built-in upstreams are live when
ENABLED_UPSTREAMSincludes them. The adapter polls those providers and prefers the fresh snapshot for that layer. - Service feeds are live through the Farsight adapter's API routes, each of which polls a real external upstream (see the Feed Reference). Some routes read preseeded Redis/bootstrap state, a few serve static local files, and the rest are adapter-derived from other feeds.
- RSS feeds are live through the RSS proxy/aggregator and constrained by the allowed-domain catalog.
The generated Feed Reference page documents every current dataset, upstream source, and service feed with a runtime mode.
Local Stack
docker compose up -d --build feed-adapterTrailBase is exposed on http://localhost:4001; the adapter is exposed on http://localhost:18080 and http://localhost:50051.
The adapter HTTP port also serves:
/docsfor this documentation/referencefor the Scalar API reference/farsightfor the GeoJSON map console/openapi.jsonand/openapi.yamlfor the API contract
For sidecar hot loading during development, run the compose overlay:
docker compose -f compose.yaml -f compose.dev.yaml up -d --build feed-adapterThe overlay bind-mounts adapter/static/farsight/*, adapter/openapi.yaml, and
the built Fumadocs .next artifacts into the container. Rebuild the docs with
npm run build after MDX/layout changes, then refresh /docs.
Source Of Truth
../feeds-catalog.yamldefines layers, datasets, upstreams, refresh intervals, and adapter routes.../services/services.yamldefines app service feeds and their API endpoints.../compose.yamlwirestrailbase,feed-adapter, and the example map app.