Skip to content

[feature]: add ksail cluster update for in-place updating a cluster #1734

@devantler

Description

@devantler

User Story

As a KSail user,
I want a ksail cluster update command that reconciles a running cluster with the current KSail configuration,
So that I can safely apply config changes (including node scaling) without manually recreating or re-provisioning the cluster.

Acceptance Criteria

  • Command: ksail cluster update exists under ksail cluster and uses the same config loading behavior as other cluster commands.
  • In-place update: If the active distribution/provider supports in-place updates, the command applies changes without recreating the cluster.
  • Node scaling: If the desired node counts differ from the running cluster, ksail cluster update scales nodes when supported; otherwise it offers a recreate flow.
  • Recreate prompt: When changes require recreation (e.g., update/scale not supported), the CLI prompts the user and only proceeds if they type exactly yes.
  • Force flag: --force skips the confirmation prompt and recreates the cluster directly.
  • Safety: If the user does not type yes (and --force is not set), the command exits without changing the cluster.
  • Recreate behavior: Recreate performs delete + create and runs the same post-creation setup as ksail cluster create (CNI + post-CNI components).
  • Provider/distro matrix: Unsupported combos do not silently no-op; they either update/scale, or require explicit user confirmation to recreate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions