Choria is a very loosely coupled system with no central controller and in fact no shared infrastructure other than a middleware that is completely “dumb”. What this means is there is no per request processing anywhere centrally other than just to shift the packets. No inventory databases, user databases or other shared infrastructure to scale or maintain - though several integration options exist should you choose to do so.
There are many reasons for this - in a large scale environment there are always things broken and automation systems should do their best to keep working even in the face of uncertainty. This design extends from the servers, middleware all the way to the client code. The loosely coupled design ensures that what can be managed will be managed.
This is generally fine and works within my design parameters and goals. For the client though in enterprise environments this is problematic:
- Enterprises are heavily invested in SSO and entitlement based flows for permissions
- Enterprises and regulated environments have strong requirements for auditing to centralized systems
- Certificate management for individual users is a nearly impossible hurdle to scale
So today I would like to present a new extension point that allow you to fully centralize AAA for the Choria CLI.[Read More]