initial commit
diff --git a/system/elasticsearch/server/single.yml b/system/elasticsearch/server/single.yml
new file mode 100644
index 0000000..d5c0538
--- /dev/null
+++ b/system/elasticsearch/server/single.yml
@@ -0,0 +1,59 @@
+classes:
+- service.java.environment.openjdk8
+- service.elasticsearch.server.single
+parameters:
+  linux:
+    system:
+      sysctl:
+        vm.max_map_count: 262144
+        vm.swappiness: 0
+      repo:
+        tcpcloud_elasticsearch:
+          source: "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial elastic"
+          architectures: amd64
+          key_url: "http://apt.tcpcloud.eu/public.gpg"
+  java:
+    environment:
+      headless: true
+  elasticsearch:
+    server:
+      enabled: true
+      bind:
+        address: ${_param:single_address}
+        port: 9200
+      mlockall: true
+      threadpool:
+        bulk:
+          queue_size: 1000
+      gateway:
+        expected_nodes: 1
+        recover_after_nodes: 1
+        recover_after_time: 5m
+      cluster:
+        multicast: false
+        minimum_master_nodes: 1
+        members:
+        - host: ${_param:cluster_node01_address}
+      curator:
+        timeout: 30
+        logfile: /var/log/elasticsearch/curator.log
+        logformat: default
+        loglevel: INFO
+        actions:
+        - action: delete_indices
+          description: >-
+            Delete indices older than 31 days (based on index name).
+          options:
+            ignore_empty_list: True
+            continue_if_exception: False
+            disable_action: False
+          filters:
+          - filtertype: pattern
+            kind: regex
+            value: "^log|notification-.*$"
+          - filtertype: age
+            source: name
+            direction: older
+            timestring: '%Y.%m.%d'
+            unit: days
+            unit_count: 31