-
Notifications
You must be signed in to change notification settings - Fork 31
Description
Elaborating a bit on option 2: of course, the (generated) docker-compose.yml for each module could also provide an additional server entry point – a simple REST API wrapper for resmgr CLI. Its (generated) volume and variable config would have to match the respective Processing Worker (or Processor Server) to be used. But the local resmgr would not need to "know" anything beyond what it can see in its thin container – a local ocrd-all-tool.json and ocrd-all-module-dir.json precomputed for the processors of that module at build time, plus the filesystem in that container and mounted volumes.
In addition, to get the same central resmgr user experience (for all processor executables at the same time), one would still need
- either a single server (with resmgr-like endpoints or even providing some
/discovery/processor/resources
) which delegates to the individualresmgr
servers,- or an intelligent
resmgr
client doing the same.Regardless, crucially, this central component needs to know about all the deployed resmgr services – essentially holding a mapping from processor executables to module resmgr server host-port pairs. This could be generated along with the docker-compose.yml (in a new format like
ocrd-all-module-dir.json
), or the latter even gets parsed directly.
Originally posted by @bertsky in OCR-D/ocrd_all#69 (comment)