client

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2025 License: PostgreSQL Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BackupTypeFull = "full"
	BackupTypeDiff = "diff"
	BackupTypeIncr = "incr"
)
View Source
const (
	ClusterStateAvailable = "available"
	ClusterStateError     = "error"
)
View Source
const (
	DatabaseStateCreating  = "creating"
	DatabaseStateModifying = "modifying"
	DatabaseStateAvailable = "available"
	DatabaseStateDeleting  = "deleting"
	DatabaseStateDegraded  = "degraded"
	DatabaseStateUnknown   = "unknown"
	DatabaseStateFailed    = "failed"
)
View Source
const (
	HostStateHealthy     = "healthy"
	HostStateUnreachable = "unreachable"
	HostStateDegraded    = "degraded"
	HostStateUnknown     = "unknown"
)
View Source
const (
	InstanceStateCreating  = "creating"
	InstanceStateModifying = "modifying"
	InstanceStateBackingUp = "backing_up"
	InstanceStateAvailable = "available"
	InstanceStateDegraded  = "degraded"
	InstanceStateFailed    = "failed"
	InstanceStateStopped   = "stopped"
	InstanceStateUnknown   = "unknown"
)
View Source
const (
	PatroniStateStopping                     = "stopping"
	PatroniStateStopped                      = "stopped"
	PatroniStateStopFailed                   = "stop failed"
	PatroniStateCrashed                      = "crashed"
	PatroniStateRunning                      = "running"
	PatroniStateStarting                     = "starting"
	PatroniStateStartFailed                  = "start failed"
	PatroniStateRestarting                   = "restarting"
	PatroniStateRestartFailed                = "restart failed"
	PatroniStateInitializingNewCluster       = "initializing new cluster"
	PatroniStateInitDBFailed                 = "initdb failed"
	PatroniStateRunningCustomBootstrapScript = "running custom bootstrap script"
	PatroniStateCustomBootstrapFailed        = "custom bootstrap failed"
	PatroniStateCreatingReplica              = "creating replica"
	PatroniStateUnknown                      = "unknown"
)
View Source
const (
	RepositoryTypeS3    = "s3"
	RepositoryTypeGCS   = "gcs"
	RepositoryTypeAzure = "azure"
	RepositoryTypePosix = "posix"
	RepositoryTypeCIFS  = "cifs"
)
View Source
const (
	RetentionTypeTime  = "time"
	RetentionTypeCount = "count"
)
View Source
const (
	RoleReplica = "replica"
	RolePrimary = "primary"
)
View Source
const (
	TaskSortOrderAsc  = "asc"
	TaskSortOrderDesc = "desc"
)
View Source
const (
	TaskStatusPending   = "pending"
	TaskStatusRunning   = "running"
	TaskStatusCompleted = "completed"
	TaskStatusFailed    = "failed"
	TaskStatusUnknown   = "unknown"
	TaskStatusCanceling = "canceling"
	TaskStatusCanceled  = "canceled"
)

Variables

View Source
var (
	ErrClusterAlreadyInitialized  = errors.New(errorNameClusterAlreadyInitialized)
	ErrClusterNotInitialized      = errors.New(errorNameClusterNotInitialized)
	ErrDatabaseAlreadyExists      = errors.New(errorNameDatabaseAlreadyExists)
	ErrDatabaseNotModifiable      = errors.New(errorNameDatabaseNotModifiable)
	ErrInvalidInput               = errors.New(errorNameInvalidInput)
	ErrInvalidJoinToken           = errors.New(errorNameInvalidJoinToken)
	ErrNotFound                   = errors.New(errorNameNotFound)
	ErrOperationAlreadyInProgress = errors.New(errorNameOperationAlreadyInProgress)
	ErrOperationNotSupported      = errors.New(errorNameOperationNotSupported)
	ErrRestartFailed              = errors.New(errorNameRestartFailed)
	ErrServerError                = errors.New(errorNameServerError)
)
View Source
var ErrHostNotFound = errors.New("host not found")
View Source
var ErrInvalidServerConfig = errors.New("server configuration is empty")
View Source
var ErrNoHealthyServers = errors.New("no healthy servers found")
View Source
var ErrNoServers = errors.New("no servers provided")

Functions

This section is empty.

Types

type Client

