VDI Plugin Configuration Schema

Type: object

VDI Plugin Configuration Schema

Type: object

LDAP Connection Configuration

Type: object

LDAP Server List


List of servers that container core will use to lookup database details. Servers will be tried in the order they are defined.

Host Strings

Type: array
No Additional Items

Each item of this array must be:

Host Address String

Type: string
Must match regular expression: ^(?=[\da-zA-Z.-]{1,253}(?::|$))([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)(?::([1-9]\d{0,3}|[1-5]\d{4}|6(?:[0-4]\d{3}|5(?:[0-4]\d{2}|5(?:[0-2]\d|3[0-5])))))?$
Examples:

something:8080
foo.com:1234
portless.host.string

Host Details

Type: array
No Additional Items

Each item of this array must be:

Address Config Object

Type: object

Examples:

host: abc.def.com
port: 1234
host: abc.def.com

Hostname String

Type: string
Must match regular expression: ^(?=[\da-zA-Z.-]{1,253}$)([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)$

Must be at least 1 characters long

Must be at most 253 characters long

Connection Port

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Comma Separated Address List

Type: string
Must match regular expression: ^(?:(?=[\da-zA-Z.-]{1,253}(?::|,|$))([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)(?::([1-9]\d{0,3}|[1-5]\d{4}|6(?:[0-4]\d{3}|5(?:[0-4]\d{2}|5(?:[0-2]\d|3[0-5])))))?(?:,(?=.+)|$))+$
Examples:

something:8080,foo.com
foo.com,apple-service:9001

Type: string

Type: object

Each additional property must conform to the following schema

VDI Plugin Config

Type: object
No Additional Properties


Host Address String

Type: string
Must match regular expression: ^(?=[\da-zA-Z.-]{1,253}(?::|$))([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)(?::([1-9]\d{0,3}|[1-5]\d{4}|6(?:[0-4]\d{3}|5(?:[0-4]\d{2}|5(?:[0-2]\d|3[0-5])))))?$
Examples:

something:8080
foo.com:1234
portless.host.string

Address Config Object

Type: object

Examples:

host: abc.def.com
port: 1234
host: abc.def.com

Hostname String

Type: string
Must match regular expression: ^(?=[\da-zA-Z.-]{1,253}$)([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)$

Must be at least 1 characters long

Must be at most 253 characters long

Connection Port

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Data Types

Type: array

Types and versions of dataset data handled by the plugin being defined.

Must contain a minimum of 1 items

All items must be unique

No Additional Items

Each item of this array must be:

Type: boolean Default: false

Whether datasets can be revised from this data type to another.

PATH Extension

Type: string

Allows adding additional paths to the PATH environment variable passed to plugin scripts on execution in the typical colon (:) divided format.
Leading or trailing colon characters are not required.


Example:

/opt/something/bin:/opt/other/bin

Dataset File Install Root

Type: stringFormat: uri-reference Default: "/datasets"

The root mount path INSIDE THE CONTAINER which will contain the site build directory hierarchy into which dataset files will be installed. The build directory itself MUST NOT be part of this path.


Example:

/datasets

Type: array
No Additional Items

Each item of this array must be:

Dataset Installation Target

Type: enum (of string)

Must be one of:

  • "AmoebaDB"
  • "ClinEpiDB"
  • "CryptoDB"
  • "FungiDB"
  • "GiardiaDB"
  • "HostDB"
  • "MicrobiomeDB"
  • "MicrosporidiaDB"
  • "OrthoMCL"
  • "PiroplasmaDB"
  • "PlasmoDB"
  • "ToxoDB"
  • "TrichDB"
  • "TriTrypDB"
  • "VectorBase"
  • "VEuPathDB"

Type: object
No Additional Properties

Data Compatibility Test

Type: object
No Additional Properties

Maximum Script Execution Time

Type: string
Must match regular expression: ^(?=.{2,})((?:\d+d)? ?(?:(?<!\S)\d+h)? ?(?:(?<!\S)\d+m)? ?(?:(?<!\S)\d+(?:\.\d+s$|s))? ?(?:(?<!\S)\d+(?:\.\d+ms$|ms))? ?(?:(?<!\S)\d+(?:\.\d+us$|us))? ?(?:(?<!\S)\d+ns)?)$
Examples:

1d 12h 32m 30.340s
12s
1h 22us 5ns

Script Path Override

Type: string

Example:

/opt/vpdb/bin/import.sh

Data Import/Cleanup

Type: object
No Additional Properties

Maximum Script Execution Time

Type: string
Must match regular expression: ^(?=.{2,})((?:\d+d)? ?(?:(?<!\S)\d+h)? ?(?:(?<!\S)\d+m)? ?(?:(?<!\S)\d+(?:\.\d+s$|s))? ?(?:(?<!\S)\d+(?:\.\d+ms$|ms))? ?(?:(?<!\S)\d+(?:\.\d+us$|us))? ?(?:(?<!\S)\d+ns)?)$
Examples:

1d 12h 32m 30.340s
12s
1h 22us 5ns

Script Path Override

Type: string

Example:

/opt/vpdb/bin/import.sh

Data Installation

Type: object
No Additional Properties

Maximum Script Execution Time

Type: string
Must match regular expression: ^(?=.{2,})((?:\d+d)? ?(?:(?<!\S)\d+h)? ?(?:(?<!\S)\d+m)? ?(?:(?<!\S)\d+(?:\.\d+s$|s))? ?(?:(?<!\S)\d+(?:\.\d+ms$|ms))? ?(?:(?<!\S)\d+(?:\.\d+us$|us))? ?(?:(?<!\S)\d+ns)?)$
Examples:

1d 12h 32m 30.340s
12s
1h 22us 5ns

Script Path Override

Type: string

Example:

/opt/vpdb/bin/import.sh

Dataset Metadata Upsert

Type: object
No Additional Properties

Maximum Script Execution Time

Type: string
Must match regular expression: ^(?=.{2,})((?:\d+d)? ?(?:(?<!\S)\d+h)? ?(?:(?<!\S)\d+m)? ?(?:(?<!\S)\d+(?:\.\d+s$|s))? ?(?:(?<!\S)\d+(?:\.\d+ms$|ms))? ?(?:(?<!\S)\d+(?:\.\d+us$|us))? ?(?:(?<!\S)\d+ns)?)$
Examples:

1d 12h 32m 30.340s
12s
1h 22us 5ns

Script Path Override

Type: string

Example:

/opt/vpdb/bin/import.sh

Dataset Uninstallation

Type: object
No Additional Properties

Maximum Script Execution Time

Type: string
Must match regular expression: ^(?=.{2,})((?:\d+d)? ?(?:(?<!\S)\d+h)? ?(?:(?<!\S)\d+m)? ?(?:(?<!\S)\d+(?:\.\d+s$|s))? ?(?:(?<!\S)\d+(?:\.\d+ms$|ms))? ?(?:(?<!\S)\d+(?:\.\d+us$|us))? ?(?:(?<!\S)\d+ns)?)$
Examples:

1d 12h 32m 30.340s
12s
1h 22us 5ns

Script Path Override

Type: string

Example:

/opt/vpdb/bin/import.sh

Site Build Directory Name

Type: string

Name of the parent directory containing the per-project dataset files subdirectories.

This directory name will be used to form paths such as {siteBuild}/{installTarget}/{datasetId}.


Example:

build-65

Dataset Installation Targets

Type: array

Must contain a minimum of 1 items

All items must be unique

No Additional Items

Each item of this array must be:

Dataset Installation Target

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


Explicitly Enabled

Type: object

The enabled field is explicitly set to true.

Enabled by Default


The enabled field is omitted, using the default value of true.

Type: object

The following properties are required:

  • targetName

Database Connection Config

Type: object

Basic Options

Type: object

Type: string

Must be at least 3 characters long

Type: string

Must be at least 8 characters long

Type: integer Default: 5

Value must be greater or equal to 5 and lesser or equal to 32

Connection Details


Direct Connection Config

Type: object

Database Host Details


Host Address String

Type: string
Must match regular expression: ^(?=[\da-zA-Z.-]{1,253}(?::|$))([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)(?::([1-9]\d{0,3}|[1-5]\d{4}|6(?:[0-4]\d{3}|5(?:[0-4]\d{2}|5(?:[0-2]\d|3[0-5])))))?$
Examples:

something:8080
foo.com:1234
portless.host.string

Address Config Object

Type: object

Examples:

host: abc.def.com
port: 1234
host: abc.def.com

Hostname String

Type: string
Must match regular expression: ^(?=[\da-zA-Z.-]{1,253}$)([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)$

Must be at least 1 characters long

Must be at most 253 characters long

Connection Port

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: enum (of string) Default: null

Must be one of:

  • "oracle"
  • "postgres"

Database Connection Config

Type: object

Basic Options

Type: object

Type: string

Must be at least 3 characters long

Type: string

Must be at least 8 characters long

Type: integer Default: 5

Value must be greater or equal to 5 and lesser or equal to 32

Connection Details


Direct Connection Config

Type: object

Database Host Details


Host Address String

Type: string
Must match regular expression: ^(?=[\da-zA-Z.-]{1,253}(?::|$))([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)(?::([1-9]\d{0,3}|[1-5]\d{4}|6(?:[0-4]\d{3}|5(?:[0-4]\d{2}|5(?:[0-2]\d|3[0-5])))))?$
Examples:

something:8080
foo.com:1234
portless.host.string

Address Config Object

Type: object

Examples:

host: abc.def.com
port: 1234
host: abc.def.com

Hostname String

Type: string
Must match regular expression: ^(?=[\da-zA-Z.-]{1,253}$)([\da-zA-Z][\da-zA-Z-]{0,62}(?:\.[\da-zA-Z][\da-zA-Z-]{0,62})*)$

Must be at least 1 characters long

Must be at most 253 characters long

Connection Port

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: enum (of string) Default: null

Must be one of:

  • "oracle"
  • "postgres"

Enabled

Type: boolean Default: true

Whether the install target should be enabled for use in the VDI service.

Dataset Installation Target

Type: enum (of string)

Must be one of:

  • "AmoebaDB"
  • "ClinEpiDB"
  • "CryptoDB"
  • "FungiDB"
  • "GiardiaDB"
  • "HostDB"
  • "MicrobiomeDB"
  • "MicrosporidiaDB"
  • "OrthoMCL"
  • "PiroplasmaDB"
  • "PlasmoDB"
  • "ToxoDB"
  • "TrichDB"
  • "TriTrypDB"
  • "VectorBase"
  • "VEuPathDB"

Supported Data Types

Default: ["*"]

Optional list of data types that the install target supports.

Defaults to supporting all data types from any plugins enabled for the install target.

Dataset Control Database/Schema

Type: object

Dataset Data Database/Schema

Type: object

Type: object

Additional dataset metadata rules that apply to datasets for this install target.

Keys to this object are expected to be valid JSONPath query expressions (ref rfc9535) that will be used to locate the fields to validate.

Values are JSON schema definitions that will be used to validate the values located at the target json path.

Each additional property must conform to the following schema

Type: object

Type: boolean Default: false

Whether the a value must exist at the JSONPath defined by the object key mapped to this rule.

Core and Validation specifications meta-schema

Type: object or boolean

Core vocabulary meta-schema

Type: object or boolean

Type: string
Must match regular expression: ^[A-Za-z_][-A-Za-z0-9._]*$

Applicator vocabulary meta-schema

Type: object or boolean

Validation vocabulary meta-schema

Type: object or boolean


Type: enum (of string)

Must be one of:

  • "array"
  • "boolean"
  • "integer"
  • "null"
  • "number"
  • "object"
  • "string"
Type: array

Must contain a minimum of 1 items

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "array"
  • "boolean"
  • "integer"
  • "null"
  • "number"
  • "object"
  • "string"

Type: object Default: {}

Each additional property must conform to the following schema

Type: object

Type: string
Must match regular expression: ^[A-Za-z_][-A-Za-z0-9._]*$