class Kitsune::Kit::Commands::SetupUser

def rollback

def rollback
  filled_options = Kitsune::Kit::OptionsBuilder.build(
    options,
    required: [:server_ip],
    defaults: Kitsune::Kit::Defaults.ssh
  )
  server = filled_options[:server_ip]
  port   = filled_options[:ssh_port]
  key    = File.expand_path(filled_options[:ssh_key_path])
  # First, attempt SSH config restore as 'deploy'
  begin
    with_ssh_connection(true, filled_options) do |ssh|
      perform_rollback_config(ssh)
    end
  rescue StandardError => e
    say "⚠️ Skipping SSH config restore: #{e.message}", :yellow
  end
  # Then reconnect as 'root' to remove sudoers and delete user
  say "🔑 Reconnecting as root@#{server}:#{port}", :green
  Net::SSH.start(server, 'root', port: port, keys: [key], non_interactive: true) do |ssh|
    perform_rollback_cleanup(ssh)
  end
  say "✅ Rollback completed", :green
end