Migrate standalone Tomcat to Debian Trixie - #16
Open
lirazsiri wants to merge 5 commits into
Open
Conversation
Move the packaged Java runtime to OpenJDK 21 while retaining Debian Tomcat 10.1 and its normal APT update path. Keep the standalone direct connectors and correct the bundled documentation link for the packaged Tomcat generation. Add functional acceptance for normal service startup, HTTP and HTTPS, generated manager credentials, a complete WAR deploy/read/undeploy flow, MariaDB, Webmin, and signed Trixie package candidates. Document the README crosswalk, inherited Core evidence, and the harmless legacy authbind compatibility files. Verified with a disposable Trixie package probe, git diff --check, and Bash syntax checks. The exact appliance acceptance remains the next gate.
The shared Trixie cipher substitution preserved its quoted placeholder after inserting the selected list. That produced malformed server.xml, so normal boot left tomcat10.service failed before any HTTP flow could run. Normalize only the invalid suffix after shared configuration. This keeps the selected shared cipher list intact and restores valid Tomcat XML without changing the TLS policy. Verified by reproducing the shared substitution against the shipped server.xml, applying the normalization, parsing the result with Python XML tooling, and rerunning Bash syntax and diff checks. Exact acceptance loop 1 evidence is retained under run 20260824t120525z-6979-20860.
Debian deploys the manager, host manager, and documentation from package directories under /usr/share through context descriptors. The first runtime test incorrectly expected those package payloads in the writable application directory and exited before exercising the documented flow. Check the actual Debian-owned paths and allow the initial landing request to wait while Tomcat completes normal ROOT deployment. Subsequent requests remain immediate, and the WAR flow still proves the writable webapps deployment contract. Verified the three package paths in a disposable Trixie container, then reran Bash syntax and diff checks. Exact acceptance loop 2 proved normal boot and active Tomcat before this focused test correction.
Tomcat 10.1 returns an authenticated text-manager status line of `OK - Server info`; the acceptance test expected a different label and stopped after otherwise successful manager authentication. Assert the actual status line and the following Tomcat 10.1 version field. A disposable Trixie runtime proved the anonymous denial, both authenticated manager pages, server-info output, and the complete WAR deploy, read, undeploy, and 404 flow before this correction.
TurnKey firstboot assigns the MariaDB root password from the database credential, so the acceptance roundtrip could not use Debian package-time passwordless access after normal initialization. Authenticate database creation, write, read, deletion, and failure cleanup with `TKL_TEST_DB_PASS`, matching the established v19 MariaDB appliance tests. Tomcat manager authentication and the full WAR lifecycle were already proven separately as the unprivileged service account. Verified with Bash syntax and diff checks against the retained loop 4 evidence from run 20260824t130248z-2552-25810.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
ef9acd8, with no CRITICAL or HIGH gapsbash -n conf.d/main tests/v19.shshellcheck -x conf.d/main tests/v19.shgit diff --check origin/master...HEAD