aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/compute/computeserver.h
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-04-14 16:18:23 +0200
committerStefan Boberg <[email protected]>2026-04-14 16:18:23 +0200
commit053b7373357d2555bac111b94c6909bc148f24ac (patch)
tree456a8ce2a1b38ff6aef342324f7fa4c17fdadd30 /src/zenserver/compute/computeserver.h
parent5.8.4 (diff)
downloadzen-sb/compute-overmind.tar.xz
zen-sb/compute-overmind.zip
Add Overmind provisioner alongside Horde and Nomadsb/compute-overmind
Introduces the zenovermind module with an HTTP client targeting the Overmind REST gateway (/v1/jobs) and a management-thread provisioner that schedules, polls, and cancels jobs following the same pattern as the existing Nomad provisioner. Wired into the compute server with full CLI options (--overmind-*), lifecycle management, and maintenance tick support behind the ZEN_WITH_OVERMIND compile flag.
Diffstat (limited to 'src/zenserver/compute/computeserver.h')
-rw-r--r--src/zenserver/compute/computeserver.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/zenserver/compute/computeserver.h b/src/zenserver/compute/computeserver.h
index aa9c1a5b3..38705d2e4 100644
--- a/src/zenserver/compute/computeserver.h
+++ b/src/zenserver/compute/computeserver.h
@@ -40,6 +40,13 @@ class NomadProvisioner;
} // namespace zen::nomad
# endif
+# if ZEN_WITH_OVERMIND
+# include <zenovermind/overmindconfig.h>
+namespace zen::overmind {
+class OvermindProvisioner;
+} // namespace zen::overmind
+# endif
+
namespace zen {
class HttpApiService;
@@ -64,6 +71,10 @@ struct ZenComputeServerConfig : public ZenServerConfig
# if ZEN_WITH_NOMAD
nomad::NomadConfig NomadConfig;
# endif
+
+# if ZEN_WITH_OVERMIND
+ overmind::OvermindConfig OvermindConfig;
+# endif
};
struct ZenComputeServerConfigurator : public ZenServerConfiguratorBase
@@ -95,6 +106,10 @@ private:
std::string m_NomadDriverStr = "raw_exec";
std::string m_NomadDistributionStr = "predeployed";
# endif
+
+# if ZEN_WITH_OVERMIND
+ // No string-to-enum options needed for Overmind yet
+# endif
};
class ZenComputeServerMain : public ZenServerMain
@@ -150,6 +165,9 @@ private:
# if ZEN_WITH_NOMAD
std::unique_ptr<zen::nomad::NomadProvisioner> m_NomadProvisioner;
# endif
+# if ZEN_WITH_OVERMIND
+ std::unique_ptr<zen::overmind::OvermindProvisioner> m_OvermindProvisioner;
+# endif
SystemMetricsTracker m_MetricsTracker;
std::string m_CoordinatorEndpoint;
std::string m_CoordinatorSession;