common_interface

package
v0.0.21-pre-02 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Clienter

type Clienter interface{}

Clienter defines the common interface for cloud clients

type ClusterDeployerer

type ClusterDeployerer interface {
	ProvisionMachine(
		ctx context.Context,
		sshConfig sshutils.SSHConfiger,
		machine models.Machiner,
	) error
	WaitForAllMachinesToReachState(
		ctx context.Context,
		resourceType string,
		state models.MachineResourceState,
	) error

	ExecuteCustomScript(
		ctx context.Context,
		sshConfig sshutils.SSHConfiger,
		machine models.Machiner,
	) error
	ApplyBacalhauConfigs(ctx context.Context,
		sshConfig sshutils.SSHConfiger,
		bacalhauSettings []models.BacalhauSettings) error

	ProvisionBacalhauCluster(ctx context.Context) error
	ProvisionOrchestrator(ctx context.Context, machineName string) error
	ProvisionWorker(ctx context.Context, machineName string) error
}

type ProvisioningStep added in v0.0.20

type ProvisioningStep string

Step represents a single step in the provisioning process

const (
	SSHConnection       ProvisioningStep = "ssh_connection"
	NodeProvisioning    ProvisioningStep = "node_provisioning"
	NodeConfiguration   ProvisioningStep = "node_configuration"
	BacalhauInstall     ProvisioningStep = "bacalhau_install"
	ServiceScript       ProvisioningStep = "service_script"
	SystemdService      ProvisioningStep = "systemd_service"
	NodeVerification    ProvisioningStep = "node_verification"
	ConfigurationApply  ProvisioningStep = "configuration_apply"
	ServiceRestart      ProvisioningStep = "service_restart"
	RunningCustomScript ProvisioningStep = "running_custom_script"
)

type StepMessage added in v0.0.20

type StepMessage struct {
	Emoji        string
	StartMessage string
	DoneMessage  string
	Order        int // Used to maintain the sequence of steps
}

StepMessage defines the messages and emoji for a provisioning step

func (StepMessage) RenderDoneMessage added in v0.0.20

func (s StepMessage) RenderDoneMessage(args ...any) string

RenderDoneMessage formats the done message with given arguments

func (StepMessage) RenderStartMessage added in v0.0.20

func (s StepMessage) RenderStartMessage(args ...any) string

RenderStartMessage formats the start message with given arguments

type StepRegistry added in v0.0.20

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

StepRegistry manages the collection of provisioning steps

func NewStepRegistry added in v0.0.20

func NewStepRegistry() *StepRegistry

NewStepRegistry creates and initializes a new step registry

func (*StepRegistry) GetAllSteps added in v0.0.20

func (r *StepRegistry) GetAllSteps() []ProvisioningStep

GetAllSteps returns all steps in order

func (*StepRegistry) GetStep added in v0.0.20

func (r *StepRegistry) GetStep(step ProvisioningStep) StepMessage

GetStep retrieves a step from the registry

func (*StepRegistry) RegisterStep added in v0.0.20

func (r *StepRegistry) RegisterStep(step ProvisioningStep, message StepMessage)

RegisterStep adds or updates a step in the registry

func (*StepRegistry) TotalSteps added in v0.0.20

func (r *StepRegistry) TotalSteps() int

TotalSteps returns the total number of registered steps

Jump to

Keyboard shortcuts

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