Skip to content

New manager webapp for Tomcat - #1069

Open
rmaucher wants to merge 24 commits into
apache:mainfrom
rmaucher:main
Open

rmaucher wants to merge 24 commits into
apache:mainfrom
rmaucher:main

Conversation

@rmaucher

Copy link
Copy Markdown
Contributor

This is a new more modern manager/admin webapp for Tomcat. The webapp is currently located in modules/manager2. This includes a testsuite.

What it is:

  • A modern reactive webapp designed and implemented using OpenCode (with various models backing it up). It is meant to be tool maintained.
  • Scales down to phone layouts and meant to be used or partially packaged as an application later.
  • The UI is subject to subsequent changes, just like apps often get a fresh look once in a while.
  • A lot of the more complex backend code remains in the existing Manager servlet (webapp deployment and management) and StoreConfig (saving a configuration back to the server.xml storage).
  • Bring back the functionality of the Tomcat Admin webapp from Tomcat 5.

What it is not:

  • A replacement for the tool endpoints (JMX scripting and deployment) provided by the existing legacy manager webapp.
  • A component that will be released independently and has to support N different Tomcat releases. (why: see Maven plugin)
  • A binary release. As a module, it will be source packaged in any future Tomcat 12-M release, but will not ship as a binary or anything. This can eventually move to the main source tree and be backported. Or not.

Use ant to build, ant deploy to put it in the output/build/webapps of the main folder to be able to run it, and ant test to run the tests (which takes time, basically most of the tests use a different config, some test deployment, edit and save to server.xml, so it's hard to avoid it even if I wanted to).

Please keep PR review focused on essentials:

  • If you do not like it and do not want to see it merged, please say so (preferably before it is merged :) ). I will not complain since this was basically an experiment.
  • Significant bugs or issues that must be addressed before merging.
  • There are a few changes to the Tomcat to make TLS configuration more flexible with add/remove of stuff. It is not strictly needed, so I can take it out.
  • I can rename the webapp. I named it "manager2", which works for me because it seemed like Manager Webapp 2.0 and it cannot fully replace the original one either.
  • Please don't review any single trivial defect, we can see about it after merging. The code will go through the usual review/fix cycles anyway.
  • It is Ant based (not Maven), but the directory layout was Maven inspired. I can fix it if needed.

remm and others added 22 commits September 15, 2026 16:03
- Weird endpoint changes to allow flexibility when editing TLS
configuration.
TODO:
- Missing List<UpgradeProtocol> upgradeProtocols configuration (only
specialized HTTP/2 support is really needed in practice).
- Add a "Restart" button (which would do a Stop followed by a Start for
all components that implement Lifecycle. Not all attribute changes take
effect without at least a restart (which attributes work "live" is
rather undocumented), so this is needed after certain changes.
Tested on a phone in portrait or landscape mode.
The only really not so nice item is the icon row.
Also redo the icons and the bar scaling.
Add some accent colors.
Much needed for logs.
Comment thread modules/manager2/src/main/java/org/apache/tomcat/manager2/LogsApiServlet.java Dismissed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants