Documentation
¶
Index ¶
- Variables
- func ErrHostAlreadyExistsWithID(hostID string) *api.APIError
- func GetServerURL(cfg config.Config) url.URL
- func IsInstanceAvailable(inst *database.Instance) bool
- func IsNodeAvailable(db *database.Database, nodeName string) (bool, error)
- func Provide(i *do.Injector)
- type PostInitHandlers
- func (s *PostInitHandlers) BackupDatabaseNode(ctx context.Context, req *api.BackupDatabaseNodePayload) (*api.BackupDatabaseNodeResponse, error)
- func (s *PostInitHandlers) CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (*api.Task, error)
- func (s *PostInitHandlers) CreateDatabase(ctx context.Context, req *api.CreateDatabaseRequest) (*api.CreateDatabaseResponse, error)
- func (s *PostInitHandlers) DeleteDatabase(ctx context.Context, req *api.DeleteDatabasePayload) (*api.DeleteDatabaseResponse, error)
- func (s *PostInitHandlers) FailoverDatabaseNode(ctx context.Context, req *api.FailoverDatabaseNodeRequest) (*api.FailoverDatabaseNodeResponse, error)
- func (s *PostInitHandlers) GetCluster(ctx context.Context) (*api.Cluster, error)
- func (s *PostInitHandlers) GetDatabase(ctx context.Context, req *api.GetDatabasePayload) (*api.Database, error)
- func (s *PostInitHandlers) GetDatabaseTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)
- func (s *PostInitHandlers) GetDatabaseTaskLog(ctx context.Context, req *api.GetDatabaseTaskLogPayload) (*api.TaskLog, error)
- func (s *PostInitHandlers) GetHost(ctx context.Context, req *api.GetHostPayload) (*api.Host, error)
- func (s *PostInitHandlers) GetJoinOptions(ctx context.Context, req *api.ClusterJoinRequest) (*api.ClusterJoinOptions, error)
- func (s *PostInitHandlers) GetJoinToken(ctx context.Context) (*api.ClusterJoinToken, error)
- func (s *PostInitHandlers) GetVersion(context.Context) (res *api.VersionInfo, err error)
- func (s *PostInitHandlers) InitCluster(ctx context.Context, req *api.InitClusterRequest) (*api.ClusterJoinToken, error)
- func (s *PostInitHandlers) JoinCluster(ctx context.Context, token *api.ClusterJoinToken) error
- func (s *PostInitHandlers) ListDatabaseTasks(ctx context.Context, req *api.ListDatabaseTasksPayload) (*api.ListDatabaseTasksResponse, error)
- func (s *PostInitHandlers) ListDatabases(ctx context.Context) (*api.ListDatabasesResponse, error)
- func (s *PostInitHandlers) ListHosts(ctx context.Context) (*api.ListHostsResponse, error)
- func (s *PostInitHandlers) RemoveHost(ctx context.Context, req *api.RemoveHostPayload) (*api.RemoveHostResponse, error)
- func (s *PostInitHandlers) RestartInstance(ctx context.Context, req *api.RestartInstancePayload) (*api.RestartInstanceResponse, error)
- func (s *PostInitHandlers) RestoreDatabase(ctx context.Context, req *api.RestoreDatabasePayload) (res *api.RestoreDatabaseResponse, err error)
- func (s *PostInitHandlers) ServiceDescription(ctx context.Context) (string, error)
- func (s *PostInitHandlers) StartInstance(ctx context.Context, req *api.StartInstancePayload) (*api.StartInstanceResponse, error)
- func (s *PostInitHandlers) StopInstance(ctx context.Context, req *api.StopInstancePayload) (*api.StopInstanceResponse, error)
- func (s *PostInitHandlers) SwitchoverDatabaseNode(ctx context.Context, req *api.SwitchoverDatabaseNodePayload) (*api.SwitchoverDatabaseNodeResponse, error)
- func (s *PostInitHandlers) UpdateDatabase(ctx context.Context, req *api.UpdateDatabasePayload) (*api.UpdateDatabaseResponse, error)
- type PreInitHandlers
- func (s *PreInitHandlers) BackupDatabaseNode(ctx context.Context, req *api.BackupDatabaseNodePayload) (*api.BackupDatabaseNodeResponse, error)
- func (s *PreInitHandlers) CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (*api.Task, error)
- func (s *PreInitHandlers) CreateDatabase(ctx context.Context, req *api.CreateDatabaseRequest) (*api.CreateDatabaseResponse, error)
- func (s *PreInitHandlers) DeleteDatabase(ctx context.Context, req *api.DeleteDatabasePayload) (*api.DeleteDatabaseResponse, error)
- func (s *PreInitHandlers) FailoverDatabaseNode(ctx context.Context, req *api.FailoverDatabaseNodeRequest) (*api.FailoverDatabaseNodeResponse, error)
- func (s *PreInitHandlers) GetClient() (res *http.Client, err error)
- func (s *PreInitHandlers) GetCluster(ctx context.Context) (*api.Cluster, error)
- func (s *PreInitHandlers) GetDatabase(ctx context.Context, req *api.GetDatabasePayload) (*api.Database, error)
- func (s *PreInitHandlers) GetDatabaseTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)
- func (s *PreInitHandlers) GetDatabaseTaskLog(ctx context.Context, req *api.GetDatabaseTaskLogPayload) (*api.TaskLog, error)
- func (s *PreInitHandlers) GetHost(ctx context.Context, req *api.GetHostPayload) (*api.Host, error)
- func (s *PreInitHandlers) GetJoinOptions(ctx context.Context, req *api.ClusterJoinRequest) (*api.ClusterJoinOptions, error)
- func (s *PreInitHandlers) GetJoinToken(ctx context.Context) (*api.ClusterJoinToken, error)
- func (s *PreInitHandlers) GetVersion(context.Context) (res *api.VersionInfo, err error)
- func (s *PreInitHandlers) InitCluster(ctx context.Context, req *api.InitClusterRequest) (*api.ClusterJoinToken, error)
- func (s *PreInitHandlers) JoinCluster(ctx context.Context, token *api.ClusterJoinToken) error
- func (s *PreInitHandlers) ListDatabaseTasks(ctx context.Context, req *api.ListDatabaseTasksPayload) (*api.ListDatabaseTasksResponse, error)
- func (s *PreInitHandlers) ListDatabases(ctx context.Context) (*api.ListDatabasesResponse, error)
- func (s *PreInitHandlers) ListHosts(ctx context.Context) (*api.ListHostsResponse, error)
- func (s *PreInitHandlers) RemoveHost(ctx context.Context, req *api.RemoveHostPayload) (*api.RemoveHostResponse, error)
- func (s *PreInitHandlers) RestartInstance(ctx context.Context, req *api.RestartInstancePayload) (res *api.RestartInstanceResponse, err error)
- func (s *PreInitHandlers) RestoreDatabase(ctx context.Context, req *api.RestoreDatabasePayload) (res *api.RestoreDatabaseResponse, err error)
- func (s *PreInitHandlers) ServiceDescription(ctx context.Context) (string, error)
- func (s *PreInitHandlers) StartInstance(ctx context.Context, req *api.StartInstancePayload) (res *api.StartInstanceResponse, err error)
- func (s *PreInitHandlers) StopInstance(ctx context.Context, req *api.StopInstancePayload) (res *api.StopInstanceResponse, err error)
- func (s *PreInitHandlers) SwitchoverDatabaseNode(ctx context.Context, req *api.SwitchoverDatabaseNodePayload) (*api.SwitchoverDatabaseNodeResponse, error)
- func (s *PreInitHandlers) UpdateDatabase(ctx context.Context, req *api.UpdateDatabasePayload) (*api.UpdateDatabaseResponse, error)
- type Service
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
ErrHostAlreadyExistsWithID returns an error indicating that a host with the given ID already exists.
func IsInstanceAvailable ¶
Types ¶
type PostInitHandlers ¶
type PostInitHandlers struct {
// contains filtered or unexported fields
}
func NewPostInitHandlers ¶
func (*PostInitHandlers) BackupDatabaseNode ¶
func (s *PostInitHandlers) BackupDatabaseNode(ctx context.Context, req *api.BackupDatabaseNodePayload) (*api.BackupDatabaseNodeResponse, error)
func (*PostInitHandlers) CancelDatabaseTask ¶
func (s *PostInitHandlers) CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (*api.Task, error)
func (*PostInitHandlers) CreateDatabase ¶
func (s *PostInitHandlers) CreateDatabase(ctx context.Context, req *api.CreateDatabaseRequest) (*api.CreateDatabaseResponse, error)
func (*PostInitHandlers) DeleteDatabase ¶
func (s *PostInitHandlers) DeleteDatabase(ctx context.Context, req *api.DeleteDatabasePayload) (*api.DeleteDatabaseResponse, error)
func (*PostInitHandlers) FailoverDatabaseNode ¶
func (s *PostInitHandlers) FailoverDatabaseNode(ctx context.Context, req *api.FailoverDatabaseNodeRequest) (*api.FailoverDatabaseNodeResponse, error)
func (*PostInitHandlers) GetCluster ¶
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 (s *PostInitHandlers) GetJoinOptions(ctx context.Context, req *api.ClusterJoinRequest) (*api.ClusterJoinOptions, error)
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 (s *PostInitHandlers) InitCluster(ctx context.Context, req *api.InitClusterRequest) (*api.ClusterJoinToken, error)
func (*PostInitHandlers) JoinCluster ¶
func (s *PostInitHandlers) JoinCluster(ctx context.Context, token *api.ClusterJoinToken) error
func (*PostInitHandlers) ListDatabaseTasks ¶
func (s *PostInitHandlers) ListDatabaseTasks(ctx context.Context, req *api.ListDatabaseTasksPayload) (*api.ListDatabaseTasksResponse, error)
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 (s *PostInitHandlers) ListHosts(ctx context.Context) (*api.ListHostsResponse, error)
func (*PostInitHandlers) RemoveHost ¶
func (s *PostInitHandlers) RemoveHost(ctx context.Context, req *api.RemoveHostPayload) (*api.RemoveHostResponse, error)
func (*PostInitHandlers) RestartInstance ¶
func (s *PostInitHandlers) RestartInstance(ctx context.Context, req *api.RestartInstancePayload) (*api.RestartInstanceResponse, error)
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 (s *PostInitHandlers) StartInstance(ctx context.Context, req *api.StartInstancePayload) (*api.StartInstanceResponse, error)
func (*PostInitHandlers) StopInstance ¶
func (s *PostInitHandlers) StopInstance(ctx context.Context, req *api.StopInstancePayload) (*api.StopInstanceResponse, error)
func (*PostInitHandlers) SwitchoverDatabaseNode ¶
func (s *PostInitHandlers) SwitchoverDatabaseNode(ctx context.Context, req *api.SwitchoverDatabaseNodePayload) (*api.SwitchoverDatabaseNodeResponse, error)
func (*PostInitHandlers) UpdateDatabase ¶
func (s *PostInitHandlers) UpdateDatabase(ctx context.Context, req *api.UpdateDatabasePayload) (*api.UpdateDatabaseResponse, error)
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 (s *PreInitHandlers) BackupDatabaseNode(ctx context.Context, req *api.BackupDatabaseNodePayload) (*api.BackupDatabaseNodeResponse, error)
func (*PreInitHandlers) CancelDatabaseTask ¶
func (s *PreInitHandlers) CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (*api.Task, error)
func (*PreInitHandlers) CreateDatabase ¶
func (s *PreInitHandlers) CreateDatabase(ctx context.Context, req *api.CreateDatabaseRequest) (*api.CreateDatabaseResponse, error)
func (*PreInitHandlers) DeleteDatabase ¶
func (s *PreInitHandlers) DeleteDatabase(ctx context.Context, req *api.DeleteDatabasePayload) (*api.DeleteDatabaseResponse, error)
func (*PreInitHandlers) FailoverDatabaseNode ¶
func (s *PreInitHandlers) FailoverDatabaseNode(ctx context.Context, req *api.FailoverDatabaseNodeRequest) (*api.FailoverDatabaseNodeResponse, error)
func (*PreInitHandlers) GetClient ¶
func (s *PreInitHandlers) GetClient() (res *http.Client, err error)
func (*PreInitHandlers) GetCluster ¶
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 (s *PreInitHandlers) GetJoinOptions(ctx context.Context, req *api.ClusterJoinRequest) (*api.ClusterJoinOptions, error)
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 (s *PreInitHandlers) InitCluster(ctx context.Context, req *api.InitClusterRequest) (*api.ClusterJoinToken, error)
func (*PreInitHandlers) JoinCluster ¶
func (s *PreInitHandlers) JoinCluster(ctx context.Context, token *api.ClusterJoinToken) error
func (*PreInitHandlers) ListDatabaseTasks ¶
func (s *PreInitHandlers) ListDatabaseTasks(ctx context.Context, req *api.ListDatabaseTasksPayload) (*api.ListDatabaseTasksResponse, error)
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 (s *PreInitHandlers) RemoveHost(ctx context.Context, req *api.RemoveHostPayload) (*api.RemoveHostResponse, error)
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 (s *PreInitHandlers) SwitchoverDatabaseNode(ctx context.Context, req *api.SwitchoverDatabaseNodePayload) (*api.SwitchoverDatabaseNodeResponse, error)
func (*PreInitHandlers) UpdateDatabase ¶
func (s *PreInitHandlers) UpdateDatabase(ctx context.Context, req *api.UpdateDatabasePayload) (*api.UpdateDatabaseResponse, error)
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func (*Service) HandleInitializationError ¶
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) UsePostInitHandlers ¶
func (*Service) UsePreInitHandlers ¶
Click to show internal directories.
Click to hide internal directories.