Update source/src/services.cpp
All checks were successful
Build-Test-Publish / build (linux/amd64) (push) Successful in 33s
Build-Test-Publish / build (linux/arm64) (push) Successful in 1m6s

This commit is contained in:
Your Name
2025-08-24 21:56:52 +12:00
parent 657dea1f19
commit a44637f78e

View File

@@ -114,12 +114,17 @@ namespace dropshell
template_info tinfo = gTemplateManager().get_template_info(service.template_name);
if (!tinfo.is_set())
{
error << "Template specified '" << service.template_name << "' could not be found" << std::endl;
return LocalServiceInfo();
// Template might be available from registry but not cached yet
// Don't fail here - let the install command handle downloading if needed
warning << "Template '" << service.template_name << "' not found locally, may need to download from registry" << std::endl;
// Set template_name but leave local_template_path empty
// The install command will try to get the template again
}
else
{
// find the template path
service.local_template_path = tinfo.local_template_path();
}
// find the template path
service.local_template_path = tinfo.local_template_path();
{ // set the user.
auto it = variables.find("SSH_USER");
@@ -140,12 +145,17 @@ namespace dropshell
auto it = variables.find("TEMPLATE_HASH");
if (it == variables.end())
error << "Variable TEMPLATE_HASH not found in the service " << filenames::template_info_env << std::endl;
else
else if (tinfo.is_set())
{
uint64_t service_template_hash = std::stoull(it->second);
service.service_template_hash_match = (service_template_hash == tinfo.hash());
//debug << "Service template hash: " << service_template_hash << " == " << tinfo.hash() << std::endl;
}
else
{
// Template not available yet, can't check hash
service.service_template_hash_match = false;
}
}
return service;