Documentation
¶
Overview ¶
Package api implements the deeplo admin API served over a Unix socket. All endpoints return JSON. File-system permissions on the socket are the only access control mechanism; no authentication layer is added.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
SocketPath string
StartedAt time.Time
Version string
GetConfig func() *config.Config
Bootstrap *bootstrap.Config
Store *state.FileStore
RunsDir string
OnReload func(ctx context.Context) error
OnRefresh func(ctx context.Context) []RefreshHost
OnProbe func(ctx context.Context) []ProbeHost
OnDeploy func(ctx context.Context, project, host string) ([]string, error)
Logger *slog.Logger
}
type DeployResponse ¶
type DeployResponse struct {
Targets []string `json:"targets"`
}
type DeploymentsResponse ¶
type DeploymentsResponse struct {
Deployments []*state.Deployment `json:"deployments"`
}
type HealthResponse ¶
type ProbeResponse ¶
type ProbeResponse struct {
Hosts []ProbeHost `json:"hosts"`
}
type RefreshHost ¶
type RefreshHost struct {
Host string `json:"host"`
Error string `json:"error,omitempty"`
Projects []RefreshProject `json:"projects,omitempty"`
}
type RefreshProject ¶
type RefreshProject struct {
Project string `json:"project"`
Error string `json:"error,omitempty"`
Services []RefreshService `json:"services"`
}
type RefreshResponse ¶
type RefreshResponse struct {
Hosts []RefreshHost `json:"hosts"`
}
type RefreshService ¶
type ReloadResponse ¶
type RunsResponse ¶
type RunsResponse struct {
Runs []*state.Deployment `json:"runs"`
}
Click to show internal directories.
Click to hide internal directories.