Updating custom templates to support Integrations Server
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.
To manually update your custom deployment templates to support Integrations Server:
- Obtain a list of all existing deployment templates by sending the following
GET
request, and take note of theid
of the template you wish to update.curl -k -X GET -H "Authorization: ApiKey $ECE_API_KEY" https://${COORDINATOR_HOST}:12443/api/v1/deployments/templates?region=ece-region
- Copy the template you’d like to update and add an
integrations_server
entry under thedeployment_template.resources
section of the JSON. The result should look like the following:"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 theid
that you collected in Step 1.
Refer to set deployment template API for more details.
Update template API request example
curl -k -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.