···
+
synopsis: "Distribute build jobs to workers"
+
OCluster manages a pool of build workers.
+
A build scheduler service accepts build jobs from clients and distributes them to worker machines using Cap'n Proto.
+
Workers register themselves by connecting to the scheduler (and workers do not need to be able to accept incoming network connections).
+
The scheduler can manage multiple pools (e.g. `linux-x86_64` and `linux-arm32`).
+
Clients say which pool should handle their requests.
+
At the moment, two build types are provided: building a Dockerfile, or building an OBuilder spec.
+
In either case, the build may done in the context of some Git commit.
+
The scheduler tries to schedule similar builds on the same machine, to benefit from caching."""
+
maintainer: ["talex5@gmail.com"]
+
authors: ["talex5@gmail.com"]
+
homepage: "https://github.com/ocurrent/ocluster"
+
bug-reports: "https://github.com/ocurrent/ocluster/issues"
+
"dune" {>= "3.3" & < "3.6.0"}
+
"ppx_expect" {>= "v0.14.1"}
+
"prometheus" {>= "1.2"}
+
"ocluster-api" {= version}
+
"capnp-rpc-unix" {>= "1.2"}
+
"winsvc" {>= "1.0.1" & os = "win32"}
+
"cmdliner" {>= "1.1.0"}
+
"conf-libev" {os != "win32"}
+
"prometheus-app" {>= "1.2"}
+
"mirage-crypto" {>= "0.8.5"}
+
"current_ocluster" {= version & with-test}
+
"alcotest" {>= "1.0.0" & with-test}
+
"alcotest-lwt" {>= "1.0.1" & with-test}
+
"@runtest" {with-test & os != "macos"}
+
dev-repo: "git+https://github.com/ocurrent/ocluster.git"
+
"https://github.com/ocurrent/ocluster/releases/download/v0.2/ocluster-0.2.tbz"
+
"sha256=a6245d78f1f2b4b431596cfe167dfe18497b72c2844b8b7fb99603731eda4192"
+
"sha512=477f16a1abc7de7c8e807ac1b8e33a461865e20358734716707874af2e6fec47f7fe24753cd88d520fe94921d9f1f8da63d96c41ab1dfae9f86be85dd4098c7d"
+
x-commit-hash: "222011c2ef5100f9ed43234c59d215dc2430bfca"