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_PASSWORD
in 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.