Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-1356

Undertow standalone distribution akin to Tomcat's zip distribution

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Minor
    • None
    • None
    • None
    • None
    • User Experience

    Description

      This is a placeholder JIRA for a possible implementation/artifact. It has neither any formal planning nor priority set and it might not happen at all.

      Standalone servlet container server

      It would be convenient for those who prefer Undertow servlet container over Tomcat servlet container to be able to download and run Undertow packaged with "batteries included", to create similar experience to unpacking and deploying to Tomcat or Wildfly. At the time of writing of this JIRA, one has to either use Undertow with Wildfly or as an embedded container in one's application or a third party web app framework.

      Layout

      A simple sketch to give a rough idea what the aforementioned paragraph actually suggests:

      ├── bin
      │   ├── bootstrap.jar
      │   ├── undertow.bat
      │   └── undertow.sh
      ├── conf
      │   ├── undertow.properties
      │   ├── context.xml
      │   ├── logging.properties
      │   ├── server.xml
      │   └── web.xml
      ├── lib
      │   ├── annotations-api.jar
      │   ├── undertow-websockets-jsr.jar
      │   ├── undertow-core.jar
      ...
      │   ├── undertow-servlet.jar
      │   └── undertow-parser-generator.jar
      ├── LICENSE
      ├── logs
      ├── temp
      ├── webapps
      │   ├── docs
      │   │   └── index.html
      │   ├── examples
      │   │   └── index.html
      │   └── ROOT
      │       ├── jboss-logo.svg
      │       ├── undertow-logo.svg
      │       ├── favicon.ico
      │       ├── index.jsp
      │       ├── undertow.css
      │       └── WEB-INF
      │           └── web.xml
      └── work
          └── undertow
              └── localhost
                  ├── docs
                  ├── examples
                  └── ROOT
      

      Containerized

      The server should be properly containerized so as it is possible to set all its pertinent configuration properties as env variables, e.g. not unlike what is done here: jws-3-tomcat-8-mod_cluster. The point is to be able to feed BASE64 encoded certs and keys to the container alongside with various key attributes, just like with this Tomcat example:

      docker run --net=host \
      -e 'TOMCAT_KEYSTORE_PASS=tomcat' \
      -e 'TOMCAT_JVM_ROUTE=worker-1' \
      -e 'TOMCAT_ENABLE_MOD_CLUSTER=true' \
      -e 'TOMCAT_MOD_CLUSTER_ADVERTISE=true' \
      -e 'TOMCAT_USERNAME=tomcat' \
      -e 'TOMCAT_PASSWORD=tomcat' \
      -e 'TOMCAT_NIC=enp0s31f6' \
      -e 'TOMCAT_ADDR_PREFIX=10' \
      -e 'TOMCAT_MOD_CLUSTER_ADVERTISE_PORT=23364' \
      -e 'TOMCAT_MOD_CLUSTER_ADVERTISE_GROUPADDRESS=224.0.1.105' \
      -e 'TOMCAT_ENABLE_HTTP_CONNECTOR=false' \
      -e 'TOMCAT_ENABLE_AJP_CONNECTOR=false' \
      -e 'TOMCAT_MOD_CLUSTER_SSL=true' \
      -e 'TOMCAT_ENABLE_HTTPS_CONNECTOR=true' \
      -e 'TOMCAT_HTTPS_CONNECTOR_CLIENT_AUTH=true' \
      -e 'TOMCAT_CA_CRT_BASE64=LS0tLS...many...more...chars...EUtLS0tLQo=' \
      -e 'TOMCAT_CLIENT_CRT_BASE64=Q2VydGlmaWNhd...many...more...chars...LS0tLS0K' \
      -e 'TOMCAT_CLIENT_KEY_BASE64=LS0tLS...many..more...chars...ktLS0tLQo=' \
      -e 'TOMCAT_SERVER_CRT_BASE64=Q2VydGlmaWN...many...more...chars...LRVktLS0tLQo=' \
      -d -i --name jws-tomcat-8-mod_cluster your-docker-registry.example.com/karm/jws-tomcat-8-mod_cluster:3.1.1
      

      Attachments

        Issue Links

          Activity

            People

              mbabacek1@redhat.com Michal Karm
              mbabacek1@redhat.com Michal Karm
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: