added status handler, so readyness+liveness-probes in k82 get some

This commit is contained in:
2023-09-22 13:31:38 +02:00
parent fcfa4e077a
commit fc0b2dfa8d
2 changed files with 31 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ package api
import (
"errors"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/compress"
"github.com/gofiber/fiber/v2/middleware/cors"
@@ -130,6 +131,9 @@ func Runserver(conf *cfg.Config, args []string) error {
return FormPage(c, conf, db, shallExpire)
})
router.Get("/status", func(c *fiber.Ctx) error {
return Status(c, conf)
})
}
// setup cleaner
@@ -196,8 +200,8 @@ func SetupServer(conf *cfg.Config) *fiber.App {
}
/*
Wrapper to respond with proper json status, message and code,
shall be prepared and called by the handlers directly.
Wrapper to respond with proper json status, message and code,
shall be prepared and called by the handlers directly.
*/
func JsonStatus(c *fiber.Ctx, code int, msg string) error {
success := true
@@ -214,7 +218,7 @@ func JsonStatus(c *fiber.Ctx, code int, msg string) error {
}
/*
Used for non json-aware handlers, called by server
Used for non json-aware handlers, called by server
*/
func SendResponse(c *fiber.Ctx, msg string, err error) error {
if err != nil {

24
api/status_handlers.go Normal file
View File

@@ -0,0 +1,24 @@
/*
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package api
import (
"github.com/gofiber/fiber/v2"
"github.com/tlinden/ephemerup/cfg"
"github.com/tlinden/ephemerup/common"
)
func Status(c *fiber.Ctx, cfg *cfg.Config) error {
res := &common.Response{}
res.Success = true
res.Code = fiber.StatusOK
res.Message = "up and running"
return c.Status(fiber.StatusOK).JSON(res)
}