···
2
+
synopsis: "Distribute build jobs to workers"
4
+
OCluster manages a pool of build workers.
5
+
A build scheduler service accepts build jobs from clients and distributes them to worker machines using Cap'n Proto.
6
+
Workers register themselves by connecting to the scheduler (and workers do not need to be able to accept incoming network connections).
8
+
The scheduler can manage multiple pools (e.g. `linux-x86_64` and `linux-arm32`).
9
+
Clients say which pool should handle their requests.
10
+
At the moment, two build types are provided: building a Dockerfile, or building an OBuilder spec.
11
+
In either case, the build may done in the context of some Git commit.
12
+
The scheduler tries to schedule similar builds on the same machine, to benefit from caching."""
13
+
maintainer: ["talex5@gmail.com"]
14
+
authors: ["talex5@gmail.com"]
15
+
license: "Apache-2.0"
16
+
homepage: "https://github.com/ocurrent/ocluster"
17
+
doc: "https://ocurrent.github.io/ocluster/"
18
+
bug-reports: "https://github.com/ocurrent/ocluster/issues"
21
+
"ocluster-api" {= version}
22
+
"ocluster-worker" {= version}
23
+
"ocaml" {>= "4.12.0"}
24
+
"capnp-rpc-lwt" {>= "1.2.3"}
25
+
"capnp-rpc-net" {>= "1.2.3"}
26
+
"capnp-rpc-unix" {>= "1.2.3"}
27
+
"cmdliner" {>= "1.1.0"}
28
+
"conf-libev" {os != "win32"}
29
+
"digestif" {>= "0.8"}
36
+
"mirage-crypto" {>= "0.8.5"}
37
+
"obuilder" {>= "0.5.1"}
38
+
"ppx_expect" {>= "v0.14.1"}
41
+
"prometheus-app" {>= "1.2"}
44
+
"winsvc" {>= "1.0.1" & os = "win32"}
45
+
"current_ocluster" {= version & with-test}
46
+
"alcotest" {>= "1.0.0" & with-test}
47
+
"alcotest-lwt" {>= "1.0.1" & with-test}
48
+
"mirage-crypto-rng" {>= "0.11.0" & with-test}
49
+
"mirage-crypto-rng-lwt" {>= "0.11.0" & with-test}
53
+
["dune" "subst"] {dev}
62
+
"@runtest" {with-test}
66
+
dev-repo: "git+https://github.com/ocurrent/ocluster.git"
69
+
"https://github.com/ocurrent/ocluster/releases/download/v0.2.1/ocluster-0.2.1.tbz"
71
+
"sha256=3b88db5ad1edfaf3295bb145c64d5afc6fb7271ac20f69054eb91860dd4a5dff"
72
+
"sha512=88b885c2556b822f7970f4ef9ffd6402ff6cc21cf9aa9ac10a13992e144d23398a99ed1dc71ff09f47c026222c6cfd009af316a45e425d5f058c2f522ebb909d"
75
+
x-commit-hash: "d177823e29803387eb12e2db9e55981ae9f00a2f"