...
- Desktop Application: Where a user could login to check their available code bases and agents to deploy. One can launch and stop the agents from this interface with a single click.
- Technologies: javascript, html, css, electronJS, Vuejs, gRPC, protobuf, pinia, vuetify
- Server: It plays the central role it in the architecture right from authenticating users, providing available data, setting the jobs to be executed/removed in queue, create auth keys for orchestration agents etc.
- Technologies: java, springboot, gRPC, protobuf, maven, consul sdk
- Consul: Consul comes into play in service discovery and distributed KV store which is used for all communications between server and orchestration agent
- Orchestration Agent: It is responsible for orchestrating the life cycle of agents in the system. I connects server/consul to local system and also executes docker images, java runnables, other executable files using Nomad (workload orchestration service)
- Technologies: java, springboot, maven, consul sdk, nomad sdk
- Nomad: It is the workhorse which starts and stops all jobs which is controlled by orchestration agent.
...
{"serverDuration": 105, "requestCorrelationId": "b239d018621ac825"}