type Client interface {
	InitCluster(ctx context.Context, req *api.InitClusterRequest) (*api.ClusterJoinToken, error)
	JoinCluster(ctx context.Context, req *api.ClusterJoinToken) error
	GetJoinToken(ctx context.Context) (*api.ClusterJoinToken, error)
	GetCluster(ctx context.Context) (*api.Cluster, error)
	ListHosts(ctx context.Context) (*api.ListHostsResponse, error)
	GetHost(ctx context.Context, req *api.GetHostPayload) (*api.Host, error)
	RemoveHost(ctx context.Context, req *api.RemoveHostPayload) error
	ListDatabases(ctx context.Context) (*api.ListDatabasesResponse, error)
	CreateDatabase(ctx context.Context, req *api.CreateDatabaseRequest) (*api.CreateDatabaseResponse, error)
	GetDatabase(ctx context.Context, req *api.GetDatabasePayload) (*api.Database, error)
	UpdateDatabase(ctx context.Context, req *api.UpdateDatabasePayload) (*api.UpdateDatabaseResponse, error)
	DeleteDatabase(ctx context.Context, req *api.DeleteDatabasePayload) (*api.DeleteDatabaseResponse, error)
	BackupDatabaseNode(ctx context.Context, req *api.BackupDatabaseNodePayload) (*api.BackupDatabaseNodeResponse, error)
	ListDatabaseTasks(ctx context.Context, req *api.ListDatabaseTasksPayload) (*api.ListDatabaseTasksResponse, error)
	GetDatabaseTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)
	GetDatabaseTaskLog(ctx context.Context, req *api.GetDatabaseTaskLogPayload) (*api.TaskLog, error)
	RestoreDatabase(ctx context.Context, req *api.RestoreDatabasePayload) (*api.RestoreDatabaseResponse, error)
	GetVersion(ctx context.Context) (*api.VersionInfo, error)
	RestartInstance(ctx context.Context, req *api.RestartInstancePayload) (*api.RestartInstanceResponse, error)
	CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (res *api.Task, err error)
	SwitchoverDatabaseNode(ctx context.Context, req *api.SwitchoverDatabaseNodePayload) (*api.SwitchoverDatabaseNodeResponse, error)
	FailoverDatabaseNode(ctx context.Context, req *api.FailoverDatabaseNodeRequest) (*api.FailoverDatabaseNodeResponse, error)

	WaitForTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)
	FollowTask(ctx context.Context, req *api.GetDatabaseTaskLogPayload, handler func(e *api.TaskLogEntry)) error
}

type HTTPServerConfig

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

HTTPServerConfig configures a connection to a Control Plane server via HTTP.

type MQTTServerConfig

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

MQTTServerConfig configures a connection to a Control Plane server via MQTT.

type MultiServerClient

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

func NewMultiServerClient

func NewMultiServerClient(servers ...ServerConfig) (*MultiServerClient, error)

func (*MultiServerClient) BackupDatabaseNode

func (*MultiServerClient) CancelDatabaseTask

func (c *MultiServerClient) CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (res *api.Task, err error)

func (*MultiServerClient) CreateDatabase

func (c *MultiServerClient) CreateDatabase(ctx context.Context, req *api.CreateDatabaseRequest) (res *api.CreateDatabaseResponse, err error)

func (*MultiServerClient) DeleteDatabase

func (c *MultiServerClient) DeleteDatabase(ctx context.Context, req *api.DeleteDatabasePayload) (res *api.DeleteDatabaseResponse, err error)

func (*MultiServerClient) FailoverDatabaseNode

func (*MultiServerClient) FollowTask

func (c *MultiServerClient) FollowTask(ctx context.Context, req *api.GetDatabaseTaskLogPayload, handler func(e *api.TaskLogEntry)) error

func (*MultiServerClient) GetCluster

func (c *MultiServerClient) GetCluster(ctx context.Context) (res *api.Cluster, err error)

func (*MultiServerClient) GetDatabase

func (c *MultiServerClient) GetDatabase(ctx context.Context, req *api.GetDatabasePayload) (res *api.Database, err error)

func (*MultiServerClient) GetDatabaseTask

func (c *MultiServerClient) GetDatabaseTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (res *api.Task, err error)

func (*MultiServerClient) GetDatabaseTaskLog

func (c *MultiServerClient) GetDatabaseTaskLog(ctx context.Context, req *api.GetDatabaseTaskLogPayload) (res *api.TaskLog, err error)

func (*MultiServerClient) GetHost

func (c *MultiServerClient) GetHost(ctx context.Context, req *api.GetHostPayload) (res *api.Host, err error)

func (*MultiServerClient) GetJoinToken

func (c *MultiServerClient) GetJoinToken(ctx context.Context) (res *api.ClusterJoinToken, err error)

func (*MultiServerClient) GetVersion

func (c *MultiServerClient) GetVersion(ctx context.Context) (res *api.VersionInfo, err error)

func (*MultiServerClient) InitCluster

