apiv1

package
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 22, 2025 License: PostgreSQL Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotImplemented             = newAPIError(errServerError, "this endpoint is not yet implemented")
	ErrAlreadyInitialized         = newAPIError(errClusterAlreadyInitialized, "this operation is invalid on an initialized cluster")
	ErrUninitialized              = newAPIError(errClusterNotInitialized, "this operation is invalid on an uninitialized cluster")
	ErrInvalidTaskID              = newAPIError(errInvalidInput, "the given task ID is invalid")
	ErrInvalidServerURL           = newAPIError(errInvalidInput, "the given server URL is invalid")
	ErrDatabaseNotModifiable      = newAPIError(errDatabaseNotModifiable, "the target database is not modifiable in its current state")
	ErrOperationAlreadyInProgress = newAPIError(errOperationAlreadyInProgress, "an operation is already in progress for the given entity")
	ErrDatabaseNotFound           = newAPIError(errNotFound, "no database found with the given ID")
	ErrTaskNotFound               = newAPIError(errNotFound, "no task found with the given ID")
	ErrInvalidJoinToken           = newAPIError(errInvalidJoinToken, "the given join token is invalid")
	ErrDatabaseAlreadyExists      = newAPIError(errDatabaseAlreadyExists, "a database already exists with the given ID")
	ErrHostNotFound               = newAPIError(errNotFound, "no host found with the given ID")
	ErrNoPrimaryInstance          = newAPIError(errNotFound, "no primary instance found for the given node")
	ErrOperationNotSupported      = newAPIError(errOperationNotSupported, "operation not supported by this control plane server")
)

Functions

func ErrHostAlreadyExistsWithID added in v0.6.0

func ErrHostAlreadyExistsWithID(hostID string) *api.APIError

ErrHostAlreadyExistsWithID returns an error indicating that a host with the given ID already exists.

func GetServerURL

func GetServerURL(cfg config.Config) url.URL

func IsInstanceAvailable

func IsInstanceAvailable(inst *database.Instance) bool

func IsNodeAvailable

func IsNodeAvailable(db *database.Database, nodeName string) (bool, error)

func Provide

func Provide(i *do.Injector)

Types

type PostInitHandlers

type PostInitHandlers struct {
	// contains filtered or unexported fields
}

func NewPostInitHandlers

func NewPostInitHandlers(
	cfg config.Config,
	logger zerolog.Logger,
	etcd etcd.Etcd,
	hostSvc *host.Service,
	dbSvc *database.Service,
	taskSvc *task.Service,
	workflowSvc *workflows.Service,
	clusterSvc *cluster.Service,
) *PostInitHandlers

func (*PostInitHandlers) BackupDatabaseNode

func (*PostInitHandlers) CancelDatabaseTask

func (s *PostInitHandlers) CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (*api.Task, error)

func (*PostInitHandlers) CreateDatabase

func (*PostInitHandlers) DeleteDatabase

func (*PostInitHandlers) FailoverDatabaseNode

func (*PostInitHandlers) GetCluster

func (s *PostInitHandlers) GetCluster(ctx context.Context) (*api.Cluster, error)

func (*PostInitHandlers) GetDatabase

func (s *PostInitHandlers) GetDatabase(ctx context.Context, req *api.GetDatabasePayload) (*api.Database, error)

func (*PostInitHandlers) GetDatabaseTask

func (s *PostInitHandlers) GetDatabaseTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)

func (*PostInitHandlers) GetDatabaseTaskLog

func (s *PostInitHandlers) GetDatabaseTaskLog(ctx context.Context, req *api.GetDatabaseTaskLogPayload) (*api.TaskLog, error)

func (*PostInitHandlers) GetHost

func (s *PostInitHandlers) GetHost(ctx context.Context, req *api.GetHostPayload) (*api.Host, error)

func (*PostInitHandlers) GetJoinOptions

func (*PostInitHandlers) GetJoinToken

func (s *PostInitHandlers) GetJoinToken(ctx context.Context) (*api.ClusterJoinToken, error)

func (*PostInitHandlers) GetVersion

func (s *PostInitHandlers) GetVersion(context.Context) (res *api.VersionInfo, err error)

func (*PostInitHandlers) InitCluster

func (*PostInitHandlers) JoinCluster

func (s *PostInitHandlers) JoinCluster(ctx context.Context, token *api.ClusterJoinToken) error

func (*PostInitHandlers) ListDatabaseTasks

func (*PostInitHandlers) ListDatabases

func (s *PostInitHandlers) ListDatabases(ctx context.Context) (*api.ListDatabasesResponse, error)

ListDatabases fetches all databases from the database service and converts them to API format.

func (*PostInitHandlers) ListHosts

func (*PostInitHandlers) RemoveHost

func (*PostInitHandlers) RestartInstance

