<div>Hello, <br></div><div><br></div><blockquote type="cite" class="protonmail_quote"><div><br></div><div><div>Hi,<br></div><div> <br></div><div> Thanks Ivan for starting this dialogue.<br></div></div><blockquote><ul><li><div>have each microservice be its own python package and selectively<br></div><div> install it using pip<br></div><div> <br></div><div> My concern with that approach is that most of my deployments use<br></div><div> multiple microservices (sometimes as many as 4) and so it would be a bit<br></div><div> cumbersome to install SATOSA and then 4 additional microservices. It<br></div><div> would be simpler to just have the microservices be a complete package by<br></div><div> itself.<br></div><div> <br></div><div> On the other hand there is the issue of a microservice having unique<br></div><div> dependencies, like the LDAP Attribute Store has on ldap3.<br></div><div> <br></div><div> I do not have a good answer.<br></div></li><li>have the microservices repo be a package itself and use pip to install it<br></li><li><div>have microservices repo as a git module under satosa (not suggested)<br></div><div> <br></div><div> I agree. That is not a good idea.<br></div></li><li><div>have microservices as something completely external and fetch using<br></div><div> http/git (as shown below). This could mean a lot of different things -<br></div><div> ie, should microservices use code from satosa? if so, satosa is a<br></div><div> dependency to microservices and as such this makes microservices a<br></div><div> package with dependencies, etc.<br></div></li><li>(more options?)<br></li></ul><div>Skoranda mentioned that<br></div><blockquote><div>If you need the LDAP Attribute Store microservice you must also install ldap3 using pip:<br></div></blockquote><div><div>This indicates that certain microservices have their own dependencies.<br></div><div> Users cannot guess what dependencies are needed for a certain<br></div><div> microservice. This information should be explicit and automatically<br></div><div> resolved by the microservice installation process.<br></div><div> This leads me to think to having each microservice as a separate<br></div><div> (python) package, with its own dependencies and deployment process, is<br></div><div> the way to go.<br></div><div> <br></div><div> I think I agree. A deployment that uses many microservices would find it<br></div><div> a bit cumbersome, but not that much since pip does make it fairly<br></div><div> straightforward. This is probably the best compromise.<br></div></div></blockquote></blockquote><div><br></div><div>I agree with Ivan and Scott here. I would prefer to explicitly install any microservices I need as long as it takes care of all the dependencies. I don't think this makes it too cumbersome, and automated provisioning/deployment tools take away that complexity too.<br></div><div>The only issue I would see is the possibility to end up with a huge compatibility matrix to describe which satosa version works with which versions of each microservice, but the interface is rather simple and I don't foresee any breaking changes there in the future.<br></div><div><br></div><div>Ioannis<br></div><blockquote type="cite" class="protonmail_quote"><blockquote><div><div> <br></div><div> Thanks,<br></div><div> <br></div><div> Scott K<br></div></div></blockquote><div><hr><br></div><div><div>Satosa-dev mailing list<br></div><div> <a href="mailto:Satosa-dev@lists.sunet.se">Satosa-dev@lists.sunet.se</a><br></div><div> <a href="https://lists.sunet.se/listinfo/satosa-dev">https://lists.sunet.se/listinfo/satosa-dev</a><br></div></div></blockquote><div><br></div>