Jetty Deployment

This is an attempt to to centralize discussion about our deployment of Jetty where it is now and where it may go.

Current Status

  • There is a project java-idp-jetty-base which contains our "preferreded" jetty-base layout.  Jetty versioning is mirror by branches in this tree.
  • There is documentation for deployers Jetty93 and jetty93.

We use the project to drive the java-idp-testbed and java-idp-integration-tests|.  It is also an upstream dependency (alongside the IdP and the current jetty version) of the Windows Installer (which tries to bridge the knowledge gap that Windows SysAdmins have about open source projects by bundling things up in a package mechasism they are used to).  The project has also been used to deploy into Docker.

We instruct non-Windows users (and advanced Windows users) to use the documentation to deploy and manage their own system.

It should also be mentioned that there is also a java-idp-tomcat-base which is used for testing and also Tomcat  documentation.


In IDP-1094 - Getting issue details... STATUS  there has been conversation about this, and much else, culminating in the suggestion to formalise this discussion in the wiki, hence this page.  

Requirements

MUST:

  • Be possible to do a sensible default deployment using property file manipulation only. We are not going to be editing XML in the installer, but we do allow ourselves to manipulate properties files.
  • Have an easy explanation of "touch these files, don't touch those" rules that the end user can understand. In the windows world they currently get to edit one named property file.
    The IdP installation makes this very easy. Obviously the ..\jettty-base\.. and ..\jetty\... paradigm works for jetty (modulo their upgrade story), but I'm guessing that we'd seek to be shipping a jetty-base. Apart from the customer support side, it makes installation easier when you can "delete and populate" one well specified set and "copy if not present" the other.
  • Work in our test environment.

SHOULD:

  • Share config with the windows installed jetty. I don't see why this shoudn't be possible since the only difference is how Jetty is started, which leads to the
  • Provide a sensible (series of) mechanism(s)to deal with the "Port < 1024" problem
  • Not tie us to have to ship a new version of the IdP with new jetty distro's (The Windows one does, but that's because of the putative skill sets of Windows users)
  • Be a separate deliverable from the IdP (Again the Windows Installer can be considered to be a down level consumer of this, the IdP and Jetty)


There will be more requirements, driven from the deployment side.

Next steps

Open up the requirements for discussion.  With them understood we can look at what we have, and what has been proposed in IDP-1094.  For instance there is a discussion about jetty module files.  Are these good idea or a bad idea?  where are they documentes and so forth.


Modules

The Jetty 9.4 Documentation has been improved recently for creating custom modules - http://www.eclipse.org/jetty/documentation/9.4.x/custom-modules.html