Compare commits

..

2 Commits

Author SHA1 Message Date
eaac8c8800 add state transitions for process restart
Some checks failed
Lint / golangci-lint (push) Failing after 10m0s
Declarative Tests / test (push) Failing after 21s
2025-08-24 23:54:04 +00:00
9164150c06 clean up command schema format 2025-08-24 23:53:24 +00:00
2 changed files with 24 additions and 4 deletions

View File

@ -65,6 +65,11 @@ func ResourceMachine(sub machine.Subscriber) machine.Stater {
return nil 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") stater.AddTransition("update-failed", machine.States("start_update"), "inconsistent")
if e := stater.AddSubscription("update-failed", sub); e != nil { if e := stater.AddSubscription("update-failed", sub); e != nil {
return nil return nil
@ -147,5 +152,20 @@ func ProcessMachine(sub machine.Subscriber) machine.Stater {
if e := stater.AddSubscription("deleted", sub); e != nil { if e := stater.AddSubscription("deleted", sub); e != nil {
return 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 return stater
} }

View File

@ -6,23 +6,23 @@
"properties": { "properties": {
"path": { "path": {
"type": "string", "type": "string",
"description": "command path", "description": "command path",
"minLength": 1 "minLength": 1
}, },
"args": { "args": {
"type": "array", "type": "array",
"description": "list of command args", "description": "list of command args",
"items": { "items": {
"type": "string" "type": "string"
} }
}, },
"split": { "split": {
"type": "boolean", "type": "boolean",
"description": "split command line args by space" "description": "split command line args by space"
}, },
"failonerror": { "failonerror": {
"type": "boolean", "type": "boolean",
"description": "Generate an error if the command fails", "description": "Generate an error if the command fails",
"items": { "items": {
"type": "string" "type": "string"
} }