it adds a NATS subscription on wasmbus.evt.{lattice} so the washboard can receive events from other hosts, namely the host started/stopped/heartbeat events
adds missing process_event handlers for events. Some of these are no-ops, and some needed logic (the host started/stopped events)
The washboard is usable for lattices with multiple hosts in them once again :)
Testing
Manual Verification
Tested manually with two hosts, e.g.:
In one terminal:
WASMCLOUD_CLUSTER_SEED=FOO WASMCLOUD_CLUSTER_ISSUERS=BAR PORT=4000 WASMCLOUD_DASHBOARD_PORT=4000 RELEASE_NODE=first-host make run
In another:
WASMCLOUD_CLUSTER_SEED=FOO WASMCLOUD_CLUSTER_ISSUERS=BAR PORT=4001 WASMCLOUD_DASHBOARD_PORT=4001 RELEASE_NODE=second-host make run
I verified that when the second host starts, the first host's washboard immediately recognizes the second host. The second host's washboard will recognize the first host when it receives a heartbeat from the host. I also verified that stopping one host is correctly processed by the other host's washboard state
Feature or Problem
This PR fixes two issues:
wasmbus.evt.{lattice}
so the washboard can receive events from other hosts, namely the host started/stopped/heartbeat eventsprocess_event
handlers for events. Some of these are no-ops, and some needed logic (the host started/stopped events)Related Issues
Fixes https://github.com/wasmCloud/wasmcloud-otp/issues/571 Fixes https://github.com/wasmCloud/wasmcloud-otp/issues/598
Release Information
Next (preferably v0.62)
Consumer Impact
The washboard is usable for lattices with multiple hosts in them once again :)
Testing
Manual Verification
Tested manually with two hosts, e.g.:
In one terminal:
In another:
I verified that when the second host starts, the first host's washboard immediately recognizes the second host. The second host's washboard will recognize the first host when it receives a heartbeat from the host. I also verified that stopping one host is correctly processed by the other host's washboard state