A maven approach to deploying the Idp

Misagh Moayyed mmoayyed at unicon.net
Mon May 4 16:52:35 EDT 2015


Following on the last Shib Dev call, I wanted to share a simple exercise
with the IdP v3 deployment. Hopefully, this example contributes to the
discussion of embedding the IdP configuration in other apps, allowing
deployers to only keep what they modify. One note that was raised in the
discussions was the ability to "hide" the types of configurations that
deployers may not immediately care about or have any need to modify and
so, this example offers a solution that is based on the maven overlay
mechanism:

 

https://github.com/UniconLabs/shibboleth-idp-webapp

 

There are a few highlights in the readme file, but in summary, an idp that
is deployed via an overlay allows a deployer to keep and carry only the
modified components. (Similarly, this is an approach that the CAS project
takes for deployments) Everything else is hidden and will be retrieved and
packaged up by Maven automatically. Once the base idp war is available, an
overlay project can then lay on top of it the set of files that need to be
modified. The overlay is all that a deployer cares about.

 

A requirement for this approach is that the base Idp itself must be self
contained and it must have everything available in its own context before
any overlay can overwrite it. Another advantage of this type of build is
that upgrades via an overlay are fairly easily and simply may require a
version bump in the pom. Also, since "the installer" (that is the maven
overlay project) is quite light on size for an initial download as all
dependencies for the installation and deployment steps are auto retrieved
and packaged by maven.  

 

Note that this sample also removes the need for ant-based installs and
auto configures the entire build based on an available idp.properties file
with no extra changes (well, maybe one) I had a bit of trouble in
generating the metadata initially, and by converting the existing any task
to a tool that can be run from the command line, I was able to mavenize
that process as well. 

 

Anyway. Hope you'll find this useful in some way. If there is interest,
I'd be happy to dive deeper in the next community call. 

 

Misagh

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/dev/attachments/20150504/4df8d326/attachment.html>


More information about the dev mailing list