From eaac8c88005692cde2e3416f8364e7144fd65fdd Mon Sep 17 00:00:00 2001 From: Matthew Rich Date: Sun, 24 Aug 2025 23:54:04 +0000 Subject: [PATCH] add state transitions for process restart --- internal/resource/resource.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/internal/resource/resource.go b/internal/resource/resource.go index 653f0e2..a413545 100644 --- a/internal/resource/resource.go +++ b/internal/resource/resource.go @@ -65,6 +65,11 @@ func ResourceMachine(sub machine.Subscriber) machine.Stater { return nil } + stater.AddTransition("read-failed", machine.States("start_read"), "inconsistent") + if e := stater.AddSubscription("read-failed", sub); e != nil { + return nil + } + stater.AddTransition("update-failed", machine.States("start_update"), "inconsistent") if e := stater.AddSubscription("update-failed", sub); e != nil { return nil @@ -147,5 +152,20 @@ func ProcessMachine(sub machine.Subscriber) machine.Stater { if e := stater.AddSubscription("deleted", sub); e != nil { return nil } + + stater.AddTransition("restart", machine.States("*"), "restarting") + if e := stater.AddSubscription("restart", sub); e != nil { + return nil + } + stater.AddTransition("restarted", machine.States("restarting"), "running") + if e := stater.AddSubscription("restarted", sub); e != nil { + return nil + } + + stater.AddTransition("restart-failed", machine.States("restarting"), "inconsistent") + if e := stater.AddSubscription("restart-failed", sub); e != nil { + return nil + } + return stater }