activities

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: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrExecutorNotFound = errors.New("executor not found")

Functions

func Provide

func Provide(i *do.Injector)

Types

type Activities

type Activities struct {
	Config       config.Config
	Injector     *do.Injector
	Orchestrator database.Orchestrator
	TaskSvc      *task.Service
}

func (*Activities) ApplyEvent

func (a *Activities) ApplyEvent(ctx context.Context, input *ApplyEventInput) (*ApplyEventOutput, error)

func (*Activities) CancelSwitchover

func (a *Activities) CancelSwitchover(ctx context.Context, input *CancelSwitchoverInput) (*CancelSwitchoverOutput, error)

func (*Activities) CheckClusterHealth

func (a *Activities) CheckClusterHealth(ctx context.Context, input *CheckClusterHealthInput) (*CheckClusterHealthOutput, error)

func (*Activities) CreatePgBackRestBackup

func (a *Activities) CreatePgBackRestBackup(ctx context.Context, input *CreatePgBackRestBackupInput) (*CreatePgBackRestBackupOutput, error)

func (*Activities) DeleteDbEntities

func (a *Activities) DeleteDbEntities(ctx context.Context, input *DeleteDbEntitiesInput) (*DeleteDbEntitiesOutput, error)

func (*Activities) ExecuteApplyEvent

func (a *Activities) ExecuteApplyEvent(
	ctx workflow.Context,
	input *ApplyEventInput,
) (workflow.Future[*ApplyEventOutput], error)

func (*Activities) ExecuteCancelSwitchover

func (a *Activities) ExecuteCancelSwitchover(ctx workflow.Context, hostID string, input *CancelSwitchoverInput) workflow.Future[*CancelSwitchoverOutput]

func (*Activities) ExecuteCheckClusterHealth

func (a *Activities) ExecuteCheckClusterHealth(ctx workflow.Context, hostID string, input *CheckClusterHealthInput) workflow.Future[*CheckClusterHealthOutput]

func (*Activities) ExecuteCreatePgBackRestBackup

func (a *Activities) ExecuteCreatePgBackRestBackup(
	ctx workflow.Context,
	hostID string,
	input *CreatePgBackRestBackupInput,
) workflow.Future[*CreatePgBackRestBackupOutput]

func (*Activities) ExecuteDeleteDbEntities

func (a *Activities) ExecuteDeleteDbEntities(
	ctx workflow.Context,
	input *DeleteDbEntitiesInput,
) workflow.Future[*DeleteDbEntitiesOutput]

func (*Activities) ExecuteGetCurrentState

func (a *Activities) ExecuteGetCurrentState(
	ctx workflow.Context,
	input *GetCurrentStateInput,
) workflow.Future[*GetCurrentStateOutput]

func (*Activities) ExecuteGetInstanceResources

func (a *Activities) ExecuteGetInstanceResources(
	ctx workflow.Context,
	input *GetInstanceResourcesInput,
) workflow.Future[*GetInstanceResourcesOutput]

func (*Activities) ExecuteGetPrimaryInstance

func (a *Activities) ExecuteGetPrimaryInstance(
	ctx workflow.Context,
	hostID string,
	input *GetPrimaryInstanceInput,
) workflow.Future[*GetPrimaryInstanceOutput]

func (*Activities) ExecuteGetRestoreResources

func (a *Activities) ExecuteGetRestoreResources(
	ctx workflow.Context,
	input *GetRestoreResourcesInput,
) workflow.Future[*GetRestoreResourcesOutput]

func (*Activities) ExecuteLogTaskEvent

func (a *Activities) ExecuteLogTaskEvent(
	ctx workflow.Context,
	input *LogTaskEventInput,
) workflow.Future[*LogTaskEventOutput]

func (*Activities) ExecutePerformFailover

func (a *Activities) ExecutePerformFailover(ctx workflow.Context, hostID string, input *PerformFailoverInput) workflow.Future[*PerformFailoverOutput]

func (*Activities) ExecutePerformSwitchover

func (a *Activities) ExecutePerformSwitchover(ctx workflow.Context, hostID string, input *PerformSwitchoverInput) workflow.Future[*PerformSwitchoverOutput]

func (*Activities) ExecutePersistPlanSummaries

func (a *Activities) ExecutePersistPlanSummaries(
	ctx workflow.Context,
	input *PersistPlanSummariesInput,
) workflow.Future[*PersistPlanSummariesOutput]

