Initial version of mercurius server
While in no way complete - this is a first pass at a server that can do what we want:
- Accept messages from multiple kafka topics and pass them to a command as stdin
- Check the command's exit status and log it
- Stop consuming jobs when a version message is received on a control topic that signals there is a newer version of the software available
- Exit with status code 0 when successfully stopped, and with 1 in case of a fatal error, allowing the orchestrator to restart the server if needed
There are quite a bit of things still missing, including metrics reporting, better logging, and more tests scenarios (including an integration test environment using either devcontainer or docker-compose).
Bug: T355292