Added gainsight_elasticsearch related files

Change-Id: I7d00a025873b76d592ff29370f79471c3392d3f4
Related-Bug: PROD-25532
diff --git a/metadata/service/gainsight/elasticsearch_container.yml b/metadata/service/gainsight/elasticsearch_container.yml
new file mode 100644
index 0000000..0129de2
--- /dev/null
+++ b/metadata/service/gainsight/elasticsearch_container.yml
@@ -0,0 +1,9 @@
+applications:
+  - prometheus
+parameters:
+  prometheus:
+    gainsight_elasticsearch:
+      enabled: true
+      dir:
+        config: /srv/volumes/local/gainsight_elasticsearch/config
+        crontab: /srv/volumes/local/gainsight_elasticsearch/cron.d
diff --git a/prometheus/files/gainsight/gainsight_elasticsearch_config.yml b/prometheus/files/gainsight/gainsight_elasticsearch_config.yml
new file mode 100644
index 0000000..0388409
--- /dev/null
+++ b/prometheus/files/gainsight/gainsight_elasticsearch_config.yml
@@ -0,0 +1,5 @@
+{% from "prometheus/map.jinja" import gainsight_elasticsearch with context %}
+[Queries]
+{%- for query,value in gainsight_elasticsearch.queries.iteritems() %}
+{{ query }}={{ value }}
+{%- endfor %}
diff --git a/prometheus/files/gainsight/gainsight_elasticsearch_crontab.yml b/prometheus/files/gainsight/gainsight_elasticsearch_crontab.yml
new file mode 100644
index 0000000..beaa8f2
--- /dev/null
+++ b/prometheus/files/gainsight/gainsight_elasticsearch_crontab.yml
@@ -0,0 +1,2 @@
+{% from "prometheus/map.jinja" import gainsight_elasticsearch with context %}
+{{ gainsight_elasticsearch.crontab.duration }} root . /opt/gainsight/vars && /opt/gainsight/entrypoint.py >> /var/log/cron.log 2>&1
diff --git a/prometheus/gainsight_elasticsearch.sls b/prometheus/gainsight_elasticsearch.sls
new file mode 100644
index 0000000..3ca5c39
--- /dev/null
+++ b/prometheus/gainsight_elasticsearch.sls
@@ -0,0 +1,29 @@
+{% from "prometheus/map.jinja" import gainsight_elasticsearch with context %}
+{%- if gainsight_elasticsearch.enabled %}
+
+{%- if pillar.docker is defined and pillar.docker.host is defined %}
+
+{{gainsight_elasticsearch.dir.config}}:
+  file.directory:
+    - makedirs: True
+
+{{gainsight_elasticsearch.dir.crontab}}:
+  file.directory:
+    - makedirs: True
+
+{{gainsight_elasticsearch.dir.config}}/config.ini:
+  file.managed:
+  - source: salt://prometheus/files/gainsight/gainsight_elasticsearch_config.yml
+  - template: jinja
+  - require:
+    - file: {{gainsight_elasticsearch.dir.config}}
+
+{{gainsight_elasticsearch.dir.crontab}}/crontab:
+  file.managed:
+  - source: salt://prometheus/files/gainsight/gainsight_elasticsearch_crontab.yml
+  - template: jinja
+  - require:
+    - file: {{gainsight_elasticsearch.dir.crontab}}
+
+{%- endif %}
+{%- endif %}
diff --git a/prometheus/map.jinja b/prometheus/map.jinja
index 506bc22..f75eabf 100644
--- a/prometheus/map.jinja
+++ b/prometheus/map.jinja
@@ -68,6 +68,16 @@
   }
 }, merge=salt['pillar.get']('prometheus:gainsight')) %}}
 
+{% set gainsight_elasticsearch = salt['grains.filter_by']({
+  'default': {
+    'queries': {
+    },
+    'crontab': {
+      'duration': '23 58 * * *'
+    },
+  }
+}, merge=salt['pillar.get']('prometheus:gainsight_elasticsearch')) %}}
+
 {% set sf_notifier = salt['grains.filter_by']({
   'default': {
   },