Configure ADCM to use an external database
ADCM supports operations with external databases. In particular, PostgreSQL databases are supported.
|
IMPORTANT
A standalone PostgreSQL database is recommended for use in the product environment.
|
The prerequisites to use the external PostgreSQL database are:
-
The user, the database, and the user password must be created (
DATABASE_USERNAME,DATABASE_NAME,DATABASE_USER_PASSWORDin the example below). -
The user must be the owner of the external PostgreSQL database.
CREATE USER <DATABASE_USERNAME> with encrypted password '<DATABASE_USER_PASSWORD>';
CREATE DATABASE <DATABASE_NAME> OWNER <DATABASE_USERNAME>;
Example of running ADCM with the PostgreSQL database:
$ sudo docker run -d --restart=always -p 8000:8000 -v /opt/adcm:/adcm/data -e DB_HOST="10.92.40.190" -e DB_PORT="5432" -e DB_USER="admin" -e DB_NAME="postgres" -e DB_PASS="admin" --name adcm hub.arenadata.io/adcm/adcm:<version> -e DB_OPTIONS="<DATABASE_OPTIONS>"
where <version> is a desired ADCM image version in one of the following formats:
-
<major>.<minor>.<patch>— if you need a specific ADCM patch. For example,2.0.0. -
<major>.<minor>— if you need the last patch within the selected ADCM version. For example,2.0.
You can use DB_OPTIONS to establish an SSL connection to the database. For more information about the parameters available for the DB_OPTIONS variable, see the Installation article.
Prepare the SSL certificate and secret key files and place them into <data_volume>/conf/ssl/. Then, list the DB_OPTIONS parameters in JSON format:
DB_OPTIONS='{"sslmode": "verify-full", "sslcert": "/adcm/data/conf/ssl/client.crt", "sslkey": "/adcm/data/conf/ssl/client.key", "sslrootcert": "/adcm/data/conf/ssl/server.crt"}'
|
IMPORTANT
|
Use -v /opt/adcm:/adcm/data:Z for SELinux.