Updating custom templates to support Integrations Server
Elastic Cloud Enterprise is a self-managed orchestration platform for deploying and managing the Elastic Stack at scale. Availability 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.
ECE
Generally available
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.
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:
Obtain a list of all existing deployment templates by sending the following
GETrequest, and take note of theidof 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-regionCopy the template you’d like to update and add an
integrations_serverentry under thedeployment_template.resourcessection 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 theidthat you collected in Step 1.
Refer to set deployment template API for more details.
Update template API request example
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.