Portal Registry

portal-registry provides client support for registering services with Light Portal or Light Controller.

It uses a JSON-RPC style WebSocket protocol for service registration, metadata updates, and skill search. Runtime services normally use this through light-runtime, but applications can also use the client directly when they need custom registry behavior.

Main Types

  • PortalRegistryClient: WebSocket client for registry communication.
  • RegistryHandler: trait for handling registry callbacks and messages.
  • RegistrationState: client registration state.
  • RegistrationBuilder: helper for constructing registration parameters.
  • ServiceRegistrationParams: service identity and advertised endpoint.
  • ServiceMetadataUpdate: metadata update payload.
  • SkillSearchRequest, SkillSearchResponse: skill discovery messages.

Usage

#![allow(unused)]
fn main() {
use portal_registry::RegistrationBuilder;

let registration = RegistrationBuilder::new(
    "com.networknt.service-1.0.0",
    "1.0.0",
    "http",
    "127.0.0.1",
    8080,
)
.with_env("DEV")
.with_jwt(token)
.build();
}

Runtime Integration

light-runtime can register a service automatically when server.yml enables registry support and portal-registry.yml supplies the portal connection.