func (c *MultiServerClient) InitCluster(ctx context.Context, req *api.InitClusterRequest) (res *api.ClusterJoinToken, err error)

func (*MultiServerClient) JoinCluster

func (c *MultiServerClient) JoinCluster(ctx context.Context, req *api.ClusterJoinToken) (err error)

func (*MultiServerClient) ListDatabaseTasks

func (*MultiServerClient) ListDatabases

func (c *MultiServerClient) ListDatabases(ctx context.Context) (res *api.ListDatabasesResponse, err error)

func (*MultiServerClient) ListHosts

func (c *MultiServerClient) ListHosts(ctx context.Context) (res *api.ListHostsResponse, err error)

func (*MultiServerClient) RemoveHost

func (c *MultiServerClient) RemoveHost(ctx context.Context, req *api.RemoveHostPayload) (err error)

func (*MultiServerClient) RestartInstance

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

func (*MultiServerClient) RestoreDatabase

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

func (*MultiServerClient) Server

func (c *MultiServerClient) Server(hostID string) (*SingleServerClient, error)

func (*MultiServerClient) SwitchoverDatabaseNode

func (*MultiServerClient) UpdateDatabase

func (c *MultiServerClient) UpdateDatabase(ctx context.Context, req *api.UpdateDatabasePayload) (res *api.UpdateDatabaseResponse, err error)

func (*MultiServerClient) WaitForTask

func (c *MultiServerClient) WaitForTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)

type ServerConfig

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

func NewHTTPServerConfig

func NewHTTPServerConfig(hostID string, url *url.URL) ServerConfig

NewHTTPServerConfig creates a new HTTPServerConfig with the given URL.

func NewMQTTServerConfig

func NewMQTTServerConfig(hostID string, endpoint mqtt.Endpoint, topic string, maxWait time.Duration) ServerConfig

type SingleServerClient

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

func NewSingleServerClient

func NewSingleServerClient(server ServerConfig) (*SingleServerClient, error)

func (*SingleServerClient) BackupDatabaseNode

func (*SingleServerClient) CancelDatabaseTask

func (c *SingleServerClient) CancelDatabaseTask(ctx context.Context, req *api.CancelDatabaseTaskPayload) (*api.Task, error)

func (*SingleServerClient) CreateDatabase

func (*SingleServerClient) DeleteDatabase

func (*SingleServerClient) FailoverDatabaseNode

func (*SingleServerClient) FollowTask

func (c *SingleServerClient) FollowTask(ctx context.Context, req *api.GetDatabaseTaskLogPayload, handler func(e *api.TaskLogEntry)) error

func (*SingleServerClient) GetCluster

func (c *SingleServerClient) GetCluster(ctx context.Context) (*api.Cluster, error)

func (*SingleServerClient) GetDatabase

func (c *SingleServerClient) GetDatabase(ctx context.Context, req *api.GetDatabasePayload) (*api.Database, error)

func (*SingleServerClient) GetDatabaseTask

func (c *SingleServerClient) GetDatabaseTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)

func (*SingleServerClient) GetDatabaseTaskLog

func (c *SingleServerClient) GetDatabaseTaskLog(ctx context.Context, req *api.GetDatabaseTaskLogPayload) (*api.TaskLog, error)

func (*SingleServerClient) GetHost

func (c *SingleServerClient) GetHost(ctx context.Context, req *api.GetHostPayload) (*api.Host, error)

func (*SingleServerClient) GetJoinToken

func (c *SingleServerClient) GetJoinToken(ctx context.Context) (*api.ClusterJoinToken, error)

func (*SingleServerClient) GetVersion

func (c *SingleServerClient) GetVersion(ctx context.Context) (*api.VersionInfo, error)

func (*SingleServerClient) InitCluster

func (*SingleServerClient) JoinCluster

func (c *SingleServerClient) JoinCluster(ctx context.Context, req *api.ClusterJoinToken) error

func (*SingleServerClient) ListDatabaseTasks

func (*SingleServerClient) ListDatabases

func (*SingleServerClient) ListHosts

func (*SingleServerClient) RemoveHost

func (c *SingleServerClient) RemoveHost(ctx context.Context, req *api.RemoveHostPayload) error

func (*SingleServerClient) RestartInstance

func (*SingleServerClient) RestoreDatabase

func (*SingleServerClient) SwitchoverDatabaseNode

func (*SingleServerClient) UpdateDatabase

func (*SingleServerClient) WaitForTask

func (c *SingleServerClient) WaitForTask(ctx context.Context, req *api.GetDatabaseTaskPayload) (*api.Task, error)

Jump to

Keyboard shortcuts

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