[Satosa-dev] Microservices installation

Scott Koranda skoranda at gmail.com
Wed Nov 8 14:12:12 CET 2017


Thanks Ivan for starting this dialogue.

> - have each microservice be its own python package and selectively
> install it using pip

My concern with that approach is that most of my deployments use
multiple microservices (sometimes as many as 4) and so it would be a bit
cumbersome to install SATOSA and then 4 additional microservices. It
would be simpler to just have the microservices be a complete package by

On the other hand there is the issue of a microservice having unique
dependencies, like the LDAP Attribute Store has on ldap3.

I do not have a good answer.

> - have the microservices repo be a package itself and use pip to install it
> - have microservices repo as a git module under satosa (not suggested)

I agree. That is not a good idea.

> - have microservices as something completely external and fetch using
> http/git (as shown below). This could mean a lot of different things -
> ie, should microservices use code from satosa? if so, satosa is a
> dependency to microservices and as such this makes microservices a
> package with dependencies, etc.
> - (more options?)
> Skoranda mentioned that
> > If you need the LDAP Attribute Store microservice you must also install ldap3 using pip:
> This indicates that certain microservices have their own dependencies.
> Users cannot guess what dependencies are needed for a certain
> microservice. This information should be explicit and automatically
> resolved by the microservice installation process.
> This leads me to think to having each microservice as a separate
> (python) package, with its own dependencies and deployment process, is
> the way to go.

I think I agree. A deployment that uses many microservices would find it
a bit cumbersome, but not that much since pip does make it fairly
straightforward. This is probably the best compromise.


Scott K

More information about the Satosa-dev mailing list