-
Type: Improvement
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Component/s: CI/CD
-
Epic Link:
-
Tags:
-
Upgrade notes:
-
Team:PLATFORM
-
Sprint:nxplatform 11.1.21, nxplatform 11.1.22
-
Story Points:3
Even if the goal is to have an immutable image that goes from environment to environment
Here are several configuration use case that have to be covered to deploy the image in various scenarios.
Custom regular configuration
At build time we can install a Nuxeo Package that contains the configuration parameter and add the package to the list of included templates in `nuxeo.conf`
Backend configuration (DBs, Kafka etc...).
Using DNS resolution is not enough as we also need credentials and other params (ssl=true in MongoDB for instance or specification of some certs). Nuxeo APB uses a convention with the presence of /opt/nuxeo/bindings/* folders (see https://github.com/nuxeo/nuxeo-apb-catalog/blob/master/nuxeo-apb/files/init.sh), NCO uses a slightly different approach by using a `nuxeo.conf.d` folder that is populated by the ansible provisioning system (https://github.com/nuxeo/nco-platform/tree/3c3ce91dcf9b039ffe249d00229d607eed684527/ansible/roles/nuxeo-configure/templates/nuxeo.conf.d). They both append the configuration to nuxeo.conf
JAVA_OPTS
JAVA_OPTS configuration is probably something that we want being able to change without having to rebuild an image. Options like -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1 may help, but we probably also want to configure options to enable debugging options.
Complete this TODO in the docker README.
- is related to
-
NXDOC-2018 Explain choices about default JVM heap size settings and add recommendations
- Resolved
-
NXP-27514 Allow to build Nuxeo Docker images with packages installed at build time
- Resolved
-
NXP-28146 Better system for environment specific application configuration
- Resolved
- Is referenced in