-
Notifications
You must be signed in to change notification settings - Fork 78
Resource reference
The sections below (ordered in the same fashion as the Manage API docs provide information about each resource type that ml-gradle supports.
Each section defines where resource payload files should be replaced, relative to a configuration directory. ml-gradle defaults to a single configuration directory of "src/main/ml-config".
Each resource is deployed via the Manage server on port 8002, unless otherwise noted. And the connection to port 8002 is made using the user specified by mlManageUsername, or mlUsername if mlManageUsername is not set, unless otherwise noted.
For the tasks specific to each resource, please see the Task reference and the section with the same name as the resource type you're interested in.
- API Docs
- Paths = ./alert, and ./databases/(name of database)/alert
- Example project, and an example of database-specific alerting
- API Docs
- Path = ./servers
- Example files
- See the note in the "REST API" section below about using
./servers/rest-api-server.json
to configure the REST API servers associated withmlRestPort
andmlTestRestPort
.
- API Docs
- Path = ./clusters
- Example file
Configuration Management API (CMA) configurations are supported as of version 3.7.0. Note though that while configurations can be deployed, the CMA endpoint in MarkLogic does not yet support deleting configurations.
- API Docs
- Path = ./configurations
- Example file
- See the ml-app-deployer docs on CMA for more information too.
- API Docs
- Path = ./cpf
- Example project
- API Docs
- Path = ./databases
- Example files
- Properties
Note that some resources can be defined in directories under "./databases/(name of database)" - see this ml-app-deployer Wiki page for more information.
Sub-databases are also supported, but docs have not been written on that yet. In the meantime, see the layout of this example project.
These resources are part of configuring Tiered Storage for a database.
- API Docs
- Also see the [Tiered Storage docs] for more information on requirements for your database
- Path for range partitions = ./databases/(name of database)/partitions
- Path for query partitions = ./databases/(name of database)/query-partitions
- Partitions example project
- More information at ml-app-deployer
- Also see the Task Reference for tasks for taking partitions online and offline
- API Docs
- Path = ./flexrep, and ./database/(name of database)/flexrep
- Example project
- Example of deploying pull configs
- New in 3.9.0 - flexrep/pulls is now supported for deploying pull configurations
ml-gradle creates forests when it deploys a database. See Creating forests for the different ways that forests can be created, which also includes how replicas are created.
- API Docs
- Path (for custom forests) = ./forests/(name of database)
- Example project for custom forests
- API Docs
- Path = ./groups
- Example file
- API Docs
- Path = ./mimetypes
- Example file
- More information in ml-app-deployer
Modules are not a Manage API resource, but rather documents loaded via a MarkLogic REST server. See How modules are loaded for more information.
MarkLogic provides an endpoint for creating a REST server, a content database, and a modules database in a single call. The endpoints for these are listed under the "Client API" in the REST API docs, but they are invoked on port 8002 as part of the Manage API. Thus, they're treated as another resource type that ml-gradle can deploy and undeploy.
- API Docs
- Path = ./rest-api.json . ml-gradle will look for this specific file when it calls the REST endpoint for creating a REST API server.
- Example file
- For further customization of the REST API server (the REST management endpoint only allows for a handful of properties to be customized), it is recommended to create a file at
./servers/rest-api-server.json
. ml-gradle will use this file for the REST API servers associated withmlRestPort
and alsomlTestRestPort
if it is defined.
- API Docs
- Path = ./tasks
- Example files
- More information
Schemas are not a Manage API resource, but rather documents loaded via a MarkLogic REST server. See Loading schemas for more information.
- API Docs
- Path = ./security/amps
- Example file
- API Docs
- Path = ./security/certificate-authorities
- Example file
- As of 3.12.0, certificate authority filenames must end with ".crt". This will be made configurable shortly in the future.
- More information
- API Docs
- Path = ./security/certificate-templates
- Example file
- API Docs
- Path = ./security/certificate-templates/host-certificates/(name of certificate template)
Each directory under host-certificates must match the name of an already-deployed certificate template. The directory must then have two files in it - a public certificate file ending in ".crt", and a private key file ending in ".key". For an example, see this example in ml-app-deployer.
- API Docs
- Path = ./security/credentials
- Example JSON file
- Example XML file
- Added in 4.8.0.
This resource type is supported on ML8 but not yet ML9.
- API Docs
- Path = ./security/external-security
- Example file
- API Docs
- Path = ./security/privileges
- Example file
- Also see the ml-app-deployer Wiki page on privileges
- API Docs
- Path = ./security/protected-collections
- Example file
- API Docs
- Path = ./security/protected-paths
- Example file
- API Docs
- Path = ./security/query-rolesets
- Example file
- API Docs
- Path = ./security/roles
- Example project
- See the ml-app-deployer docs on roles
- API Docs
- Path = ./security/secure-credentials
- Example file
- Added in 4.4.0.
- API Docs
- Path = ./security/users
- Example files
Note that TDE in ML9 is an alternative to SQL view schemas.
- API Docs
- Path = ./view-schemas, and ./databases/(name of database)/view-schemas
- Example files
- API Docs
- Path = ./task-servers
- Example file
- The command for updating the task server assumes that the task server is named "TaskServer", as there is not yet a way to change that.
- API Docs
- Path = ./temporal, and ./databases/(name of database)/temporal
- Example project
- Example project with LSQT
- API Docs
- Path = ./triggers, and (as of 3.6.2) ./databases/(name of triggers database)/triggers
- Example project