Command Line Interface#

Requirements#

In order to run the application, the host needs to have the following installed:

  • Java JDK 11 or higher. The version can be checked with java --version.

Run CLI with .jar file#

To see the available options when running the CLI, execute the jar file with the --help flag.

> java -jar cli/build/libs/cli-[version].jar --help
Usage: engine-lite [-hV] [-dc] [-dr] [-le] [-c=<config-file>]
                   [-ip=<input-password>] [-ips=<input-password-secret>]
                   -iu=<input-url> [-iU=<input-username>]
                   [-iUs=<input-username-secret>] [-op=<output-password>]
                   [-ops=<output-password-secret>] -ou=<output-url>
                   [-oU=<output-username>] [-oUs=<output-username-secret>]
Testing suite engine lite.
  -c, --config-file=<config-file>
                       Configuration file
      -dc, --default-config
                       Print built-in default configuration (can be overridden
                         in the user config)
      -dr, --dry-run   Print the effective configuration instead of running the
                         transformation
  -h, --help           Show this help message and exit.
      -ip, --input-password=<input-password>
                       Input password, default to null
      -ips, --input-password-secret=<input-password-secret>
                       Input password secret in JSON format, default to null
      -iu, --input-url=<input-url>
                       JDBC URL to the INPUT database
      -iU, --input-username=<input-username>
                       Input username, default to null
      -iUs, --input-username-secret=<input-username-secret>
                       Input username secret in JSON format, default to null
      -le, --license-expiration
                       Print the expiration date of the license key
      -op, --output-password=<output-password>
                       Output password, default to null
      -ops, --output-password-secret=<output-password-secret>
                       Output password secret in JSON format, default to null
      -ou, --output-url=<output-url>
                       JDBC URL to the OUTPUT database
      -oU, --output-username=<output-username>
                       Output username, default to null
      -oUs, --output-username-secret=<output-username-secret>
                       Output username secret in JSON format, default to null
  -V, --version        Print version information and exit.

Where:

  • --input-url and --output-url (required): JDBC URLs of the source and destination databases, e.g. jdbc:postgresql://39.176.0.1:5432/

  • --config-file: Configuration file (see configuration file)

  • --input-username and --output-username (optional): Username to access the database, if authentication is needed

  • --input-password and --output-password (optional): Username’s password to access the database, if authentication is needed

  • --input-username-secret, --output-username-secret, --input-password-secret, --output-password-secret (optional): Credentials can be stored in external service, please see credentials to know more about supported formats.

If you need to set additional properties for the CLI, you can create an application.properties file in the same directory as the application JAR file and set values there, e.g. SECRETS.GCP.SECRET.MANAGER.ENABLED = true.

You can find a list of supported application properties: here.