func (*Activities) ExecutePersistState

func (a *Activities) ExecutePersistState(
	ctx workflow.Context,
	input *PersistStateInput,
) workflow.Future[*PersistStateOutput]

func (*Activities) ExecutePlanRefresh

func (a *Activities) ExecutePlanRefresh(
	ctx workflow.Context,
	input *PlanRefreshInput,
) workflow.Future[*PlanRefreshOutput]

func (*Activities) ExecuteRestartInstance

func (a *Activities) ExecuteRestartInstance(
	ctx workflow.Context,
	hostID string,
	input *RestartInstanceInput,
) workflow.Future[*RestartInstanceOutput]

func (*Activities) ExecuteSelectCandidate

func (a *Activities) ExecuteSelectCandidate(ctx workflow.Context, input *SelectCandidateInput) workflow.Future[*SelectCandidateOutput]

func (*Activities) ExecuteStartInstance

func (a *Activities) ExecuteStartInstance(
	ctx workflow.Context,
	input *StartInstanceInput,
) workflow.Future[*StartInstanceOutput]

func (*Activities) ExecuteStopInstance

func (a *Activities) ExecuteStopInstance(
	ctx workflow.Context,
	input *StopInstanceInput,
) workflow.Future[*StopInstanceOutput]

func (*Activities) ExecuteUpdateDbState

func (a *Activities) ExecuteUpdateDbState(
	ctx workflow.Context,
	input *UpdateDbStateInput,
) workflow.Future[*UpdateDbStateOutput]

func (*Activities) ExecuteUpdateTask

func (a *Activities) ExecuteUpdateTask(
	ctx workflow.Context,
	input *UpdateTaskInput,
) workflow.Future[*UpdateTaskOutput]

func (*Activities) ExecuteValidateInstanceSpecs

func (a *Activities) ExecuteValidateInstanceSpecs(
	ctx workflow.Context,
	hostID string,
	input *ValidateInstanceSpecsInput,
) workflow.Future[*ValidateInstanceSpecsOutput]

func (*Activities) GetCurrentState

func (a *Activities) GetCurrentState(ctx context.Context, input *GetCurrentStateInput) (*GetCurrentStateOutput, error)

func (*Activities) GetInstanceResources

func (a *Activities) GetInstanceResources(ctx context.Context, input *GetInstanceResourcesInput) (*GetInstanceResourcesOutput, error)

func (*Activities) GetPrimaryInstance

func (a *Activities) GetPrimaryInstance(ctx context.Context, input *GetPrimaryInstanceInput) (*GetPrimaryInstanceOutput, error)

func (*Activities) GetRestoreResources

func (a *Activities) GetRestoreResources(ctx context.Context, input *GetRestoreResourcesInput) (*GetRestoreResourcesOutput, error)

func (*Activities) LogTaskEvent

func (a *Activities) LogTaskEvent(ctx context.Context, input *LogTaskEventInput) (*LogTaskEventOutput, error)

func (*Activities) PerformFailover

func (a *Activities) PerformFailover(ctx context.Context, input *PerformFailoverInput) (*PerformFailoverOutput, error)

func (*Activities) PerformSwitchover

func (a *Activities) PerformSwitchover(ctx context.Context, input *PerformSwitchoverInput) (*PerformSwitchoverOutput, error)

func (*Activities) PersistPlanSummaries

func (a *Activities) PersistPlanSummaries(ctx context.Context, input *PersistPlanSummariesInput) (*PersistPlanSummariesOutput, error)

func (*Activities) PersistState

func (a *Activities) PersistState(ctx context.Context, input *PersistStateInput) (*PersistStateOutput, error)

func (*Activities) PlanRefresh

func (a *Activities) PlanRefresh(ctx context.Context, input *PlanRefreshInput) (*PlanRefreshOutput, error)

func (*Activities) Register

func (a *Activities) Register(work *worker.Worker) error

func (*Activities) ResolveExecutor

func (a *Activities) ResolveExecutor(state *resource.State, executor resource.Executor) (core.Queue, error)

func (*Activities) RestartInstance

func (a *Activities) RestartInstance(ctx context.Context, input *RestartInstanceInput) (*RestartInstanceOutput, error)

func (*Activities) SelectCandidate

func (a *Activities) SelectCandidate(ctx context.Context, input *SelectCandidateInput) (*SelectCandidateOutput, error)

func (*Activities) StartInstance

