workflows

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const MigrationComponent = "solo-provisioner"

MigrationComponent is the component name for weaver/solo-provisioner migrations.

Variables

This section is empty.

Functions

func BuildMigrationWorkflow added in v0.7.0

func BuildMigrationWorkflow() (*automa.WorkflowBuilder, error)

BuildMigrationWorkflow returns an automa workflow for executing applicable migrations. Returns nil if no migrations are needed.

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 InitMigrations added in v0.7.0

func InitMigrations()

InitMigrations registers all weaver/solo-provisioner migrations. Called once at startup from root.go.

func InstallClusterWorkflow added in v0.7.0

func InstallClusterWorkflow(nodeType string, profile string) *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(profile string, valuesFile string) *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() *automa.WorkflowBuilder

NewBlockNodeResetWorkflow creates a reset workflow for block node

func NewBlockNodeUpgradeWorkflow added in v0.5.0

func NewBlockNodeUpgradeWorkflow(profile string, valuesFile string, reuseValues bool, withReset bool) *automa.WorkflowBuilder

NewBlockNodeUpgradeWorkflow creates an upgrade workflow for block node

func NewNodeSafetyCheckWorkflow

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

NewNodeSafetyCheckWorkflow creates a safety check workflow for any node type

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() *automa.WorkflowBuilder

NewTeleportNodeAgentInstallWorkflow creates a workflow to install the Teleport node agent. This installs the host-level SSH agent for secure SSH access via Teleport.

func NodeSetupWorkflow added in v0.7.0

func NodeSetupWorkflow(nodeType string, profile string) *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 *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.

type WorkflowExecutionOptions added in v0.7.0

type WorkflowExecutionOptions struct {
	ExecutionMode automa.TypeMode
	RollbackMode  automa.TypeMode
}

WorkflowExecutionOptions defines options for setting up various components of the cluster

func DefaultWorkflowExecutionOptions added in v0.7.0

func DefaultWorkflowExecutionOptions() *WorkflowExecutionOptions

DefaultWorkflowExecutionOptions returns WorkflowExecutionOptions with all boolean options defaulted to true.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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