Documentation
¶
Index ¶
Constants ¶
View Source
const ( PathPing = "/" PathSummary = "/summary" PathChildParamName = "name" PathChild = "/child" PathOneChild = PathChild + "/{" + PathChildParamName + "}" PathStartChild = PathOneChild + "/start" PathStopChild = PathOneChild + "/stop" PathTerminate = "/terminate" )
View Source
const ( // AnnotationGroup is a key to use in [Child.Annotations] to mark children in // logical groups. For example, infrastructure that shouldn't be stopped by // default can be put in a separate group. AnnotationGroup = "group" )
Variables ¶
This section is empty.
Functions ¶
func ListenAddr ¶
Types ¶
type API ¶
type API interface {
Ping(ctx context.Context) error
Summary(ctx context.Context) ([]ChildSummary, error)
Child(ctx context.Context, name string) (*ChildWithStatus, error)
PutChild(ctx context.Context, child Child) (*ChildWithStatus, error)
StartChild(ctx context.Context, name string) (*ChildWithStatus, error)
StopChild(ctx context.Context, name string) (*ChildWithStatus, error)
DeleteChild(ctx context.Context, name string) (*ChildWithStatus, error)
Terminate(ctx context.Context) error
}
type ChildState ¶
type ChildState string
const ( ChildStopped ChildState = "stopped" ChildInitRunning ChildState = "init-running" ChildInitError ChildState = "init-error" ChildRunning ChildState = "running" ChildStopping ChildState = "stopping" ChildDone ChildState = "done" ChildError ChildState = "error" )
type ChildStatus ¶
type ChildStatus struct {
State ChildState `json:"state"`
Init []ExecStatus `json:"init"`
Main ExecStatus `json:"main"`
Health HealthStatus `json:"health"`
}
type ChildSummary ¶
type ChildWithStatus ¶
type ChildWithStatus struct {
Child
Status ChildStatus `json:"status"`
}
type ExecStatus ¶
type HealthCheck ¶
type HealthCheck struct {
Http *HttpHealthCheck `json:"http,omitempty" validate:"required"`
TimeoutSeconds int `json:"timeout" validate:"required,gt=0"`
}
type HealthStatus ¶
Click to show internal directories.
Click to hide internal directories.