There are commonly customized configuration options that are currently stored in the installation folder and a user needs to remember to copy these over every time.
As an admin, I want to be able to store the commonly customized property files inside the data folder so that I don't have to remember to reapply them or copy them every time I upgrade.
This should include things like the jetty config, port, webapp context, logging, jvm options, ha (hazelcast, orient), ehcache.xml etc.
- Create a single property file with commonly-changed properties
- this lives in the data folder, which is read and pushed into other configuration via templates/property placeholders, so that (e.g.) jetty configuration files can still change structure version-to-version
- a similarly structured default properties file provides values for properties not set by the user (e.g. in cases where Nexus 3.(n+1) adds a new user-configurable property)
- When NX3 first boots, if the property override file does not exist, NX creates it
- (No overrides are set in this NX-created file, but comments explain the available configuration properties)
- Subdivide the /etc directory into sub-directories to separate routinely changed configuration from rarely/never-changed configuration files
- Documentation exists to explain this, including the different manual steps needed to upgrade from pre-3.0 to 3.1
- Circulate the proposed layout with the NX team and Support prior to implementation