License APIs

Federate includes a license manager service and a set of rest commands to register, verify and delete a Siren’s license. By default, a Siren Empty license is included.

Without a valid license, Federate will log a message to notify that the current license is invalid whenever a search request is executed.

Permissions: To use this API, ensure that the cluster-level wildcard action cluster:admin/federate/license/* is granted by the security system.

Put License

The Put License API allows to upload a license to the cluster:

curl -XPUT 'http://localhost:9200/_siren/license'

Let’s assume you have a Siren license named license.sig. You can upload and register this license in Elasticsearch using the command:

$ curl -XPUT -H 'Content-Type: application/json' -T license.sig 'http://localhost:9200/_siren/license'
---
acknowledged: true

Get License

The Get License API allows to retrieve and validate the license:

curl -XGET 'http://localhost:9200/_siren/license'

The response includes the content of the license as well as a summary of the license validation. If the validity check fails, a list of invalid parameters with a cause is provided:

{
  "license_content": {
    "description": "Siren Empty License",
    "issue_date": "2019-01-29",
    "permissions": {
      "federate": {
        "max_concurrent_sessions": "0",
        "max_nodes": "1"
      },
      "investigate": {
        "max_dashboards": "0",
        "max_graph_nodes": "0"
      }
    },
    "valid_date": "2020-01-29"
  },
  "license_validation": {
    "is_valid": false,
    "invalid_parameters": [
      {
        "parameter": "permissions.federate.max_nodes",
        "cause": "Too many nodes in the Federate cluster 2 > 1"
      },
      {
        "parameter": "permissions.federate.max_concurrent_sessions",
        "cause": "Too many concurrent user sessions in the Federate cluster 5 > 0"
      }
    ]
  }
}

Delete License

The Delete License API allows to delete a license from the cluster. Without license, the system will fall back to a Siren Empty license.

curl -XDELETE 'http://localhost:9200/_siren/license'