PERRON

vertrektijden
--:--:--
What this demonstratesthree apps, and the wiring between them

A departure board is the excuse. The demo is the wiring: three Central Station apps, and the platform mechanisms that connect them. The board you are looking at is Next.js and holds no data. It calls perron-api, a public Go service, which in turn reads perron-pollerInternal Only, holder of the NS API key, and unreachable from any browser on earth.

None of them has an address hardcoded. Central Station injects every URL when you create a service link, and creating the ingress-mode link from this board is also what made the platform inject CORS_ORIGINS into the API. Open the Platform panel at the bottom to see the real injected values, read out of the running pods rather than from what we hoped happened.

direct (CORS) vs via proxyTwo genuinely different network paths. Direct is a real cross-origin call, which is what CORS governs; the proxy is same-origin through this app’s own server.
Internal Only, provedThe Platform panel has a button that tries to reach the poller straight from your browser. It fails, for real — the app has no ingress at all.
The wrong-origin probeA browser cannot forge an Origin header, so the panel asks the API directly what it would say to a different one. It says no.
Health probesThe poller reports unready until its cache is primed, and the API has a switch that makes its probes fail on demand so you can watch Central Station react.

Laden…

Vertrektijden laden…