mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-05-03 07:59:31 -05:00
feat(api): add healthcheck routes (#191)
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
package metadata
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/labstack/echo/v4"
|
||||
|
||||
"github.com/hatchet-dev/hatchet/api/v1/server/oas/gen"
|
||||
)
|
||||
|
||||
func (u *MetadataService) LivenessGet(ctx echo.Context, request gen.LivenessGetRequestObject) (gen.LivenessGetResponseObject, error) {
|
||||
return gen.LivenessGet200Response{}, nil
|
||||
}
|
||||
|
||||
func (u *MetadataService) ReadinessGet(ctx echo.Context, request gen.ReadinessGetRequestObject) (gen.ReadinessGetResponseObject, error) {
|
||||
if !u.config.Repository.Health().IsHealthy() {
|
||||
return nil, fmt.Errorf("repository is not healthy")
|
||||
}
|
||||
|
||||
if !u.config.TaskQueue.IsReady() {
|
||||
return nil, fmt.Errorf("task queue is not healthy")
|
||||
}
|
||||
|
||||
return gen.ReadinessGet200Response{}, nil
|
||||
}
|
||||
@@ -815,6 +815,12 @@ type WorkflowRunCreateJSONRequestBody = TriggerWorkflowRunRequest
|
||||
|
||||
// ServerInterface represents all server handlers.
|
||||
type ServerInterface interface {
|
||||
// Get liveness
|
||||
// (GET /api/live)
|
||||
LivenessGet(ctx echo.Context) error
|
||||
// Get readiness
|
||||
// (GET /api/ready)
|
||||
ReadinessGet(ctx echo.Context) error
|
||||
// Revoke API Token
|
||||
// (POST /api/v1/api-tokens/{api-token})
|
||||
ApiTokenUpdateRevoke(ctx echo.Context, apiToken openapi_types.UUID) error
|
||||
@@ -963,6 +969,24 @@ type ServerInterfaceWrapper struct {
|
||||
Handler ServerInterface
|
||||
}
|
||||
|
||||
// LivenessGet converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) LivenessGet(ctx echo.Context) error {
|
||||
var err error
|
||||
|
||||
// Invoke the callback with all the unmarshaled arguments
|
||||
err = w.Handler.LivenessGet(ctx)
|
||||
return err
|
||||
}
|
||||
|
||||
// ReadinessGet converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) ReadinessGet(ctx echo.Context) error {
|
||||
var err error
|
||||
|
||||
// Invoke the callback with all the unmarshaled arguments
|
||||
err = w.Handler.ReadinessGet(ctx)
|
||||
return err
|
||||
}
|
||||
|
||||
// ApiTokenUpdateRevoke converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) ApiTokenUpdateRevoke(ctx echo.Context) error {
|
||||
var err error
|
||||
@@ -1947,6 +1971,8 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
||||
Handler: si,
|
||||
}
|
||||
|
||||
router.GET(baseURL+"/api/live", wrapper.LivenessGet)
|
||||
router.GET(baseURL+"/api/ready", wrapper.ReadinessGet)
|
||||
router.POST(baseURL+"/api/v1/api-tokens/:api-token", wrapper.ApiTokenUpdateRevoke)
|
||||
router.GET(baseURL+"/api/v1/events/:event/data", wrapper.EventDataGet)
|
||||
router.GET(baseURL+"/api/v1/github-app/installations", wrapper.GithubAppListInstallations)
|
||||
@@ -1997,6 +2023,52 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
||||
|
||||
}
|
||||
|
||||
type LivenessGetRequestObject struct {
|
||||
}
|
||||
|
||||
type LivenessGetResponseObject interface {
|
||||
VisitLivenessGetResponse(w http.ResponseWriter) error
|
||||
}
|
||||
|
||||
type LivenessGet200Response struct {
|
||||
}
|
||||
|
||||
func (response LivenessGet200Response) VisitLivenessGetResponse(w http.ResponseWriter) error {
|
||||
w.WriteHeader(200)
|
||||
return nil
|
||||
}
|
||||
|
||||
type LivenessGet500Response struct {
|
||||
}
|
||||
|
||||
func (response LivenessGet500Response) VisitLivenessGetResponse(w http.ResponseWriter) error {
|
||||
w.WriteHeader(500)
|
||||
return nil
|
||||
}
|
||||
|
||||
type ReadinessGetRequestObject struct {
|
||||
}
|
||||
|
||||
type ReadinessGetResponseObject interface {
|
||||
VisitReadinessGetResponse(w http.ResponseWriter) error
|
||||
}
|
||||
|
||||
type ReadinessGet200Response struct {
|
||||
}
|
||||
|
||||
func (response ReadinessGet200Response) VisitReadinessGetResponse(w http.ResponseWriter) error {
|
||||
w.WriteHeader(200)
|
||||
return nil
|
||||
}
|
||||
|
||||
type ReadinessGet500Response struct {
|
||||
}
|
||||
|
||||
func (response ReadinessGet500Response) VisitReadinessGetResponse(w http.ResponseWriter) error {
|
||||
w.WriteHeader(500)
|
||||
return nil
|
||||
}
|
||||
|
||||
type ApiTokenUpdateRevokeRequestObject struct {
|
||||
ApiToken openapi_types.UUID `json:"api-token"`
|
||||
}
|
||||
@@ -3704,6 +3776,10 @@ func (response WorkflowVersionGetDefinition404JSONResponse) VisitWorkflowVersion
|
||||
}
|
||||
|
||||
type StrictServerInterface interface {
|
||||
LivenessGet(ctx echo.Context, request LivenessGetRequestObject) (LivenessGetResponseObject, error)
|
||||
|
||||
ReadinessGet(ctx echo.Context, request ReadinessGetRequestObject) (ReadinessGetResponseObject, error)
|
||||
|
||||
ApiTokenUpdateRevoke(ctx echo.Context, request ApiTokenUpdateRevokeRequestObject) (ApiTokenUpdateRevokeResponseObject, error)
|
||||
|
||||
EventDataGet(ctx echo.Context, request EventDataGetRequestObject) (EventDataGetResponseObject, error)
|
||||
@@ -3810,6 +3886,52 @@ type strictHandler struct {
|
||||
middlewares []StrictMiddlewareFunc
|
||||
}
|
||||
|
||||
// LivenessGet operation middleware
|
||||
func (sh *strictHandler) LivenessGet(ctx echo.Context) error {
|
||||
var request LivenessGetRequestObject
|
||||
|
||||
handler := func(ctx echo.Context, request interface{}) (interface{}, error) {
|
||||
return sh.ssi.LivenessGet(ctx, request.(LivenessGetRequestObject))
|
||||
}
|
||||
for _, middleware := range sh.middlewares {
|
||||
handler = middleware(handler, "LivenessGet")
|
||||
}
|
||||
|
||||
response, err := handler(ctx, request)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if validResponse, ok := response.(LivenessGetResponseObject); ok {
|
||||
return validResponse.VisitLivenessGetResponse(ctx.Response())
|
||||
} else if response != nil {
|
||||
return fmt.Errorf("Unexpected response type: %T", response)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// ReadinessGet operation middleware
|
||||
func (sh *strictHandler) ReadinessGet(ctx echo.Context) error {
|
||||
var request ReadinessGetRequestObject
|
||||
|
||||
handler := func(ctx echo.Context, request interface{}) (interface{}, error) {
|
||||
return sh.ssi.ReadinessGet(ctx, request.(ReadinessGetRequestObject))
|
||||
}
|
||||
for _, middleware := range sh.middlewares {
|
||||
handler = middleware(handler, "ReadinessGet")
|
||||
}
|
||||
|
||||
response, err := handler(ctx, request)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if validResponse, ok := response.(ReadinessGetResponseObject); ok {
|
||||
return validResponse.VisitReadinessGetResponse(ctx.Response())
|
||||
} else if response != nil {
|
||||
return fmt.Errorf("Unexpected response type: %T", response)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// ApiTokenUpdateRevoke operation middleware
|
||||
func (sh *strictHandler) ApiTokenUpdateRevoke(ctx echo.Context, apiToken openapi_types.UUID) error {
|
||||
var request ApiTokenUpdateRevokeRequestObject
|
||||
@@ -5046,109 +5168,111 @@ func (sh *strictHandler) WorkflowVersionGetDefinition(ctx echo.Context, workflow
|
||||
// Base64 encoded, gzipped, json marshaled Swagger object
|
||||
var swaggerSpec = []string{
|
||||
|
||||
"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",
|
||||
"rT9InrW+yEkSnofh4mHx/wEAAP//BkTHeG/sAAA=",
|
||||
"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",
|
||||
"wFVa7gAA",
|
||||
}
|
||||
|
||||
// GetSwagger returns the content of the embedded swagger specification file
|
||||
|
||||
Reference in New Issue
Block a user