Skip to content
Phil Barber edited this page May 17, 2024 · 37 revisions

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.

Alerting

App servers

  • 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 with mlRestPort and mlTestRestPort.

Clusters

Configurations

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.

CPF

Databases

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.

Database Rebalancer

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

Flexible Replication

  • 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

Forests

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.

Groups

Mimetypes

Modules

Modules are not a Manage API resource, but rather documents loaded via a MarkLogic REST server. See How modules are loaded for more information.

REST APIs

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 with mlRestPort and also mlTestRestPort if it is defined.

Scheduled Tasks

Schemas

Schemas are not a Manage API resource, but rather documents loaded via a MarkLogic REST server. See Loading schemas for more information.

Security - Amps

Security - Certificate Authorities

  • 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

Security - Certificate Templates

Security - Certificate Templates / Host Certificates (new in 3.8.0)

  • 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.

Security - Credentials

Security - External Security

This resource type is supported on ML8 but not yet ML9.

Security - Privileges

Security - Protected Collections

Security - Protected Paths

Security - Query Rolesets

Security - Roles

Security - Secure Credentials

Security - Users

SQL Schemas and Views

Note that TDE in ML9 is an alternative to SQL view schemas.

Task Server

  • 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.

Temporal

Triggers

Clone this wiki locally