A prototype job worker service that provides a gRPC API to run arbitrary processes on Linux or Darwin hosts.
Features:
- RPCs to start, stop, and query a process.
- Stream RPC to follow logs of a process (supports multiple concurrent clients).
- Clients authenticated with mTLS.
- Access control list authorization.
Before proceeding, please ensure you have Docker installed and running.
-
Generate certificates using
cfssl
(bundled as a module dependency).make gencert
-
Build the
jobrunner
image.make build
-
Run the
jobrunner
gRPC service.make run
-
Make requests to
localhost:9090
using a gRPC client or simply run the integration test usingmake integration
.
- Unit tests:
make unit
- Integration tests (server must be running):
make integration