This commit is contained in:
@ -53,27 +53,32 @@ int nuke_one(std::string server, std::string service)
|
||||
if (!SIvalid(service_info))
|
||||
std::cerr << "Warning: Invalid service: " << service << std::endl;
|
||||
|
||||
// run the nuke script on the remote server if it exists.
|
||||
// otherwise just uninstall.
|
||||
if (gTemplateManager().template_command_exists(service_info.template_name, "nuke"))
|
||||
if (server_env.check_remote_dir_exists(remotepath::service(server, service)))
|
||||
{
|
||||
if (!server_env.run_remote_template_command(service, "nuke", {}, false, {}))
|
||||
std::cerr << "Warning: Failed to run nuke script: " << service << std::endl;
|
||||
// run the nuke script on the remote server if it exists.
|
||||
// otherwise just uninstall.
|
||||
if (gTemplateManager().template_command_exists(service_info.template_name, "nuke"))
|
||||
{
|
||||
if (!server_env.run_remote_template_command(service, "nuke", {}, false, {}))
|
||||
std::cerr << "Warning: Failed to run nuke script: " << service << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!server_env.run_remote_template_command(service, "uninstall", {}, false, {}))
|
||||
std::cerr << "Warning: Failed to uninstall service: " << service << std::endl;
|
||||
}
|
||||
|
||||
// Remove the service directory from the server, running in a docker container as root.
|
||||
if (server_env.remove_remote_dir(remotepath::service(server, service), true))
|
||||
{
|
||||
ASSERT(!server_env.check_remote_dir_exists(remotepath::service(server, service)), "Service directory still found on server after uninstall");
|
||||
std::cout << "Remote service directory removed: " << remotepath::service(server, service) << std::endl;
|
||||
}
|
||||
else
|
||||
std::cerr << "Warning: Failed to remove remote service directory" << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!server_env.run_remote_template_command(service, "uninstall", {}, false, {}))
|
||||
std::cerr << "Warning: Failed to uninstall service: " << service << std::endl;
|
||||
}
|
||||
|
||||
// Remove the service directory from the server, running in a docker container as root.
|
||||
if (server_env.remove_remote_dir(remotepath::service(server, service), true))
|
||||
{
|
||||
ASSERT(!server_env.check_remote_dir_exists(remotepath::service(server, service)), "Service directory still found on server after uninstall");
|
||||
std::cout << "Removed remote service directory " << remotepath::service(server, service) << std::endl;
|
||||
}
|
||||
else
|
||||
std::cerr << "Warning: Failed to remove remote service directory" << std::endl;
|
||||
std::cerr << "Warning: Service not found on remote server: " << remotepath::service(server, service) << std::endl;
|
||||
}
|
||||
else
|
||||
std::cerr << "Warning: Can't nuke the remote service as the server is invalid: " << server << std::endl;
|
||||
@ -83,14 +88,17 @@ int nuke_one(std::string server, std::string service)
|
||||
if (local_service_path.empty() || !std::filesystem::exists(local_service_path))
|
||||
{
|
||||
std::cerr << "Warning: Local service directory not found: " << local_service_path << std::endl;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
auto itemsdeleted = std::filesystem::remove_all(local_service_path);
|
||||
if (itemsdeleted == 0)
|
||||
std::cerr << "Error: Failed to remove local service directory" << std::endl;
|
||||
}
|
||||
|
||||
auto ret = std::filesystem::remove_all(local_service_path);
|
||||
if (ret != 0)
|
||||
std::cerr << "Warning: Failed to remove local service directory" << std::endl;
|
||||
std::cout << "Nuked service " << service << " on server " << server << std::endl;
|
||||
|
||||
return ret == 0 ? 0 : 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int nuke_handler(const CommandContext &ctx)
|
||||
|
Reference in New Issue
Block a user