Security
ReactantServer is designed to run on a trusted network behind your own perimeter. Be aware of the following before exposing any endpoint:
- Cleartext h2c. All gRPC traffic (worker and gateway) is cleartext h2c. TLS settings are parsed by the gateway config but not yet enforced; a configured cert triggers a startup warning.
- No authentication or authorization on the KServe data plane, the worker control-plane RPCs (residency and policy), the gateway's own scheduling control plane (
GatewayControlService, which can repack the fleet and change a model's replica count and routing at runtime), or the Prometheus metrics listener (which binds0.0.0.0:8002by default). The control plane is mutating, so treat access to the gRPC ports as administrative access. - Trusted bundles. A bundle's optional
model.jlexecutes arbitrary Julia in the server process, so bundles are trusted input. Only serve bundles you built or audited; see Bundles. - Shared memory is a local trust boundary. Client-registered regions and the optional node-shared host-weight store live in
/dev/shm; the shared weight regions default to mode666(world-writable) for friction-free sharing. Setruntime.shared_host_weights_mode: "660"on production or multi-user systems.