Customize your deployment

To meet your unique deployment needs, you can customize your existing deployment by adding more features.

Before you begin

This example requires a deployment with an Elasticsearch cluster to work with that is not being used for anything important. If you don’t already have one, you can follow our My First Deployment example to create one.

Steps

  1. Use your favorite editor to edit the my-first-deployment.json file.
  2. To add snapshot repository configurations, specify the snapshot values:

        "settings": {
          "snapshot" : {
               "enabled" : true,
               "interval" : "24",
               "pending_interval" : "24",
               "repository" : {
                  "default" : {},
                  "reference" : {
                     "repository_name" : "my_repository_name"
                  },
                  "static" : {
                     "repository_type" : "S3",
                     "settings" : {}
                  }
               },
               "repository_name" : "my_repository_name",
               "retention" : {
                  "max_age" : "24",
                  "snapshots" : 0
               },
                "wait_time_after_snapshotting" : "10"
             }
          }
       },
  3. To add cluster monitoring, specify the targetClusterId that you want to monitor:

        "settings": {
           "monitoring": {
              "targetClusterId": "4e8c2d90e94b4a1a9a9b2c83145a8df1"
           }
        },
  4. To add bundles to the deployment template, specify the user_bundles values:

    "plan" : {
        "user_bundles" : [
          {
              "elasticsearch_version" : "6.5.4",
              "name" : "uber_plugin",
              "url" : "uber_plugin_v1.zip"
          }
        ],
  5. To add specific Elasticsearch plugins, specify the user_plugins values:

    "plan" : {
        "user_plugins" : [
          {
              "elasticsearch_version" : "6.5.4",
              "name" : "repository-azure",
              "url" : "https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-azure/repository-azure-6.6.0.zip"
          }
        ],
  6. Apply the updated deployment configuration with a POST request:

    curl -k -X POST -H "Authorization: ApiKey CLOUD_API_KEY" https://COORDINATOR_HOST:12443/api/v1/clusters/elasticsearch/ELASTICSEARCH_CLUSTER_ID/plan -H 'content-type: application/json' -d @my-first-deployment.json