An action on a name that is no app answers 404, not 'settings cannot be saved' (found walking capability map B2 on 9202)
gates / gates (push) Successful in 27s

Test TestAnActionOnANameThatIsNoAppIsA404 red first. Commit only.
This commit is contained in:
admin committed 2026-10-28 23:56:36 +01:00
1 parent eed23e7594
commit 20c5877056
4 files changed
+44 -1

No files matched your search

+6
View File
@@ -771,6 +771,12 @@ func (r *Router) actionStack(w http.ResponseWriter, req *http.Request, action, n
// above, so nothing is recorded for an action that was never going to happen.
if desired, ok := desiredStateForAction(action); ok {
if derr := r.stackMgr.SetDesiredState(name, desired); derr != nil {
if errors.Is(derr, stacks.ErrStackNotFound) {
// no app by that name on this box (e.g. the bootstrap-managed controller): a 404, not a save failure
r.logger.Printf("[WARN] [api] %s for %s refused: no such app", action, name)
writeJSON(w, stackOpStatusFor(derr), apiResponse{OK: false, Error: r.errText(req, derr)})
return
}
r.logger.Printf("[ERROR] [api] %s for %s refused: could not record desired state: %v", action, name, derr)
writeJSON(w, http.StatusInternalServerError, apiResponse{
OK: false,