Skip to content

build: web.xml on the Jakarta EE 11 (Servlet 6.1) schema (PR 6 of jakarta migration #861) - #940

Merged
ismisepaul merged 23 commits into
feat/jakarta-05-saml-pac4jfrom
feat/jakarta-06-webxml-docker
Oct 23, 2026
Merged

ismisepaul merged 23 commits into
feat/jakarta-05-saml-pac4jfrom
feat/jakarta-06-webxml-docker

Conversation

@ismisepaul

@ismisepaul ismisepaul commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

PR 6 of the Jakarta migration stack (#861)

Stacked on #939 (PR 5).

Change

web.xml: Java EE 2.5 descriptor → Jakarta EE web-app 6.1 (https://jakarta.ee/xml/ns/jakartaee). Annotation scanning was already on under 2.5 (the /api/* servlets rely on @WebServlet), so metadata-complete stays unset.

The Tomcat 11 server.xml / web.xml patches and Dockerfile changes that were originally here have moved to PR 4 (#936). They belong with the Tomcat 11 image change, and without them docker compose build failed on PRs 4 and 5.

Verification

Full Docker smoke test of the stack on Tomcat 11.0.27: the WAR deploys with no SEVERE; /api/levels (an @WebServlet) returns 200; admin login and translated JSPs work.

Please merge with a merge commit.

Refs #861

🤖 Generated with Claude Code

ismisepaul and others added 2 commits October 22, 2026 20:48
…R 6 of jakarta migration #861)

- web.xml: Java EE 2.5 descriptor -> Jakarta EE web-app 6.1
  (https://jakarta.ee/xml/ns/jakartaee). Annotation scanning was already
  on under 2.5 (the /api servlets rely on @WebServlet), so
  metadata-complete is left unset.
- docker/tomcat/serverxml.patch regenerated against Tomcat 11.0.27's
  conf/server.xml: the old 8080-connector hunk no longer matched, which
  would fail `RUN patch` in the image build. The HTTPS connector now
  uses <SSLHostConfig>/<Certificate> instead of the legacy
  Connector-level keystoreFile/keystorePass/keyAlias attributes; the
  resulting setup is the same (8080 redirects to HTTPS_PORT, TLS on
  8443 from the built keystore).
- Dockerfile placeholder substitution updated for the new attribute
  names.

webxml.patch still applies cleanly to Tomcat 11.0.27's conf/web.xml.

Refs #861

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The old patch was a diff against a 2020 Tomcat web.xml. On Tomcat 11's
conf/web.xml, GNU patch (used in the image build) only applied it with
fuzz 2 at an offset of -4108 lines, dropping the security-constraint
between session-config and the MIME mappings. That is still valid XML
and still enforced HTTPS, but only by luck. Regenerated as an exact diff
against the base image's conf/web.xml; verified with the image's own
GNU patch (Hunk #1 succeeded, no fuzz) alongside serverxml.patch.

Refs #861

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The focused configuration changes align with the Tomcat 11 baseline, with no unresolved findings and reported deployment smoke tests passing.

No open issues 🎉

What changed in this PR

Updates Security Shepherd’s deployment configuration for Jakarta EE 11 and Tomcat 11 as part of migration #861, following the SAML changes in #939.

Changes:

  • Migrates the application descriptor to Servlet 6.1 while preserving annotation scanning.
  • Regenerates Tomcat configuration patches for HTTP-to-HTTPS redirects and the modern TLS certificate configuration.
  • Updates Docker build substitutions to match the new certificate attributes.
File Description
src/​main/​webapp/​WEB-INF/​web.xml Adopts the Jakarta namespace and Servlet 6.1 schema.
Dockerfile Updates TLS certificate placeholder substitutions.
docker/​tomcat/​webxml.patch Places the HTTPS constraint immediately before the closing application tag.
docker/​tomcat/​serverxml.patch Refreshes Tomcat patch context and uses nested TLS certificate configuration.

Review effort: Balanced

@ismisepaul
ismisepaul added this pull request to stack #943 October 22, 2026 21:01
@ismisepaul ismisepaul changed the title build: Jakarta EE 11 web.xml and Tomcat 11 config patches (PR 6 of jakarta migration #861) build: web.xml on the Jakarta EE 11 (Servlet 6.1) schema (PR 6 of jakarta migration #861) Oct 22, 2026
Copilot AI balanced review requested due to automatic review settings October 22, 2026 21:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrowly scoped descriptor update matches the migration stack’s runtime and API configuration, with no unresolved findings.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 22, 2026 21:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrowly scoped descriptor update matches the stack’s Servlet 6.1 API and Tomcat 11 runtime, with no unresolved findings.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 22, 2026 21:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrow descriptor update matches the stacked Servlet 6.1/Tomcat 11 baseline and has no unresolved findings.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 22, 2026 21:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrowly scoped descriptor update matches the migration stack’s API and runtime, with no blocking issues identified.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 22, 2026 21:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrowly scoped descriptor update matches the established Servlet 6.1/Tomcat 11 baseline and preserves annotation-based servlet discovery.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 23, 2026 16:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrowly scoped descriptor update matches the migration stack’s runtime baseline and preserves annotation scanning, with no blocking issues identified.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 23, 2026 16:37

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrowly scoped descriptor update matches the migration stack’s runtime and API versions, with no identified blocking issues.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 23, 2026 16:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrow descriptor update matches the stack’s Servlet 6.1 API and Tomcat 11 runtime, with no blocking issues identified.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 23, 2026 16:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrowly scoped descriptor update matches the stack’s Servlet 6.1 and Tomcat 11 baseline, with no blocking issues identified.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 23, 2026 17:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrow descriptor update matches the stack’s Servlet 6.1 and Tomcat 11 baseline, with no unresolved findings.

No open issues 🎉

Review effort: Balanced

@ismisepaul ismisepaul moved this from Backlog to In Progress in Security Shepherd Oct 23, 2026
Copilot AI balanced review requested due to automatic review settings October 23, 2026 17:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The narrowly scoped descriptor update matches the established runtime baseline and preserves annotation discovery, with no unresolved findings.

No open issues 🎉

Review effort: Balanced

@ismisepaul
ismisepaul merged commit cb548ee into dev Oct 23, 2026
13 of 19 checks passed
@ismisepaul ismisepaul moved this from In Progress to Done in Security Shepherd Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants