janhoy opened a new pull request, #3983: URL: https://github.com/apache/solr/pull/3983
After many years, here is a fresh implementation of [SIP-6](https://cwiki.apache.org/confluence/display/SOLR/SIP-6+Solr+should+own+the+bootstrap+process). ## New bootsrap module This PR adds a new gradle module `solr/bootstrap` which produces `solr-start.jar`, which is copied into `server/` in the binary dist, and is a drop-in replacement for Jetty's `start.jar` and all the jetty xml-config-files. * programmatically setup the Jetty server in the `SolrStart` class. This basically does everything that is currently done by jetty "modules" defined in xml in `server/etc/*.xml`, such as selecting between HTTP and HTTPS, setup requestlogging etc etc. * Generate a self-signed SSL certificate if `SOLR_SSL_ENABLED=true` (this is new, just to prove a benefit) * Construct Solr servlet in pure Java instead of `web.xml` On this foundation we can later configure CORS and memory-locking and other low-level stuff. Or replace Jetty with something else. ## Slimmer start script I made a parallel `bin/solr-bootstrap` start script for this POC. It is a fork of `bin/solr` but thinner, as all the SSL logic is handled in java by bootstrap module. It can be made even slimmer now that we own the `public static void main(String[] args)` method, that can do a whole lot of config processing before bootstrapping Jetty. See [solr/bootstrap/README.md](https://github.com/janhoy/solr/blob/44fc8245242b47ff0602f68e5c21553b7fa5ab5e/solr/bootstrap/README.md) for a full writeup of the approach. https://issues.apache.org/jira/browse/SOLR-14361 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
