- Move WatchEventType and ResourceEvent to reddwarf-core so scheduler
and runtime can use them without depending on the apiserver crate
- Fix scheduler bind_pod to create versioned commits and publish
MODIFIED events so the pod controller learns about scheduled pods
- Replace polling loop in pod controller with event bus subscription,
wire handle_delete for DELETED events, keep reconcile_all for
startup sync and lag recovery
- Add allocatable/capacity resources (cpu, memory, pods) to node agent
build_node so the scheduler's resource filter accepts nodes
- Bootstrap "default" namespace on startup to prevent pod creation
failures in the default namespace
- Replace .abort() shutdown with CancellationToken-based graceful
shutdown across scheduler, controller, and node agent
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement an in-process broadcast event bus for resource mutations
(ADDED/MODIFIED/DELETED) with SSE watch endpoints on all list handlers,
following the Kubernetes watch protocol. Add the reddwarf-runtime crate
with a trait-based zone runtime abstraction targeting illumos zones,
including LX and custom reddwarf brand support, etherstub/direct VNIC
networking, ZFS dataset management, and a MockRuntime for testing on
non-illumos platforms.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>