Port to OCurrent on Eio
Drop Lwt throughout; use Eio for the engine, web server, capnp-rpc,
prometheus and ocluster. Bumps the OCaml floor to 5.0 since Eio needs
effects.
Wiring changes that follow the ocurrent-deployer Eio port:
- src/base_images.ml: Eio_main.run + Switch.run; thread sw/net/clock/fs
through; Engine.create takes ~sw ~env and a closure that builds caps;
Prometheus_unix.serve and Current_web.run are now Eio-aware.
- src/pipeline.ml: Real plugin instance moved into v because Docker and
OCluster are now per-engine first-class modules built from caps;
notify_status takes ~slack alongside ~channel since Current_slack.post
needs the runtime.
- src/git_repositories.ml, src/win_ver.ml: drop Lwt operators in favour
of Result.bind (let*); Process.exec takes a string list; Capnp_rpc.Std
replaces Capnp_rpc_lwt; Cache.create now requires ~caps.
- src/s.ml, src/dump.ml: alias Cluster_api = Current_ocluster.Cluster_api
so the OCURRENT signature and the Fake module resolve against the new
Cluster_api_eio package.
Dockerfile: bump build base to ocaml/opam:debian-13-ocaml-5.4 and pin
the prometheus / current_* / ocluster eio forks before installing deps.
747822
-
May 13 13:49 +00:00