Skip to content

Routing View

The Routing view lets you control where each service routes its traffic — to the local CloudMock emulator or to a real cloud environment. This is useful during development when you want some services running locally and others pointing at a shared dev/staging environment.

The view builds its routing table from two sources:

  1. Topology config — Nodes from GET /api/topology/config provide the list of services with their groups, types, and local port numbers.
  2. Active services — Services from GET /api/services that are not already in the topology are added to the list.
  3. Cloud endpoints — Cloud URLs are loaded from /service-domains.json when available (typically generated by Pulumi or Terraform).

Each service gets a local/cloud toggle. Toggling a service changes where its traffic is directed.

Filter the service list by name using the search field.

The toolbar shows a count of how many services are routing locally vs. to the cloud (e.g., “8 local, 3 cloud”).

Choose the target cloud environment: dev, staging, or prod. The prod button is visually distinguished to prevent accidental selection. The selected environment determines which cloud endpoint URL is shown for each service.

  • All Local — Switch all services to route through CloudMock.
  • All Cloud — Switch all services to route to the selected cloud environment.

Services are organized by group (derived from the topology config):

GroupContains
AWS ServicesS3, DynamoDB, SQS, Cognito, and other AWS service emulations
ClientFrontend applications
APIBackend servers and gateways
ComputeWorkers, Lambda functions
OtherServices not categorized in the topology

Each group has its own All Local / All Cloud buttons for quick bulk switching.

Each row in a service group shows:

ElementDescription
Health dotGreen when the local endpoint responds to /health, red when down, cloud icon when routing to cloud
Service nameDisplay name from the topology config
Sync indicatorDot showing whether the route change has been synced to the CloudMock proxy
ToggleLocal/Cloud switch button
EndpointThe active endpoint URL (local address or cloud URL based on current mode and environment)

For services with HTTP local endpoints (e.g., http://localhost:3202), the view performs health checks every 30 seconds by fetching {endpoint}/health. The health dot updates to reflect availability.

AWS services and Lambda functions routed through CloudMock are always shown as healthy.

If the CloudMock proxy API is available (GET /api/proxy/routes), route changes are automatically synced via POST /api/proxy/routes. A “Proxy connected” or “Proxy unavailable” status is shown in the header.

When the proxy is not available, the “How to apply” section provides environment variable commands you can use to configure routing manually.

Click How to apply at the bottom to expand instructions. Depending on the proxy availability:

  • Proxy connected — Changes are applied automatically. Environment variables are listed as a reference for services that connect directly.
  • Proxy unavailable — Copy the exported environment variables and set them before starting your services.

For AWS services, the key variable is:

Terminal window
export AWS_ENDPOINT_URL=http://localhost:4566 # route to CloudMock
unset AWS_ENDPOINT_URL # route to real AWS

Routing preferences are saved to localStorage under neureaux-devtools:routing. Your local/cloud toggles persist across browser sessions.

MethodPathDescription
GET/api/topology/configGet topology nodes for building the service list
GET/api/servicesList active CloudMock services
GET/api/proxy/routesCheck proxy availability
POST/api/proxy/routesSync a route change to the CloudMock proxy