func (*PostInitHandlers) RestoreDatabase

func (s *PostInitHandlers) RestoreDatabase(ctx context.Context, req *api.RestoreDatabasePayload) (res *api.RestoreDatabaseResponse, err error)

func (*PostInitHandlers) ServiceDescription

func (s *PostInitHandlers) ServiceDescription(ctx context.Context) (string, error)

func (*PostInitHandlers) StartInstance

func (*PostInitHandlers) StopInstance

func (*PostInitHandlers) SwitchoverDatabaseNode

func (*PostInitHandlers) UpdateDatabase

type PreInitHandlers

type PreInitHandlers struct {
	// contains filtered or unexported fields
}

func NewPreInitHandlers

func NewPreInitHandlers(cfg config.Config, etcdServer etcd.Etcd) *PreInitHandlers

func (*PreInitHandlers) BackupDatabaseNode

func (*PreInitHandlers) CancelDatabaseTask

func (s *PreInitHandlers) CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (*api.Task, error)

func (*PreInitHandlers) CreateDatabase

func (*PreInitHandlers) DeleteDatabase

func (*PreInitHandlers) FailoverDatabaseNode

func (*PreInitHandlers) GetClient

func (s *PreInitHandlers) GetClient() (res *http.Client, err error)

func (*PreInitHandlers) GetCluster

func (s *PreInitHandlers) GetCluster(ctx context.Context) (*api.Cluster, error)

func (*PreInitHandlers) GetDatabase

func (s *PreInitHandlers) GetDatabase(ctx context.Context, req *api.GetDatabasePayload) (*api.Database, error)

func (*PreInitHandlers) GetDatabaseTask

func (s *PreInitHandlers) GetDatabaseTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)

func (*PreInitHandlers) GetDatabaseTaskLog

func (s *PreInitHandlers) GetDatabaseTaskLog(ctx context.Context, req *api.GetDatabaseTaskLogPayload) (*api.TaskLog, error)

func (*PreInitHandlers) GetHost

func (s *PreInitHandlers) GetHost(ctx context.Context, req *api.GetHostPayload) (*api.Host, error)

func (*PreInitHandlers) GetJoinOptions

func (*PreInitHandlers) GetJoinToken

func (s *PreInitHandlers) GetJoinToken(ctx context.Context) (*api.ClusterJoinToken, error)

func (*PreInitHandlers) GetVersion

func (s *PreInitHandlers) GetVersion(context.Context) (res *api.VersionInfo, err error)

func (*PreInitHandlers) InitCluster

func (*PreInitHandlers) JoinCluster

func (s *PreInitHandlers) JoinCluster(ctx context.Context, token *api.ClusterJoinToken) error

func (*PreInitHandlers) ListDatabaseTasks

func (*PreInitHandlers) ListDatabases

func (s *PreInitHandlers) ListDatabases(ctx context.Context) (*api.ListDatabasesResponse, error)

func (*PreInitHandlers) ListHosts

func (s *PreInitHandlers) ListHosts(ctx context.Context) (*api.ListHostsResponse, error)

func (*PreInitHandlers) RemoveHost

func (*PreInitHandlers) RestartInstance

func (s *PreInitHandlers) RestartInstance(ctx context.Context, req *api.RestartInstancePayload) (res *api.RestartInstanceResponse, err error)

func (*PreInitHandlers) RestoreDatabase

func (s *PreInitHandlers) RestoreDatabase(ctx context.Context, req *api.RestoreDatabasePayload) (res *api.RestoreDatabaseResponse, err error)

func (*PreInitHandlers) ServiceDescription

func (s *PreInitHandlers) ServiceDescription(ctx context.Context) (string, error)

func (*PreInitHandlers) StartInstance

func (s *PreInitHandlers) StartInstance(ctx context.Context, req *api.StartInstancePayload) (res *api.StartInstanceResponse, err error)

func (*PreInitHandlers) StopInstance

func (s *PreInitHandlers) StopInstance(ctx context.Context, req *api.StopInstancePayload) (res *api.StopInstanceResponse, err error)

func (*PreInitHandlers) SwitchoverDatabaseNode

func (*PreInitHandlers) UpdateDatabase

type Service

type Service struct {
	// contains filtered or unexported fields
}

func NewService

func NewService(i *do.Injector) *Service

func (*Service) HandleInitializationError

func (s *Service) HandleInitializationError(err error)

HandleInitializationError takes an error that occurred during initialization and propagates it to the handlers so that it can be returned to clients that are waiting on a join or init cluster response.

func (*Service) Mount

func (s *Service) Mount(mux goahttp.Muxer)

func (*Service) UsePostInitHandlers

func (s *Service) UsePostInitHandlers() error

func (*Service) UsePreInitHandlers

func (s *Service) UsePreInitHandlers() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL