diff options
| author | Stefan Boberg <[email protected]> | 2026-04-14 16:18:23 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2026-04-14 16:18:23 +0200 |
| commit | 053b7373357d2555bac111b94c6909bc148f24ac (patch) | |
| tree | 456a8ce2a1b38ff6aef342324f7fa4c17fdadd30 /src/zenserver/compute/computeserver.h | |
| parent | 5.8.4 (diff) | |
| download | zen-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.h | 18 |
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; |