Set up a unified registry servlet for Jetty (#2338)

This PR creates a unified RegistryServlet that will serve all
non-console traffic. It also creates a jetty subproject that allows one
to run Nomulus on top of a standard Jetty 12 runtime.

`./gradlew :jetty:stage` will create a jetty base folder at
`jetty/build/jetty-base` where one is able spin up a local Nomulus server
by running the following command inside the folder:

```bash
java -jar ${JETTY_HOME}/start.jar
```

`JETTY_HOME` is a folder where the [Jetty runtime](https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.6/jetty-home-12.0.6.zip) is located.

This PR also adds a Gradle task to create a Nomulus image based on the
official Jetty image:

```bash
./gradlew :jetty:buildNomulusImage
```
This commit is contained in:
Lai Jiang
2024-02-29 17:37:51 +00:00
committed by GitHub
parent 78c7d44546
commit d1f678bba7
28 changed files with 790 additions and 43 deletions
+7
View File
@@ -0,0 +1,7 @@
FROM jetty:12-jdk17
ADD --chown=jetty:jetty build/jetty-base /jetty-base
ENV JETTY_BASE=/jetty-base
WORKDIR "$JETTY_BASE"
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/usr/local/jetty/start.jar"]