round-robin or least-sessions and optional session affinity. Routes live in memory or in Redis.
Docker image
fonoster/routr-location
The image reads its configuration from /etc/routr/location.yaml (CONFIG_PATH).
Ports
Configuration file
The Location Service reads a YAML or JSON file and validates it against a JSON schema at startup.Redis parameters
The service builds a Redis URL from these keys, so always set both
host and port. Example: host=redis,port=6379,password=changeme.
Environment variables
gRPC contract
A
Route includes the endpoint’s user, host, port, transport, advertised_host, advertised_port, expires, session_count, and the edge_port_ref of the EdgePort that holds its connection. FindRoutesRequest.backend selects the algorithm (ROUND_ROBIN or LEAST_SESSIONS) and with_session_affinity. See location.proto.
Minimal example
This configuration keeps routes in Redis.Notes
- The
memoryprovider works only with a single Location Service instance. Useredisto run several instances or to useleast-sessions. - With the
redisprovider, always setspec.cache.parameters. Thehost=localhost,port=6379fallback applies only when the provider is written in uppercase (REDIS), which the schema does not accept. least-sessionsrelies on theX-Session-Countheader that Peers send when they register.