func (a *Activities) StartInstance(ctx context.Context, input *StartInstanceInput) (*StartInstanceOutput, error)

func (*Activities) StopInstance

func (a *Activities) StopInstance(ctx context.Context, input *StopInstanceInput) (*StopInstanceOutput, error)

func (*Activities) UpdateDbState

func (a *Activities) UpdateDbState(ctx context.Context, input *UpdateDbStateInput) (*UpdateDbStateOutput, error)

func (*Activities) UpdateTask

func (a *Activities) UpdateTask(ctx context.Context, input *UpdateTaskInput) (*UpdateTaskOutput, error)

func (*Activities) ValidateInstanceSpecs

func (a *Activities) ValidateInstanceSpecs(ctx context.Context, input *ValidateInstanceSpecsInput) (*ValidateInstanceSpecsOutput, error)

type ApplyEventInput

type ApplyEventInput struct {
	DatabaseID string          `json:"database_id"`
	TaskID     uuid.UUID       `json:"task_id"`
	State      *resource.State `json:"state"`
	Event      *resource.Event `json:"event"`
}

type ApplyEventOutput

type ApplyEventOutput struct {
	Event *resource.Event `json:"event"`
}

type CancelSwitchoverInput

type CancelSwitchoverInput struct {
	DatabaseID       string    `json:"database_id"`
	LeaderInstanceID string    `json:"leader_instance_id"`
	TaskID           uuid.UUID `json:"task_id"`
}

type CancelSwitchoverOutput

type CancelSwitchoverOutput struct{}

type CheckClusterHealthInput

type CheckClusterHealthInput struct {
	DatabaseID string    `json:"database_id"`
	InstanceID string    `json:"instance_id"`
	TaskID     uuid.UUID `json:"task_id,omitempty"`
}

type CheckClusterHealthOutput

type CheckClusterHealthOutput struct {
	Healthy          bool   `json:"healthy"`
	LeaderInstanceID string `json:"leader_instance_id,omitempty"`
	Reason           string `json:"reason,omitempty"`
}

type CreatePgBackRestBackupInput

type CreatePgBackRestBackupInput struct {
	DatabaseID    string                    `json:"database_id"`
	InstanceID    string                    `json:"instance_id"`
	TaskID        uuid.UUID                 `json:"task_id"`
	BackupOptions *pgbackrest.BackupOptions `json:"backup_options"`
}

type CreatePgBackRestBackupOutput

type CreatePgBackRestBackupOutput struct{}

type DeleteDbEntitiesInput

type DeleteDbEntitiesInput struct {
	DatabaseID string `json:"database_id"`
}

type DeleteDbEntitiesOutput

type DeleteDbEntitiesOutput struct{}

type GetCurrentStateInput

type GetCurrentStateInput struct {
	DatabaseID string `json:"database_id"`
}

type GetCurrentStateOutput

type GetCurrentStateOutput struct {
	State *resource.State `json:"state"`
}

type GetInstanceResourcesInput

type GetInstanceResourcesInput struct {
	Spec *database.InstanceSpec
}

type GetInstanceResourcesOutput

type GetInstanceResourcesOutput struct {
	Resources *database.InstanceResources
}

type GetPrimaryInstanceInput

type GetPrimaryInstanceInput struct {
	DatabaseID string `json:"database_id"`
	InstanceID string `json:"instance_id"`
}

type GetPrimaryInstanceOutput

type GetPrimaryInstanceOutput struct {
	PrimaryInstanceID string `json:"instance_id"`
}

type GetRestoreResourcesInput

type GetRestoreResourcesInput struct {
	Spec          *database.InstanceSpec  `json:"spec"`
	TaskID        uuid.UUID               `json:"task_id"`
	RestoreConfig *database.RestoreConfig `json:"restore_config"`
}

type GetRestoreResourcesOutput

type GetRestoreResourcesOutput struct {
	Resources        *database.InstanceResources `json:"resources"`
	RestoreResources *database.InstanceResources `json:"restore_resources"`
}

type InstanceHost

type InstanceHost struct {
	InstanceID string `json:"instance_id"`
	HostID     string `json:"host_id"`
}

type LogTaskEventInput

type LogTaskEventInput struct {
	DatabaseID string          `json:"database_id"`
	TaskID     uuid.UUID       `json:"task_id"`
	Entries    []task.LogEntry `json:"messages"`
}

type LogTaskEventOutput

type LogTaskEventOutput struct{}

