Distribute build jobs to workers

Description

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.

Published: 08 Dec 2022

Dependencies (30)

  1. odoc with-doc
  2. alcotest-lwt >= "1.0.1" & with-test
  3. alcotest >= "1.0.0" & with-test
  4. current_ocluster = version & with-test
  5. ocaml >= "4.12.0"
  6. mirage-crypto >= "0.8.5"
  7. psq >= "0.2.1"
  8. obuilder = "0.5"
  9. sqlite3
  10. cohttp-lwt-unix
  11. prometheus-app >= "1.2"
  12. lwt-dllist
  13. fpath
  14. digestif >= "0.8"
  15. conf-libev os != "win32"
  16. fmt
  17. logs
  18. cmdliner >= "1.1.0"
  19. winsvc >= "1.0.1" & os = "win32"
  20. extunix >= "0.4.1"
  21. capnp-rpc-unix >= "1.2"
  22. capnp-rpc-net
  23. capnp-rpc-lwt
  24. lwt >= "5.6.1"
  25. ocluster-api = version
  26. dune-build-info
  27. ppx_sexp_conv
  28. prometheus >= "1.2"
  29. ppx_expect >= "v0.14.1"
  30. dune >= "3.3" & < "3.6.0"

Reverse Dependencies

    None

Conflicts (1)

  1. conduit >= "6.2.0"

Install

Authors

Maintainers

Sources

ocluster-0.2.tbz
sha256=a6245d78f1f2b4b431596cfe167dfe18497b72c2844b8b7fb99603731eda4192
sha512=477f16a1abc7de7c8e807ac1b8e33a461865e20358734716707874af2e6fec47f7fe24753cd88d520fe94921d9f1f8da63d96c41ab1dfae9f86be85dd4098c7d