-
Notifications
You must be signed in to change notification settings - Fork 1
Install
The drm-cli can be installed via npm (recommended) or by cloning the repository directly.
The drm-cli installer is a python script project.
Hence, python must be installed in advanced on the drm-cli installer host.
For AI features (v1.2+): Node.js >= 16 is also required.
Starting from v1.2.0, drm-cli is available as an npm package.
npm install -g @d-band-drm/drm-cliThen run the setup to install DRM:
drm-cli install -f /path/to/install -d sqlite -p mykeyOr with the npm setup script:
npm run setup -- -f /path/to/install -d sqlite -p mykeyNote: Python >= 3.10 must be installed on the host before running drm-cli install.
Each database deployment includes:
- "Database Changes Manager": Manages database changes - Solution type
- "Utility": Executes database changes.
-
Database Changes Manager
-
SqlPackage
- To check the version of SqlPackage, run:
SqlPackage.exe /Version dotnet sqlpackage --version
- Supported from version: 16.x
- 📦 Download: Latest version of SqlPackage
- To check the version of SqlPackage, run:
-
SqlPackage
-
Utility
-
sqlcmd
- To check the version of sqlcmd, run:
sqlcmd -v
- Supported from version: 15.x
- 📦 Download: Latest version of sqlcmd
- To check the version of sqlcmd, run:
-
sqlcmd
-
Database Changes Manager
-
Liquibase
- To check the version of Liquibase, run:
liquibase --version
- Supported from version: 4.13.x
- 📦 Download: Latest version of Liquibase
- To check the version of Liquibase, run:
-
Flyway
- To check the version of Flyway, run:
flyway --version
- Supported from version: Flyway Teams Edition 11.x by Redgate
- 📦 Download: Latest version of Flyway
- To check the version of Flyway, run:
-
-
Utility
-
psql
- To check the version of psql, run:
psql --version
- Supported from version: psql 14.x
- 📦 Download: Latest version of psql
- To check the version of psql, run:
-
psql
To download, clone the latest version of the drm-cli repository
git clone https://github.com/dband-drm/drm-cli.gitTo run the installer, run script install.py
python3 ./install.pyThe installer supports a full interactive mode, guiding you step by step how & where to install it.
Nevertheless, the installer comes with parameters option, allowing you to avoid interactive mode and run as a single command.
This provides you the ability to automate the installation, if it's desired.
For instance, inline options are used in pipeline executions.
To see all optional parameters, use the -help option.
python3 ./install.py -help-
Installation path (-f, -install_path)
The directory, where thedrm-cliis going to be installed in.
Left empty in interactive mode will implicitly select the user default home directory. In interactive mode, a request message is prompted:
Enter path to install the DRM on:
-
Encryption key (-p, -encryption_key)
Sensitive data, such as connection strings can be securely encrypted.
Left empty in interactive mode ornonein parameter option means not encrypted.
In interactive mode, a request message is prompted:
Enter encryption key (Default, empty is not encrypted):
Note!!! Not encrypted installation will require verification as it exposes security risks of sensitive data.
In interactive mode, a request message is prompted:
Are you sure you want to keep sensitive Data as clear text? Enter [Y]/N to keep unsecured Data:
Encryption policy:
- Minimum 8 characters.
- The alphabet must be between [a-z].
- At least one alphabet should be of Upper Case [A-Z].
- At least 1 number or digit between [0-9].
- At least 1 special character such as !@#...
Note!!! The drm-cli itself is not encrypted, except sensitive data.
Hence, if multiple user account can access the drm-cli host, it's best advise not to install it in a shared location.
-
Installation type (Relevant only to scratch installation) (-d, -install_type)
Thedrm-clisupports two types of installation kinds: [JSON]/SQLite (not case sensitive).
In interactive mode, a request message is prompted:
Enter DRM installation type([JSON]/SQLite):
Installation verification
INFO - ==================================
INFO - Installing DRM...
INFO - Copying DRM content...
INFO - Content copied successfully!!!
INFO - Creating DRM database...
INFO - DRM database created successfully!!!
INFO - Creating drm.config...
INFO - drm.config created successfully!!!
INFO - DRM installation finished successfully!!!
INFO - ==================================
That's it! it's simple as that :)
python3 ./install.pyIn the following example, no optional parameter option is provided.
python3 ./install.py -d json -p noneIn the following example, a JSON installation type is selected, while "none" encryption key represents not encrypted.
Since installation directory (-f) is not provided, implicitly the user default home directory is selected.