class Kitsune::Kit::Commands::Bootstrap

def rollback_sequence(filled_options)

def rollback_sequence(filled_options)
  provision_options = Kitsune::Kit::OptionsBuilder.build(
    {},
    defaults: Kitsune::Kit::Defaults::infra
  )
  provisioner = Kitsune::Kit::Provisioner.new(provision_options)
  if (droplet = provisioner.find_droplet).nil?
    say "💡 Nothing to rollback.", :green
    return
  end
  droplet_ip = provisioner.send(:public_ip, droplet)
  say "→ Using Droplet IP: #{droplet_ip}", :cyan
  run_cli("setup_do_metrics rollback", droplet_ip, filled_options)
  if ssh_accessible?(droplet_ip, filled_options)
    run_cli("setup_unattended rollback", droplet_ip, filled_options)
    run_cli("setup_firewall rollback", droplet_ip, filled_options)
  else
    say "⏭️  Skipping unattended-upgrades and firewall rollback (no deploy user)", :yellow
  end
  run_cli("setup_swap rollback", droplet_ip, filled_options)
  run_cli("setup_user rollback", droplet_ip, filled_options)
  unless filled_options[:keep_server]
    run_cli("dns rollback", droplet_ip, filled_options.merge(domains: ENV["DOMAIN_NAMES"]))
    say "▶️ Running: kitsune kit provision rollback", :blue
    Kitsune::Kit::CLI.start(%w[provision rollback])
  else
    say "⏭️  Skipping droplet deletion (--keep-server enabled), DNS rollback won't be executed", :yellow
  end
end