On Wed, 2018-08-29 at 09:47 +0200, Niels van Dijk wrote:
Hi all,
For some time I have been wondering what is the best practice for
developing on SaToSa. And I have no doubt I lack experience with
developing in phyton, so that probably does not help either.
I would kindly ask you to share how you set this up.
Within my projects I typically have a pool of developers who are
onboarded for a project and may go away after it is finished.
Developing
on satosa alone does not really make sense unless you also have an
IDP
or OP and an SP or RP depending a bit on what needs to be done. In
addition you might need a MDQ and a WAYF service, e.g. based on pyFF.
In
an effort to minimize the overhead of setting all of that up, I have
created a set of dockers that have ready made IdP, SP, RP and pyFF
components so this can just be started and it works. Clearly a bit of
work needs to go into making sure that all the bits know about each
other so client registration and saml metadata needs to be synced
between the various components.
For SaToSa the container model however does not really work well, as
I
have set it up currently. Typically I want to use a git repo as the
source of my codebase. Deploying this codebase with "pip install"
directly pulls it from git into the container and this works well,
but
now modifying the code is really cumbersome as the code is now buried
deep inside the python libraries directory structure, and in addition
I
can no longer directly commit or push my changes from within the
docker
container towards git.
An alternative model where I deploy the codebase on my local disk,
push
changes from there into git and then after each change rebuild the
container is even more annoying. There must be better ways to deal
with
this, but I have not figured that out :(
Any suggestion of best practices of how to set up a "proper" dev
environment for SaToSa, preferably in combination with docker?
Many thanks,
Niels
PS: given that everyone ever wanting to do something with SaToSa
would
also need IdP, SP, RP and probably MDQ would it make sense to in the
neighborhood of SaToSa provide some out of the box components that
set
that up, e.g. like as dockers? I would be happy to share we I have
created for that so far.
Hello Niels and Martin,
I set up this SATOSA dev repo,
https://github.com/IdentityPython/satosa
-developer. If you put a symlink in the sources dir it will be used
instead of the SATOSA code in the container.
12:01:32 {master} ~/projects/satosa-developer$ tree
.
│ └── compose.yml
├── sources
│ └── satosa -> $HOME/projects/satosa
The repo also contains SP, IdP and OP. I haven't had time to set up an
RP.
It was also a bit of time since I used it so I hope it still works. Any
PRs are most welcome.
Br
--
Johan Lundberg
SUNET
Tulegatan 11
113 53 Stockholm
+46730714375