package cmd import ( "fmt" "log/slog" ) // Rollback forces an immediate switch to the other partition. // Use this to manually revert to the previous version. func Rollback(args []string) error { opts := parseOpts(args) env := opts.NewBootEnv() activeSlot, err := env.ActiveSlot() if err != nil { return fmt.Errorf("reading active slot: %w", err) } passiveSlot, err := env.PassiveSlot() if err != nil { return fmt.Errorf("reading passive slot: %w", err) } slog.Info("forcing rollback", "from", activeSlot, "to", passiveSlot) if err := env.ForceRollback(); err != nil { return fmt.Errorf("rollback failed: %w", err) } fmt.Printf("Rolled back: %s → %s\n", activeSlot, passiveSlot) fmt.Println("Reboot to complete rollback.") return nil }