An Open Computational Genomics Analysis platform for big data genomics analysis. OpenCGA is maintained and develop by its parent company Zetta Genomics. Please contact support@zettagenomics.com for bug report and feature requests.
Apache License 2.0
166
stars
97
forks
source link
Enhance settings.xml to better support remote and clustered MongoDB #977
At present, settings.xml files are used, during build, to supply values that are then injected into files such as configuration.yaml and 'storage-configuration.yaml.
When configuring MongoDB, there are several places where settings need to be defined:
in configuration.yaml in order to define the database settings for the catalog database
in storage-configuration.yaml in order to define the database settings for alignment database
in storage-configuration.yaml in order to define the database settings for the variant database
Across these three locations, where we need to inject details about MongoDB, there is mixed support for injecting values into these locations from settings.xml:
For the catalog, we can define the following place holders...
for the variant database, a similar set to the catalog are settable from settings.xml:
hosts:
- "${OPENCGA.STORAGE.VARIANT.DB.HOSTS}"
user: "${OPENCGA.STORAGE.VARIANT.DB.USER}"
password: "${OPENCGA.STORAGE.VARIANT.DB.PASSWORD}"
options: ## This is intended for database specific options such as --authenticationDatabase in MongoDB
authenticationDatabase: ${OPENCGA.STORAGE.MONGODB.VARIANT.DB.AUTHENTICATION_DATABASE}
connectionsPerHost: ${OPENCGA.STORAGE.MONGODB.VARIANT.DB.CONNECTIONS_PER_HOST}
readPreference: "secondaryPreferred"
There should be a consistent set of values, across these three MongoDB databases, that can be defined in settings.xml and injected into the YAML config files. This set should include sslEnabled.
At present,
settings.xml
files are used, during build, to supply values that are then injected into files such asconfiguration.yaml
and 'storage-configuration.yaml.When configuring MongoDB, there are several places where settings need to be defined:
configuration.yaml
in order to define the database settings for the catalog databasestorage-configuration.yaml
in order to define the database settings for alignment databasestorage-configuration.yaml
in order to define the database settings for the variant databaseAcross these three locations, where we need to inject details about MongoDB, there is mixed support for injecting values into these locations from
settings.xml
:... but note that
sslEnabled
can't be set (understandable, as this is a new option).settings.xml
(no options):settings.xml
:There should be a consistent set of values, across these three MongoDB databases, that can be defined in
settings.xml
and injected into the YAML config files. This set should includesslEnabled
.