Add activity log system for provisioning lifecycle visibility
Hosts stuck in states like pxe_ready had zero visibility into why. This adds a persistent activity log that records every meaningful step (state transitions, PXE events, cluster join stages, failures) and surfaces it on the host detail page with live SSE updates. Includes a stuck-detection warning banner when a host sits in pxe_ready for >10 minutes with no iPXE request. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -54,16 +54,18 @@ func main() {
|
||||
ops := &store.Operations{DB: database}
|
||||
locks := &store.Locks{DB: database, TTLMinutes: cfg.Locks.TTLMinutes}
|
||||
images := &store.Images{DB: database}
|
||||
activity := &store.Activity{DB: database}
|
||||
|
||||
imageSvc := &image.Service{Store: images, ImageDir: cfg.Images.Dir}
|
||||
|
||||
hub := events.NewHub()
|
||||
|
||||
runner := &orchestrator.Runner{
|
||||
Hosts: hosts,
|
||||
Ops: ops,
|
||||
Locks: locks,
|
||||
Hub: hub,
|
||||
Hosts: hosts,
|
||||
Ops: ops,
|
||||
Locks: locks,
|
||||
Hub: hub,
|
||||
Activity: activity,
|
||||
}
|
||||
|
||||
pxeSupervisor := pxe.NewSupervisor(pxe.SupervisorConfig{
|
||||
@@ -126,6 +128,7 @@ func main() {
|
||||
Ops: ops,
|
||||
Locks: locks,
|
||||
Images: images,
|
||||
Activity: activity,
|
||||
ImageSvc: imageSvc,
|
||||
Runner: runner,
|
||||
Orchestrator: hostOrch,
|
||||
|
||||
Reference in New Issue
Block a user