type PerformFailoverInput

type PerformFailoverInput struct {
	DatabaseID          string    `json:"database_id"`
	LeaderInstanceID    string    `json:"leader_instance_id"`
	CandidateInstanceID string    `json:"candidate_instance_id,omitempty"`
	TaskID              uuid.UUID `json:"task_id"`
}

type PerformFailoverOutput

type PerformFailoverOutput struct{}

type PerformSwitchoverInput

type PerformSwitchoverInput struct {
	DatabaseID          string    `json:"database_id"`
	LeaderInstanceID    string    `json:"leader_instance_id"`
	CandidateInstanceID string    `json:"candidate_instance_id,omitempty"`
	ScheduledAt         time.Time `json:"scheduled_at,omitempty"`
	TaskID              uuid.UUID `json:"task_id"`
}

type PerformSwitchoverOutput

type PerformSwitchoverOutput struct{}

type PersistPlanSummariesInput

type PersistPlanSummariesInput struct {
	DatabaseID string                 `json:"database_id"`
	TaskID     uuid.UUID              `json:"task_id"`
	Plans      []resource.PlanSummary `json:"plans"`
}

type PersistPlanSummariesOutput

type PersistPlanSummariesOutput struct{}

type PersistStateInput

type PersistStateInput struct {
	DatabaseID string          `json:"database_id"`
	State      *resource.State `json:"state"`
}

type PersistStateOutput

type PersistStateOutput struct{}

type PlanRefreshInput

type PlanRefreshInput struct {
	DatabaseID string          `json:"database_id"`
	State      *resource.State `json:"current"`
}

type PlanRefreshOutput

type PlanRefreshOutput struct {
	Plan resource.Plan `json:"plan"`
}

type RestartInstanceInput

type RestartInstanceInput struct {
	DatabaseID  string    `json:"database_id"`
	InstanceID  string    `json:"instance_id"`
	ScheduledAt time.Time `json:"scheduled_at,omitempty"` // Optional, if empty, restart immediately
	TaskID      uuid.UUID `json:"task_id"`
}

type RestartInstanceOutput

type RestartInstanceOutput struct{}

type SelectCandidateInput

type SelectCandidateInput struct {
	DatabaseID      string          `json:"database_id"`
	NodeName        string          `json:"node_name"`
	ExcludeInstance string          `json:"exclude_instance"`
	Instances       []*InstanceHost `json:"instances,omitempty"` // optional
}

type SelectCandidateOutput

type SelectCandidateOutput struct {
	CandidateInstanceID string `json:"candidate_instance_id"`
	CandidateHostID     string `json:"candidate_host_id,omitempty"`
}

type StartInstanceInput

type StartInstanceInput struct {
	DatabaseID string       `json:"database_id"`
	InstanceID string       `json:"instance_id"`
	HostID     string       `json:"host_id"`
	Cohort     *host.Cohort `json:"cohort"`
	TaskID     uuid.UUID    `json:"task_id"`
}

type StartInstanceOutput

type StartInstanceOutput struct{}

type StopInstanceInput

type StopInstanceInput struct {
	DatabaseID string       `json:"database_id"`
	InstanceID string       `json:"instance_id"`
	HostID     string       `json:"host_id"`
	Cohort     *host.Cohort `json:"cohort,omitempty"`
	TaskID     uuid.UUID    `json:"task_id"`
}

type StopInstanceOutput

type StopInstanceOutput struct{}

type UpdateDbStateInput

type UpdateDbStateInput struct {
	DatabaseID string                 `json:"database_id"`
	State      database.DatabaseState `json:"state"`
}

type UpdateDbStateOutput

type UpdateDbStateOutput struct{}

type UpdateTaskInput

type UpdateTaskInput struct {
	DatabaseID    string             `json:"database_id"`
	TaskID        uuid.UUID          `json:"task_id"`
	UpdateOptions task.UpdateOptions `json:"update_options,omitempty"`
}

type UpdateTaskOutput

type UpdateTaskOutput struct{}

type ValidateInstanceSpecsInput

type ValidateInstanceSpecsInput struct {
	DatabaseID string                   `json:"database_id"`
	Specs      []*database.InstanceSpec `json:"spec"`
}

type ValidateInstanceSpecsOutput

type ValidateInstanceSpecsOutput struct {
	Results []*database.ValidationResult `json:"results"`
}

Jump to

Keyboard shortcuts

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