diff --git a/api.go b/api.go index d5e1f15..1c034a6 100644 --- a/api.go +++ b/api.go @@ -14,10 +14,17 @@ func ApiRun(c *gin.Context) { } func ApiRunApp(c *gin.Context) { - if _, ok := cfg.apps[c.Param("app")]; ok { - c.JSON(http.StatusOK, gin.H{ - "message": "done", - }) + if app, ok := cfg.apps[c.Param("app")]; ok { + if err := app.RunFull(); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{ + "message": "error", + "error": err, + }) + } else { + c.JSON(http.StatusOK, gin.H{ + "message": "done", + }) + } } c.JSON(http.StatusInternalServerError, gin.H{ "message": "error", diff --git a/app.go b/app.go index 66dc005..53cfd9b 100644 --- a/app.go +++ b/app.go @@ -541,3 +541,19 @@ func (a *App) Boxes() []*Box { return bx } + +func (a *App) RunFull() error { + log.WithFields(log.Fields{"app": a.name}).Debugf("starting") + defer log.WithFields(log.Fields{"app": a.name}).Debugf("done") + + boxes := a.Boxes() + + for _, box := range boxes { + if err := box.Open(); err != nil { + log.WithFields(log.Fields{"app": a.name, "call": "box.Open", "box": box.name, "error": err}).Errorf("") + return err + } + defer box.Close() + } + return nil +} diff --git a/version.go b/version.go index dc30ede..7de8605 100644 --- a/version.go +++ b/version.go @@ -1,7 +1,7 @@ // Code generated by version.sh (@generated) DO NOT EDIT. package main -var githash = "fd02cfd" +var githash = "2aca8b1" var branch = "master" -var buildstamp = "2025-10-07_18:55:46" -var commits = "110" -var version = "fd02cfd-b110 - 2025-10-07_18:55:46" +var buildstamp = "2025-10-19_11:33:05" +var commits = "112" +var version = "2aca8b1-b112 - 2025-10-19_11:33:05"