Documentation
¶
Index ¶
- Constants
- func BuildMigrationWorkflow() (*automa.WorkflowBuilder, error)
- func CheckCPUStep(nodeType string, profile string) automa.Builder
- func CheckHostProfileStep(nodeType string, profile string) automa.Builder
- func CheckMemoryStep(nodeType string, profile string) automa.Builder
- func CheckOSStep(nodeType string, profile string) automa.Builder
- func CheckPrivilegesStep() automa.Builder
- func CheckStorageStep(nodeType string, profile string) automa.Builder
- func CheckWeaverInstallationWorkflow() *automa.WorkflowBuilder
- func CheckWeaverUserStep() automa.Builder
- func InitMigrations()
- func InstallClusterWorkflow(nodeType string, profile string) *automa.WorkflowBuilder
- func NewAlloyInstallWorkflow() *automa.WorkflowBuilder
- func NewAlloyUninstallWorkflow() *automa.WorkflowBuilder
- func NewBlockNodeInstallWorkflow(profile string, valuesFile string) *automa.WorkflowBuilder
- func NewBlockNodePreflightCheckWorkflow(profile string) *automa.WorkflowBuilder
- func NewBlockNodeUpgradeWorkflow(profile string, valuesFile string, reuseValues bool) *automa.WorkflowBuilder
- func NewNodeSafetyCheckWorkflow(nodeType string, profile string) *automa.WorkflowBuilder
- func NewSelfInstallWorkflow() *automa.WorkflowBuilder
- func NewSelfUninstallWorkflow() *automa.WorkflowBuilder
- func NewTeleportClusterAgentInstallWorkflow() *automa.WorkflowBuilder
- func NewTeleportNodeAgentInstallWorkflow() *automa.WorkflowBuilder
- func NodeSetupWorkflow(nodeType string, profile string) *automa.WorkflowBuilder
- func UninstallClusterWorkflow() *automa.WorkflowBuilder
- func WithWorkflowExecutionMode(wf *automa.WorkflowBuilder, opts *WorkflowExecutionOptions) *automa.WorkflowBuilder
- type LegacyBinaryMigration
- func (m *LegacyBinaryMigration) Applies(mctx *migration.Context) (bool, error)
- func (m *LegacyBinaryMigration) Description() string
- func (m *LegacyBinaryMigration) Execute(ctx context.Context, mctx *migration.Context) error
- func (m *LegacyBinaryMigration) ID() string
- func (m *LegacyBinaryMigration) Rollback(ctx context.Context, mctx *migration.Context) error
- type WorkflowExecutionOptions
Constants ¶
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 ¶
CheckCPUStep validates CPU requirements for a specific node type
func CheckHostProfileStep ¶
CheckHostProfileStep retrieves host profile and validates node type and profile
func CheckMemoryStep ¶
CheckMemoryStep validates memory requirements for a specific node type
func CheckOSStep ¶
CheckOSStep validates OS requirements for a specific node type
func CheckPrivilegesStep ¶
CheckPrivilegesStep validates that the current user has superuser privileges
func CheckStorageStep ¶
CheckStorageStep validates storage requirements for a specific node type
func CheckWeaverInstallationWorkflow ¶
func CheckWeaverInstallationWorkflow() *automa.WorkflowBuilder
func CheckWeaverUserStep ¶
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 NewBlockNodeUpgradeWorkflow ¶ added in v0.5.0
func NewBlockNodeUpgradeWorkflow(profile string, valuesFile string, reuseValues 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
type WorkflowExecutionOptions ¶ added in v0.7.0
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.