Merge "Add Salt 2018.3 tests"
diff --git a/README.rst b/README.rst
index edfe4bc..97a30e1 100644
--- a/README.rst
+++ b/README.rst
@@ -71,6 +71,27 @@
             template: kibana/files/objects/dashboard_logs.json
             type: 'dashboard'
 
+Client directly use a Kibana object that is stored in model:
+
+ .. code-block:: yaml
+
+     kibana:
+       client:
+         enabled: true
+         server:
+           host: elasticsearch.host
+           port: 9200
+         object:
+           logs:
+             enabled: true
+             name: Logs
+             type: 'dashboard'
+             content:
+               title: "Logs"
+               hits: 0
+               description: ""
+               ...
+
 Read more
 =========
 
diff --git a/kibana/client/init.sls b/kibana/client/init.sls
index 7d1ba03..7f0f91c 100644
--- a/kibana/client/init.sls
+++ b/kibana/client/init.sls
@@ -13,9 +13,14 @@
 {%- for object_name, object in client.get('object', {}).iteritems() %}
 kibana_object_{{ object_name }}:
   {%- if object.get('enabled', False) %}
+  {%- if object.content is defined %}
+  kibana_object.present:
+  - kibana_content: {{ object.content|json }}
+  {%- else %}
   {% import_json object.template as content %}
   kibana_object.present:
   - kibana_content: {{ content|json }}
+  {%- endif %}
   {%- else %}
   kibana_object.absent:
   {%- endif %}
diff --git a/kibana/meta/prometheus.yml b/kibana/meta/prometheus.yml
index 5fa6af9..9928030 100644
--- a/kibana/meta/prometheus.yml
+++ b/kibana/meta/prometheus.yml
@@ -2,48 +2,48 @@
 {%- if server.get('enabled', False) %}
 server:
   alert:
-    KibanaProcessInfo:
+    KibanaProcessDown:
       if: >-
         procstat_running{process_name="kibana"} == 0
       {% raw %}
       labels:
-        severity: info
+        severity: minor
         service: kibana
       annotations:
-        summary: 'Kibana service is down'
-        description: 'Kibana service is down on node {{ $labels.host }}'
+        summary: "Kibana process is down"
+        description: "The Kibana process on the {{ $labels.host }} node is down."
       {% endraw %}
-    KibanaProcessWarning:
+    KibanaProcessesDownMinor:
       if: >-
         count(procstat_running{process_name="kibana"} == 0) >= count(procstat_running{process_name="kibana"}) * {{ monitoring.service_failed_warning_threshold_percent }}
       {% raw %}
       labels:
-        severity: warning
+        severity: minor
         service: kibana
       annotations:
-        summary: 'More than {%- endraw %} {{monitoring.service_failed_warning_threshold_percent*100}}%{%- raw %} of Kibana services are down'
-        description: 'More than {%- endraw %} {{monitoring.service_failed_warning_threshold_percent*100}}%{%- raw %} of Kibana services are down'
+        summary: "{%- endraw %}{{monitoring.service_failed_warning_threshold_percent*100}}%{%- raw %} of Kibana processes are down"
+        description: "{{ $value }} Kibana processes are down (at least {%- endraw %}{{monitoring.service_failed_warning_threshold_percent*100}}%{%- raw %})."
       {% endraw %}
-    KibanaProcessCritical:
+    KibanaProcessesDownMajor:
       if: >-
         count(procstat_running{process_name="kibana"} == 0) >= count(procstat_running{process_name="kibana"}) * {{ monitoring.service_failed_critical_threshold_percent }}
       {% raw %}
       labels:
+        severity: major
+        service: kibana
+      annotations:
+        summary: "{%- endraw %}{{monitoring.service_failed_critical_threshold_percent*100}}%{%- raw %} of Kibana processes are down"
+        description: "{{ $value }} Kibana processes are down (at least {%- endraw %}{{monitoring.service_failed_critical_threshold_percent*100}}%{%- raw %})."
+      {% endraw %}
+    KibanaServiceOutage:
+      if: >-
+        count(procstat_running{process_name="kibana"} == 0) == count(procstat_running{process_name="kibana"})
+      {% raw %}
+      labels:
         severity: critical
         service: kibana
       annotations:
-        summary: 'More than {%- endraw %} {{monitoring.service_failed_critical_threshold_percent*100}}%{%- raw %} of Kibana services are down'
-        description: 'More than {%- endraw %} {{monitoring.service_failed_critical_threshold_percent*100}}%{%- raw %} of Kibana services are down'
-      {% endraw %}
-    KibanaProcessDown:
-      if: >-
-        count(procstat_running{process_name="kibana"} == 0) == count(procstat_running{process_name="kibana"})
-      {% raw %}
-      labels:
-        severity: down
-        service: kibana
-      annotations:
-        summary: 'All Kibana services are down'
-        description: 'All Kibana services are down'
+        summary: "Kibana service outage"
+        description: "All Kibana processes are down."
       {% endraw %}
 {%- endif %}
diff --git a/metadata.yml b/metadata.yml
index ed956a0..8df9225 100644
--- a/metadata.yml
+++ b/metadata.yml
@@ -1,4 +1,4 @@
 name: "kibana"
 version: "0.2"
-source: "https://github.com/tcpcloud/salt-formula-kibana"
+source: "https://github.com/salt-formulas/salt-formula-kibana"
 
diff --git a/tests/pillar/kibana_client.sls b/tests/pillar/kibana_client.sls
index 08d7a5f..a4d7cb7 100644
--- a/tests/pillar/kibana_client.sls
+++ b/tests/pillar/kibana_client.sls
@@ -7,3 +7,10 @@
         enabled: true
         template: kibana/files/objects/dashboard_logs.json
         type: dashboard
+      logs-directly:
+        enabled: true
+        type: dashboard
+        content:
+          title: "Logs"
+          hits: 0
+          description: "Test dashboard"