NXRM Storage, Database, and High Availability📜
Can be a shared file system or a cloud object store.
Recommended Shared File Systems📜
- NFS v4
- AWS EFS
- AWS S3
Nexus 3 by default uses an embedded OrientDB for holding metadata and pointers for the blob store, or you may elect to use an external database.
External Database Support📜
Nexus 3 supports integration with an external database.
To enable external database support you must satisfy the following conditions:
- Pro license
- nexus.properties.override must be set to true
- Add a key value pair of
- Add a value for
custom_admin_passwordand set in database
- A provisioned database, typically RDS or equivalent
- An understanding of migration steps relevant for your environment:
- Initial provision
- Database migration
Additionally, the following must be supplied in
- name: NEXUS_DATASTORE_NEXUS_JDBCURL value: jdbc:postgresql://rds-hostname.us-east-1.rds.amazonaws.com:5432/nexus - name: NEXUS_DATASTORE_NEXUS_USERNAME value: nexus - name: NEXUS_DATASTORE_NEXUS_PASSWORD value: password
Please note - the randomized password generation does not support populating a
After the database is provisioned (via Terraform, for example), connect to the
database and follow this document
to create the admin user and password. Ensure the value is populated in
# you can use the following pod to execute psql commands to interact with your database kubectl exec -it -n gitlab deploy/gitlab-toolbox -c toolbox -- sh $ psql -U USER -h HOSTNAME
Discussing with Sonatype to ensure their HA-C solution is compatible with our deployment.
The upstream charts have the replica count hard-coded to
1, possibly due to a limitation.
Monitoring Node Health📜
NXRM provides two endpoints to monitor health status. Success is represented as
HTTP 200 OK, failure is represented as
HTTP 503 SERVICE UNAVAILABLE.
Verifies that a node can handle read requests.
Verifies that a node can handle read and write requests.