Type to search.

Updating custom templates to support Integrations Server

ECE

Elastic Cloud Enterprise is a self-managed orchestration platform for deploying and managing the Elastic Stack at scale.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

Custom deployment templates should be updated in order to support Integrations Server. While system-owned deployment templates are updated automatically during the ECE upgrade process, user-created deployment templates require a manual update.

Important

The curl examples on this page use HTTPS. If the remote endpoint uses a certificate that is not publicly trusted (for example, one signed by a private or corporate CA), provide the corresponding CA certificate using --cacert /path/to/ca.pem so that curl can verify it. For more details, refer to manage security certificates.

For testing only, you can use --insecure (or -k) to skip certificate verification. This flag turns off TLS trust checks and should not be used in production.

To manually update your custom deployment templates to support Integrations Server:

  1. Obtain a list of all existing deployment templates by sending the following GET request, and take note of the id of the template you wish to update.

    Shell
    curl -X GET -H "Authorization: ApiKey $ECE_API_KEY" https://${COORDINATOR_HOST}:12443/api/v1/deployments/templates?region=ece-region
    
  2. Copy the template you’d like to update and add an integrations_server entry under the deployment_template.resources section of the JSON. The result should look like the following:

    Shell
    "integrations_server" : [
      {
        "ref_id" : "integrations_server-ref-id",
        "elasticsearch_cluster_ref_id" : "main-elasticsearch",
        "region" : "ece-region",
        "plan" : {
          "cluster_topology" : [
            {
              "instance_configuration_id" : "integrations.server",
              "size" : {
                "value" : 512,
                "resource" : "memory"
              },
              "zone_count" : 1
            }
          ],
          "integrations_server" : {
    
          }
        }
      }
    ]
    

Send a PUT request with the updated template in the payload to replace the original template with the new one. Remember that:

  • The following request is just an example; other resources in the request payload should remain unchanged (they have been truncated in the example).
  • You need to replace {{template_id}} in the URL with the id that you collected in Step 1.

Refer to set deployment template API for more details.

Update template API request example
Shell
curl -X PUT -H "Authorization: ApiKey $ECE_API_KEY" https://$COORDINATOR_HOST:12443/api/v1/deployments/templates/{template_id}?region=ece-region -H 'content-type: application/json' -d '
{
  "name": "ECE Custom Template",
  "description": "ECE custom template with added Integrations Server",
  "deployment_template": {
    "resources": {
      "elasticsearch": [...],
      "kibana": [...],
      "apm": [...],
      "enterprise_search": [...],
      "integrations_server": [
        {
            "ref_id": "integrations_server-ref-id",
            "elasticsearch_cluster_ref_id": "main-elasticsearch",
            "region": "ece-region",
            "plan": {
                "cluster_topology": [
                    {
                        "instance_configuration_id": "integrations.server",
                        "size": {
                                "value": 512,
                                "resource": "memory"
                        },
                    "zone_count": 1
                    }
                ],
                "integrations_server": {}
        }
      ]
    }
  },
  "system_owned": false
}'

After the template is updated, you can start creating new deployments.