dropshell release 2025.0518.1451
Some checks failed
Dropshell Test / Build_and_Test (push) Has been cancelled

This commit is contained in:
Your Name
2025-05-18 14:51:53 +12:00
parent 5883c62c54
commit f89d90c12b
13 changed files with 137 additions and 162 deletions

View File

@ -49,14 +49,14 @@ namespace dropshell
server_env_manager server_env(server);
if (!server_env.is_valid())
{
std::cerr << "Invalid server: " << server << std::endl;
error << "Invalid server: " << server << std::endl;
return false; // should never hit this.
}
// 2. Check if service directory exists on server
if (!server_env.check_remote_dir_exists(remotepath::service(server, service)))
{
std::cerr << "Service is not installed: " << service << std::endl;
error << "Service is not installed: " << service << std::endl;
return true; // Nothing to uninstall
}
@ -64,20 +64,20 @@ namespace dropshell
std::string uninstall_script = remotepath::service_template(server, service) + "/uninstall.sh";
if (!server_env.run_remote_template_command(service, "uninstall", {}, silent, {}))
if (!silent)
std::cerr << "Warning: Uninstall script failed, but continuing with directory removal" << std::endl;
warning << "Uninstall script failed, but continuing with directory removal" << std::endl;
// 4. Remove the service directory from the server, running in a docker container as root.
if (server_env.remove_remote_dir(remotepath::service(server, service), silent))
{
ASSERT(!server_env.check_remote_dir_exists(remotepath::service(server, service)), "Service directory still found on server after uninstall");
if (!silent)
std::cout << "Removed remote service directory " << remotepath::service(server, service) << std::endl;
info << "Removed remote service directory " << remotepath::service(server, service) << std::endl;
}
else if (!silent)
std::cerr << "Warning: Failed to remove remote service directory" << std::endl;
warning << "Failed to remove remote service directory" << std::endl;
if (!silent)
std::cout << "Completed service " << service << " uninstall on " << server << std::endl;
info << "Completed service " << service << " uninstall on " << server << std::endl;
return true;
}
@ -85,7 +85,7 @@ namespace dropshell
{
if (ctx.args.size() < 1)
{
std::cerr << "Error: uninstall requires a server and a service (or all)" << std::endl;
error << "uninstall requires a server and a service (or all)" << std::endl;
return 1;
}