Extending consul / Plugins system


I was wondering how extending consul is working. The documentation in this regard is actually blank: https://consul_docs.gitbooks.io/docs/content/en/customization/new_features.html

In particular we need a way to extend the authentication process to use the city’s identification system. Is that possible without actually patching consul?

I read in this post https://thoughts.codegram.com/building-decidim-architecture-overview/ than decidim was made because of the rigidity of the consul system. Is this still the case?

Consul plan to be more adaptable in the future (with some plugins system for exemple) or the direction is to keep the simplicity of a monolithic application without the ability to extend it?

If forking and patching is necessary, I guess update can be pretty chaotic. Yet I saw consul is deployed in a lot of different cities and administration. How those instance manage update? Do they keep consul “as it is” with only minor modification?