30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
# V4.3 – Distributed Service Controller
|
||
|
||
V4.3 introduces a fourth deployable process/image: `neuralhunt-service-controller`.
|
||
|
||
The Customer Service remains the Master for customer accounts, credits, billing, worker configuration, worker leases and reward ownership. Docker orchestration can now be delegated to one or more remote Service Controllers.
|
||
|
||
Highlights:
|
||
|
||
- `CS_WORKER_ORCHESTRATION_MODE=direct|controller|hybrid`
|
||
- authenticated controller registration + heartbeat at Customer Service `:8092`
|
||
- bidirectional registration health check: the Master only accepts a controller it can call back
|
||
- automatic least-loaded placement for new workers
|
||
- sticky `controller_id` per worker so host-local identity volumes are never silently moved
|
||
- remote start / stop / remove / image pull / image update / identity download / identity upload
|
||
- distributed "update all worker images" across all assigned hosts
|
||
- controller capacity + heartbeat shown in Customer Admin
|
||
- Master-side `DRAIN` and enable/disable controls
|
||
- private emergency UI on every Service Controller (`:8101`)
|
||
- controller-independent `last_lease_at` liveness signal for prepaid billing
|
||
- Customer Service can run with no docker.sock at all in `controller` mode
|
||
- direct mode stays compatible with the previous single-host setup
|
||
|
||
New pipeline Dockerfile:
|
||
|
||
```text
|
||
Dockerfile.service-controller
|
||
```
|
||
|
||
See `SERVICE_CONTROLLER.md` for configuration and deployment topology.
|