Connect the Host and Ingress
Link the Endpoint implementation, publish its Catalog binding, and configure the Web Ingress Instance.
The Endpoint provider is not reachable until the Host links it and the resolved App binds it to Ingress.
1. Link the Plugin crate
#[lenso::plugin] and #[endpoint] already generate the Descriptor, Capability
lowering, and linked factory. The crate root only needs to compile the Endpoint
module:
mod http;
Once the Host links this crate, NativePluginRegistry::with_linked_factories()
discovers the generated factory. NativePluginFactory is a Host/Adapter
extension seam, not the normal Web Plugin authoring API. NativeModuleFactory
is retired.
2. Publish the Catalog relationship
Publish the Endpoint Plugin and Web Ingress implementations in the Host Catalog. The Catalog must permit this binding:
lenso.web-ingress/web
requires many lenso.http.endpoint@1
-> company.greetings-http/api
Registration makes an implementation available. The Host Catalog owns defaults,
root Slots, and exact implementation policy. The App owner only configures or
disables the resulting Instances in plugins/.
3. Configure Ingress
Patch the Host-declared Ingress Instance:
bind_address = "127.0.0.1:8080"
max_request_body_bytes = 1048576
max_request_head_bytes = 16384
max_concurrent_requests = 128
request_timeout_millis = 30000
Inspect the resolved result:
lenso plugins list --root ./my-app
lenso app show --root ./my-app
lenso app check --root ./my-app
app show must contain the Ingress Instance, the Greetings Endpoint Instance,
and the many lenso.http.endpoint@1 binding between them. A TOML file cannot
create a Catalog relationship that the Host does not publish.
This step is complete when app check succeeds and the resolved App exposes
the exact Instance and binding identities. Continue with
Prove the HTTP backend.