Create a more robust Service Controller package to support the "modular binary" approach
The POC was implemented quickly to demonstrate value. As we move towards production (including bringing in our other services) we need to consider building a more robust Service Controller.
Requirements are:
- move logic from the
startcommand to a logical package - support the modular binary approach
- default behavior should be running a single instance (vertical scalability)
- customer should be able to select the services they wish to start (horizontal scalability)
- required for multi-kas and federation
- handle graceful shutdown of services, panics, logging, etc
@pflynn-virtru
what happens when the OPA engine goes down? Does the whole server get marked as unhealthy? Does it restart the OPA engine?
I would also ask, can you run the platform without OPA? Seems that OPA is required for Authorization, but I could decouple my Policy API service from Authorization if desired.
@jrschumacher Is this already done?
We could call it done or leave it open for further enhancements. Might be best to just open new issues when work is identified and time permits.