workflows

package
v0.15.1 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckCPUStep

func CheckCPUStep(nodeType string, profile string) automa.Builder

CheckCPUStep validates CPU requirements for a specific node type

func CheckHostProfileStep

func CheckHostProfileStep(nodeType string, profile string) automa.Builder

CheckHostProfileStep retrieves host profile and validates node type and profile

func CheckMemoryStep

func CheckMemoryStep(nodeType string, profile string) automa.Builder

CheckMemoryStep validates memory requirements for a specific node type

func CheckOSStep

func CheckOSStep(nodeType string, profile string) automa.Builder

CheckOSStep validates OS requirements for a specific node type

func CheckPrivilegesStep

func CheckPrivilegesStep() automa.Builder

CheckPrivilegesStep validates that the current user has superuser privileges

func CheckStorageStep

func CheckStorageStep(nodeType string, profile string) automa.Builder

CheckStorageStep validates storage requirements for a specific node type

func CheckWeaverInstallationWorkflow

func CheckWeaverInstallationWorkflow() *automa.WorkflowBuilder

func CheckWeaverUserStep

func CheckWeaverUserStep() automa.Builder

CheckWeaverUserStep validates that the provisioner user and group exist with the correct IDs

func DefaultWorkflowExecutionOptions added in v0.7.0

func DefaultWorkflowExecutionOptions() *models.WorkflowExecutionOptions

DefaultWorkflowExecutionOptions returns WorkflowExecutionOptions with all boolean options defaulted to true.

func InstallClusterWorkflow added in v0.7.0

func InstallClusterWorkflow(nodeType string, profile string, skipHardwareChecks bool, sm state.Manager) *automa.WorkflowBuilder

InstallClusterWorkflow creates a workflow to set up a kubernetes cluster.

func NewAlloyInstallWorkflow added in v0.7.0

func NewAlloyInstallWorkflow() *automa.WorkflowBuilder

NewAlloyInstallWorkflow creates a workflow to install the Alloy observability stack. This installs Prometheus Operator CRDs, Node Exporter, and Grafana Alloy.

func NewAlloyUninstallWorkflow added in v0.7.0

func NewAlloyUninstallWorkflow() *automa.WorkflowBuilder

NewAlloyUninstallWorkflow creates a workflow to uninstall the Alloy observability stack. This removes Grafana Alloy, Node Exporter, and Prometheus Operator CRDs.

func NewBlockNodeInstallWorkflow

func NewBlockNodeInstallWorkflow(inputs models.BlockNodeInputs, sm state.Manager) *automa.WorkflowBuilder

NewBlockNodeInstallWorkflow creates a comprehensive install workflow for block node

func NewBlockNodePreflightCheckWorkflow

func NewBlockNodePreflightCheckWorkflow(profile string) *automa.WorkflowBuilder

NewBlockNodePreflightCheckWorkflow creates a safety check workflow for block node.

func NewBlockNodeResetWorkflow added in v0.8.0

func NewBlockNodeResetWorkflow(inputs models.BlockNodeInputs) *automa.WorkflowBuilder

NewBlockNodeResetWorkflow creates a reset workflow for block node

func NewBlockNodeUpgradeWorkflow added in v0.5.0

func NewBlockNodeUpgradeWorkflow(inputs models.BlockNodeInputs, withReset bool) *automa.WorkflowBuilder

NewBlockNodeUpgradeWorkflow creates an upgrade workflow for block node

func NewNodeSafetyCheckWorkflow

func NewNodeSafetyCheckWorkflow(nodeType string, profile string, skipHardwareChecks bool) *automa.WorkflowBuilder

NewNodeSafetyCheckWorkflow creates a safety check workflow for any node type. If skipHardwareChecks is true, hardware validation steps (OS, CPU, memory, storage) are excluded.

func NewSelfInstallWorkflow

func NewSelfInstallWorkflow() *automa.WorkflowBuilder

func NewSelfUninstallWorkflow added in v0.7.0

func NewSelfUninstallWorkflow() *automa.WorkflowBuilder

func NewTeleportClusterAgentInstallWorkflow added in v0.7.0

func NewTeleportClusterAgentInstallWorkflow() *automa.WorkflowBuilder

NewTeleportClusterAgentInstallWorkflow creates a workflow to install the Teleport Kubernetes cluster agent. This provides secure kubectl access via Teleport with full audit logging.

func NewTeleportNodeAgentInstallWorkflow added in v0.7.0

func NewTeleportNodeAgentInstallWorkflow(sm state.Manager) *automa.WorkflowBuilder

NewTeleportNodeAgentInstallWorkflow creates a workflow to install the Teleport node agent. sm is the shared Manager used to record installation progress.

func NodeSetupWorkflow added in v0.7.0

func NodeSetupWorkflow(nodeType string, profile string, skipHardwareChecks bool) *automa.WorkflowBuilder

NodeSetupWorkflow creates a comprehensive setup workflow for any node type It runs preflight checks first, then performs the actual setup.

func UninstallClusterWorkflow added in v0.7.0

func UninstallClusterWorkflow() *automa.WorkflowBuilder

UninstallClusterWorkflow creates a workflow to tear down a kubernetes cluster

func WithWorkflowExecutionMode added in v0.7.0

func WithWorkflowExecutionMode(wf *automa.WorkflowBuilder, opts *models.WorkflowExecutionOptions) *automa.WorkflowBuilder

WithWorkflowExecutionMode applies the given WorkflowExecutionOptions to the provided WorkflowBuilder. If opts is nil, it uses DefaultWorkflowExecutionOptions.

Types

type LegacyBinaryMigration added in v0.7.0

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

LegacyBinaryMigration removes the old "weaver" binary after rename to "solo-provisioner". This migration applies based on file state, not version boundaries.

func NewLegacyBinaryMigration added in v0.7.0

func NewLegacyBinaryMigration() *LegacyBinaryMigration

NewLegacyBinaryMigration creates a new legacy binary removal migration.

func (*LegacyBinaryMigration) Applies added in v0.7.0

func (m *LegacyBinaryMigration) Applies(mctx *migration.Context) (bool, error)

Applies returns true if the legacy "weaver" binary exists and needs to be removed.

func (*LegacyBinaryMigration) Description added in v0.7.0

func (m *LegacyBinaryMigration) Description() string

func (*LegacyBinaryMigration) Execute added in v0.7.0

Execute removes the legacy "weaver" binary and its symlink.

func (*LegacyBinaryMigration) ID added in v0.7.0

func (m *LegacyBinaryMigration) ID() string

func (*LegacyBinaryMigration) Rollback added in v0.7.0

func (m *LegacyBinaryMigration) Rollback(ctx context.Context, mctx *migration.Context) error

Rollback is a no-op for this migration since we can't restore the old binary. The user would need to reinstall the old version if they want to go back.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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