kibana-rack 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (213) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +1 -0
  3. data.tar.gz.sig +0 -0
  4. data/.editorconfig +13 -0
  5. data/.gitattributes +2 -0
  6. data/.gitignore +10 -0
  7. data/.overcommit.yml +11 -0
  8. data/.rspec +2 -0
  9. data/.rubocop.yml +24 -0
  10. data/.simplecov +12 -0
  11. data/.travis.yml +5 -0
  12. data/.yardopts +13 -0
  13. data/CHANGELOG.md +5 -0
  14. data/CONTRIBUTING.md +105 -0
  15. data/Gemfile +30 -0
  16. data/LICENSE.txt +22 -0
  17. data/README.md +269 -0
  18. data/Rakefile +27 -0
  19. data/dashboards/blank.json +32 -0
  20. data/dashboards/default.json +90 -0
  21. data/dashboards/guided.json +272 -0
  22. data/dashboards/logstash.js +138 -0
  23. data/dashboards/logstash.json +227 -0
  24. data/dashboards/noted.json +161 -0
  25. data/examples/dashboards/default.json +90 -0
  26. data/examples/rack/config.ru +14 -0
  27. data/examples/rack_basic_auth/config.ru +18 -0
  28. data/examples/rack_basic_auth/dashboards/default.json +90 -0
  29. data/examples/rails/app/controllers/application_controller.rb +3 -0
  30. data/examples/rails/app/helpers/application_helper.rb +2 -0
  31. data/examples/rails/app/kibana/blank.json +32 -0
  32. data/examples/rails/app/kibana/default.json +90 -0
  33. data/examples/rails/app/kibana/guided.json +272 -0
  34. data/examples/rails/app/kibana/logstash.json +227 -0
  35. data/examples/rails/app/kibana/noted.json +161 -0
  36. data/examples/rails/bin/bundle +3 -0
  37. data/examples/rails/bin/rails +4 -0
  38. data/examples/rails/bin/rake +4 -0
  39. data/examples/rails/config.ru +2 -0
  40. data/examples/rails/config/application.rb +11 -0
  41. data/examples/rails/config/boot.rb +2 -0
  42. data/examples/rails/config/environment.rb +2 -0
  43. data/examples/rails/config/environments/development.rb +7 -0
  44. data/examples/rails/config/environments/production.rb +11 -0
  45. data/examples/rails/config/environments/test.rb +11 -0
  46. data/examples/rails/config/initializers/cookies_serializer.rb +1 -0
  47. data/examples/rails/config/initializers/filter_parameter_logging.rb +1 -0
  48. data/examples/rails/config/initializers/kibana.rb +3 -0
  49. data/examples/rails/config/initializers/session_store.rb +1 -0
  50. data/examples/rails/config/initializers/wrap_parameters.rb +3 -0
  51. data/examples/rails/config/routes.rb +3 -0
  52. data/examples/rails/config/secrets.yml +9 -0
  53. data/examples/rails/log/.keep +0 -0
  54. data/examples/sinatra/config.ru +27 -0
  55. data/examples/sinatra/dashboards/default.json +90 -0
  56. data/kibana-rack.gemspec +28 -0
  57. data/lib/kibana/rack.rb +34 -0
  58. data/lib/kibana/rack/version.rb +5 -0
  59. data/lib/kibana/rack/web.rb +60 -0
  60. data/spec/fixtures/dashboards/default.json +90 -0
  61. data/spec/fixtures/dashboards/templated.json +1 -0
  62. data/spec/spec_helper.rb +32 -0
  63. data/spec/unit/kibana/rack/web_spec.rb +69 -0
  64. data/spec/unit/kibana/rack_spec.rb +4 -0
  65. data/tabolario.gpg +31 -0
  66. data/tabolario.pem +21 -0
  67. data/web/assets/LICENSE.md +13 -0
  68. data/web/assets/README.md +69 -0
  69. data/web/assets/app/app.js +24 -0
  70. data/web/assets/app/components/require.config.js +4 -0
  71. data/web/assets/app/factories/store.js +4 -0
  72. data/web/assets/app/panels/bettermap/editor.html +1 -0
  73. data/web/assets/app/panels/bettermap/leaflet/images/layers-2x.png +0 -0
  74. data/web/assets/app/panels/bettermap/leaflet/images/layers.png +0 -0
  75. data/web/assets/app/panels/bettermap/leaflet/images/marker-icon-2x.png +0 -0
  76. data/web/assets/app/panels/bettermap/leaflet/images/marker-icon.png +0 -0
  77. data/web/assets/app/panels/bettermap/leaflet/images/marker-shadow.png +0 -0
  78. data/web/assets/app/panels/bettermap/leaflet/leaflet.css +1 -0
  79. data/web/assets/app/panels/bettermap/leaflet/leaflet.ie.css +1 -0
  80. data/web/assets/app/panels/bettermap/leaflet/leaflet.js +7 -0
  81. data/web/assets/app/panels/bettermap/leaflet/plugins.css +1 -0
  82. data/web/assets/app/panels/bettermap/leaflet/plugins.js +4 -0
  83. data/web/assets/app/panels/bettermap/module.css +1 -0
  84. data/web/assets/app/panels/bettermap/module.html +3 -0
  85. data/web/assets/app/panels/bettermap/module.js +8 -0
  86. data/web/assets/app/panels/column/editor.html +1 -0
  87. data/web/assets/app/panels/column/module.html +1 -0
  88. data/web/assets/app/panels/column/module.js +4 -0
  89. data/web/assets/app/panels/column/panelgeneral.html +1 -0
  90. data/web/assets/app/panels/dashcontrol/editor.html +1 -0
  91. data/web/assets/app/panels/dashcontrol/module.html +1 -0
  92. data/web/assets/app/panels/dashcontrol/module.js +4 -0
  93. data/web/assets/app/panels/derivequeries/editor.html +1 -0
  94. data/web/assets/app/panels/derivequeries/module.html +1 -0
  95. data/web/assets/app/panels/derivequeries/module.js +4 -0
  96. data/web/assets/app/panels/fields/editor.html +1 -0
  97. data/web/assets/app/panels/fields/micropanel.html +1 -0
  98. data/web/assets/app/panels/fields/module.html +1 -0
  99. data/web/assets/app/panels/fields/module.js +4 -0
  100. data/web/assets/app/panels/filtering/editor.html +1 -0
  101. data/web/assets/app/panels/filtering/meta.html +3 -0
  102. data/web/assets/app/panels/filtering/module.html +30 -0
  103. data/web/assets/app/panels/filtering/module.js +4 -0
  104. data/web/assets/app/panels/goal/editor.html +1 -0
  105. data/web/assets/app/panels/goal/module.html +1 -0
  106. data/web/assets/app/panels/goal/module.js +4 -0
  107. data/web/assets/app/panels/histogram/editor.html +1 -0
  108. data/web/assets/app/panels/histogram/module.html +40 -0
  109. data/web/assets/app/panels/histogram/module.js +5 -0
  110. data/web/assets/app/panels/histogram/queriesEditor.html +9 -0
  111. data/web/assets/app/panels/histogram/styleEditor.html +1 -0
  112. data/web/assets/app/panels/hits/editor.html +1 -0
  113. data/web/assets/app/panels/hits/module.html +1 -0
  114. data/web/assets/app/panels/hits/module.js +4 -0
  115. data/web/assets/app/panels/map/editor.html +1 -0
  116. data/web/assets/app/panels/map/lib/map.europe.js +4 -0
  117. data/web/assets/app/panels/map/lib/map.usa.js +4 -0
  118. data/web/assets/app/panels/map/lib/map.world.js +4 -0
  119. data/web/assets/app/panels/map/module.html +58 -0
  120. data/web/assets/app/panels/map/module.js +5 -0
  121. data/web/assets/app/panels/query/editor.html +1 -0
  122. data/web/assets/app/panels/query/editors/lucene.html +0 -0
  123. data/web/assets/app/panels/query/editors/regex.html +0 -0
  124. data/web/assets/app/panels/query/editors/topN.html +1 -0
  125. data/web/assets/app/panels/query/help/lucene.html +1 -0
  126. data/web/assets/app/panels/query/help/regex.html +1 -0
  127. data/web/assets/app/panels/query/help/topN.html +1 -0
  128. data/web/assets/app/panels/query/helpModal.html +1 -0
  129. data/web/assets/app/panels/query/meta.html +3 -0
  130. data/web/assets/app/panels/query/module.html +1 -0
  131. data/web/assets/app/panels/query/module.js +4 -0
  132. data/web/assets/app/panels/query/query.css +1 -0
  133. data/web/assets/app/panels/sparklines/editor.html +1 -0
  134. data/web/assets/app/panels/sparklines/module.html +1 -0
  135. data/web/assets/app/panels/sparklines/module.js +4 -0
  136. data/web/assets/app/panels/stats/editor.html +1 -0
  137. data/web/assets/app/panels/stats/module.html +7 -0
  138. data/web/assets/app/panels/stats/module.js +4 -0
  139. data/web/assets/app/panels/table/editor.html +1 -0
  140. data/web/assets/app/panels/table/micropanel.html +3 -0
  141. data/web/assets/app/panels/table/modal.html +31 -0
  142. data/web/assets/app/panels/table/module.html +52 -0
  143. data/web/assets/app/panels/table/module.js +4 -0
  144. data/web/assets/app/panels/table/pagination.html +1 -0
  145. data/web/assets/app/panels/terms/editor.html +1 -0
  146. data/web/assets/app/panels/terms/module.html +24 -0
  147. data/web/assets/app/panels/terms/module.js +4 -0
  148. data/web/assets/app/panels/text/editor.html +1 -0
  149. data/web/assets/app/panels/text/module.html +1 -0
  150. data/web/assets/app/panels/text/module.js +4 -0
  151. data/web/assets/app/panels/timepicker/custom.html +31 -0
  152. data/web/assets/app/panels/timepicker/editor.html +1 -0
  153. data/web/assets/app/panels/timepicker/module.html +3 -0
  154. data/web/assets/app/panels/timepicker/module.js +4 -0
  155. data/web/assets/app/panels/timepicker/refreshctrl.html +1 -0
  156. data/web/assets/app/panels/trends/editor.html +1 -0
  157. data/web/assets/app/panels/trends/module.html +9 -0
  158. data/web/assets/app/panels/trends/module.js +4 -0
  159. data/web/assets/app/partials/dashLoader.html +3 -0
  160. data/web/assets/app/partials/dashLoaderShare.html +1 -0
  161. data/web/assets/app/partials/dashboard.html +1 -0
  162. data/web/assets/app/partials/dasheditor.html +1 -0
  163. data/web/assets/app/partials/inspector.html +2 -0
  164. data/web/assets/app/partials/load.html +1 -0
  165. data/web/assets/app/partials/modal.html +1 -0
  166. data/web/assets/app/partials/paneladd.html +1 -0
  167. data/web/assets/app/partials/paneleditor.html +1 -0
  168. data/web/assets/app/partials/panelgeneral.html +1 -0
  169. data/web/assets/app/partials/querySelect.html +9 -0
  170. data/web/assets/app/partials/roweditor.html +1 -0
  171. data/web/assets/build.txt +153 -0
  172. data/web/assets/css/animate.min.css +1 -0
  173. data/web/assets/css/bootstrap-responsive.min.css +9 -0
  174. data/web/assets/css/bootstrap.dark.less +6290 -0
  175. data/web/assets/css/bootstrap.dark.min.css +9 -0
  176. data/web/assets/css/bootstrap.light.less +6287 -0
  177. data/web/assets/css/bootstrap.light.min.css +9 -0
  178. data/web/assets/css/font-awesome.min.css +1 -0
  179. data/web/assets/css/normalize.min.css +1 -0
  180. data/web/assets/css/timepicker.css +18 -0
  181. data/web/assets/favicon.ico +0 -0
  182. data/web/assets/font/FontAwesome.otf +0 -0
  183. data/web/assets/font/fontawesome-webfont.eot +0 -0
  184. data/web/assets/font/fontawesome-webfont.svg +399 -0
  185. data/web/assets/font/fontawesome-webfont.ttf +0 -0
  186. data/web/assets/font/fontawesome-webfont.woff +0 -0
  187. data/web/assets/img/annotation-icon.png +0 -0
  188. data/web/assets/img/cubes.png +0 -0
  189. data/web/assets/img/glyphicons-halflings-white.png +0 -0
  190. data/web/assets/img/glyphicons-halflings.png +0 -0
  191. data/web/assets/img/kibana.png +0 -0
  192. data/web/assets/img/light.png +0 -0
  193. data/web/assets/img/load.gif +0 -0
  194. data/web/assets/img/load_big.gif +0 -0
  195. data/web/assets/img/small.png +0 -0
  196. data/web/assets/index.html +1 -0
  197. data/web/assets/vendor/LICENSE.json +94 -0
  198. data/web/assets/vendor/bootstrap/less/tests/buttons.html +139 -0
  199. data/web/assets/vendor/bootstrap/less/tests/css-tests.css +3 -0
  200. data/web/assets/vendor/bootstrap/less/tests/css-tests.html +1399 -0
  201. data/web/assets/vendor/bootstrap/less/tests/forms-responsive.html +71 -0
  202. data/web/assets/vendor/bootstrap/less/tests/forms.html +179 -0
  203. data/web/assets/vendor/bootstrap/less/tests/navbar-fixed-top.html +104 -0
  204. data/web/assets/vendor/bootstrap/less/tests/navbar-static-top.html +107 -0
  205. data/web/assets/vendor/bootstrap/less/tests/navbar.html +107 -0
  206. data/web/assets/vendor/require/css-build.js +4 -0
  207. data/web/assets/vendor/require/require.js +4 -0
  208. data/web/assets/vendor/require/tmpl.js +4 -0
  209. data/web/assets/vendor/timezone.js +4 -0
  210. data/web/views/config.erb +80 -0
  211. data/web/views/index.erb +56 -0
  212. metadata +336 -0
  213. metadata.gz.sig +3 -0
@@ -0,0 +1,107 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Bootstrap, from Twitter</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <meta name="description" content="">
8
+ <meta name="author" content="">
9
+
10
+ <!-- Le styles -->
11
+ <link href="../../docs/assets/css/bootstrap.css" rel="stylesheet">
12
+ <style>
13
+ body {
14
+ padding-top: 0;
15
+ padding-bottom: 30px;
16
+ }
17
+ .navbar {
18
+ margin-top: 20px;
19
+ }
20
+ </style>
21
+ <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet">
22
+
23
+ <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
24
+ <!--[if lt IE 9]>
25
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
26
+ <![endif]-->
27
+
28
+ <!-- Le fav and touch icons -->
29
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png">
30
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png">
31
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png">
32
+ <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png">
33
+ <link rel="shortcut icon" href="../../docs/assets/ico/favicon.png">
34
+ </head>
35
+
36
+ <body>
37
+
38
+ <div class="container">
39
+
40
+ <!-- Static navbar -->
41
+ <div class="navbar">
42
+ <div class="navbar-inner">
43
+ <div class="container">
44
+ <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
45
+ <span class="icon-bar"></span>
46
+ <span class="icon-bar"></span>
47
+ <span class="icon-bar"></span>
48
+ </a>
49
+ <a class="brand" href="#">Project name</a>
50
+ <div class="nav-collapse collapse">
51
+ <ul class="nav">
52
+ <li class="active"><a href="#">Home</a></li>
53
+ <li><a href="#about">About</a></li>
54
+ <li><a href="#contact">Contact</a></li>
55
+ <li class="dropdown">
56
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
57
+ <ul class="dropdown-menu">
58
+ <li><a href="#">Action</a></li>
59
+ <li><a href="#">Another action</a></li>
60
+ <li><a href="#">Something else here</a></li>
61
+ <li class="divider"></li>
62
+ <li class="nav-header">Nav header</li>
63
+ <li><a href="#">Separated link</a></li>
64
+ <li><a href="#">One more separated link</a></li>
65
+ </ul>
66
+ </li>
67
+ </ul>
68
+ <ul class="nav pull-right">
69
+ <li class="active"><a href="./navbar.html">Default</a></li>
70
+ <li><a href="./navbar-static-top.html">Static top</a></li>
71
+ <li><a href="./navbar-fixed-top.html">Fixed top</a></li>
72
+ </ul>
73
+ </div><!--/.nav-collapse -->
74
+ </div>
75
+ </div>
76
+ </div>
77
+
78
+ <!-- Main hero unit for a primary marketing message or call to action -->
79
+ <div class="hero-unit">
80
+ <h1>Navbar example</h1>
81
+ <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
82
+ <p>
83
+ <a class="btn btn-large btn-primary" href="../components.html#navbar">View navbar docs &raquo;</a>
84
+ </p>
85
+ </div>
86
+
87
+ </div> <!-- /container -->
88
+
89
+ <!-- Le javascript
90
+ ================================================== -->
91
+ <!-- Placed at the end of the document so the pages load faster -->
92
+ <script src="../../docs/assets/js/jquery.js"></script>
93
+ <script src="../../docs/assets/js/bootstrap-transition.js"></script>
94
+ <script src="../../docs/assets/js/bootstrap-alert.js"></script>
95
+ <script src="../../docs/assets/js/bootstrap-modal.js"></script>
96
+ <script src="../../docs/assets/js/bootstrap-dropdown.js"></script>
97
+ <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script>
98
+ <script src="../../docs/assets/js/bootstrap-tab.js"></script>
99
+ <script src="../../docs/assets/js/bootstrap-tooltip.js"></script>
100
+ <script src="../../docs/assets/js/bootstrap-popover.js"></script>
101
+ <script src="../../docs/assets/js/bootstrap-button.js"></script>
102
+ <script src="../../docs/assets/js/bootstrap-collapse.js"></script>
103
+ <script src="../../docs/assets/js/bootstrap-carousel.js"></script>
104
+ <script src="../../docs/assets/js/bootstrap-typeahead.js"></script>
105
+
106
+ </body>
107
+ </html>
@@ -0,0 +1,4 @@
1
+ /*! kibana - v3.1.0 - 2014-05-15
2
+ * Copyright (c) 2014 Rashid Khan; Licensed Apache License */
3
+
4
+ define([],function(){function a(a,b){var d=c.readFileSync(a,"utf8");0===d.indexOf("")&&(d=d.substring(1)),b(d)}function b(a){return a.replace(/[\r\n]+/g," ").replace(/[\t]/g," ")}var c=require.nodeRequire("fs"),d={},e=!1,f={load:function(c,e,f,g){f(!0),a(g.baseUrl+c,function(a){d[c]=b(a)})},write:function(a,b,c){e||(e=!0,c("define('"+a+"-embed', function()\n{\n function embed_css(content)\n {\n var head = document.getElementsByTagName('head')[0],\n style = document.createElement('style'),\n rules = document.createTextNode(content);\n style.type = 'text/css';\n if(style.styleSheet)\n style.styleSheet.cssText = rules.nodeValue;\n else style.appendChild(rules);\n head.appendChild(style);\n }\n return embed_css;\n});\n")),c("define('"+a+"!"+b+"', ['"+a+"-embed'], \nfunction(embed)\n{\n embed(\n '"+d[b].replace(/'/g,"\\'")+"'\n );\n return true;\n});\n")},writeFile:function(){},onLayerEnd:function(){}};return f});
@@ -0,0 +1,4 @@
1
+ /*! kibana - v3.1.0 - 2014-05-15
2
+ * Copyright (c) 2014 Rashid Khan; Licensed Apache License */
3
+
4
+ var requirejs,require,define;!function(global){function isFunction(a){return"[object Function]"===ostring.call(a)}function isArray(a){return"[object Array]"===ostring.call(a)}function each(a,b){if(a){var c;for(c=0;c<a.length&&(!a[c]||!b(a[c],c,a));c+=1);}}function eachReverse(a,b){if(a){var c;for(c=a.length-1;c>-1&&(!a[c]||!b(a[c],c,a));c-=1);}}function hasProp(a,b){return hasOwn.call(a,b)}function getOwn(a,b){return hasProp(a,b)&&a[b]}function eachProp(a,b){var c;for(c in a)if(hasProp(a,c)&&b(a[c],c))break}function mixin(a,b,c,d){return b&&eachProp(b,function(b,e){(c||!hasProp(a,e))&&(d&&"string"!=typeof b?(a[e]||(a[e]={}),mixin(a[e],b,c,d)):a[e]=b)}),a}function bind(a,b){return function(){return b.apply(a,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(a){throw a}function getGlobal(a){if(!a)return a;var b=global;return each(a.split("."),function(a){b=b[a]}),b}function makeError(a,b,c,d){var e=new Error(b+"\nhttp://requirejs.org/docs/errors.html#"+a);return e.requireType=a,e.requireModules=d,c&&(e.originalError=c),e}function newContext(a){function b(a){var b,c;for(b=0;a[b];b+=1)if(c=a[b],"."===c)a.splice(b,1),b-=1;else if(".."===c){if(1===b&&(".."===a[2]||".."===a[0]))break;b>0&&(a.splice(b-1,2),b-=2)}}function c(a,c,d){var e,f,g,h,i,j,k,l,m,n,o,p=c&&c.split("/"),q=p,r=x.map,s=r&&r["*"];if(a&&"."===a.charAt(0)&&(c?(q=getOwn(x.pkgs,c)?p=[c]:p.slice(0,p.length-1),a=q.concat(a.split("/")),b(a),f=getOwn(x.pkgs,e=a[0]),a=a.join("/"),f&&a===e+"/"+f.main&&(a=e)):0===a.indexOf("./")&&(a=a.substring(2))),d&&r&&(p||s)){for(h=a.split("/"),i=h.length;i>0;i-=1){if(k=h.slice(0,i).join("/"),p)for(j=p.length;j>0;j-=1)if(g=getOwn(r,p.slice(0,j).join("/")),g&&(g=getOwn(g,k))){l=g,m=i;break}if(l)break;!n&&s&&getOwn(s,k)&&(n=getOwn(s,k),o=i)}!l&&n&&(l=n,m=o),l&&(h.splice(0,m,l),a=h.join("/"))}return a}function d(a){isBrowser&&each(scripts(),function(b){return b.getAttribute("data-requiremodule")===a&&b.getAttribute("data-requirecontext")===u.contextName?(b.parentNode.removeChild(b),!0):void 0})}function e(a){var b=getOwn(x.paths,a);return b&&isArray(b)&&b.length>1?(d(a),b.shift(),u.require.undef(a),u.require([a]),!0):void 0}function f(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function g(a,b,d,e){var g,h,i,j,k=null,l=b?b.name:null,m=a,n=!0,o="";return a||(n=!1,a="_@r"+(E+=1)),j=f(a),k=j[0],a=j[1],k&&(k=c(k,l,e),h=getOwn(C,k)),a&&(k?o=h&&h.normalize?h.normalize(a,function(a){return c(a,l,e)}):c(a,l,e):(o=c(a,l,e),j=f(o),k=j[0],o=j[1],d=!0,g=u.nameToUrl(o))),i=!k||h||d?"":"_unnormalized"+(F+=1),{prefix:k,name:o,parentMap:b,unnormalized:!!i,url:g,originalName:m,isDefine:n,id:(k?k+"!"+o:o)+i}}function h(a){var b=a.id,c=getOwn(y,b);return c||(c=y[b]=new u.Module(a)),c}function i(a,b,c){var d=a.id,e=getOwn(y,d);!hasProp(C,d)||e&&!e.defineEmitComplete?(e=h(a),e.error&&"error"===b?c(e.error):e.on(b,c)):"defined"===b&&c(C[d])}function j(a,b){var c=a.requireModules,d=!1;b?b(a):(each(c,function(b){var c=getOwn(y,b);c&&(c.error=a,c.events.error&&(d=!0,c.emit("error",a)))}),d||req.onError(a))}function k(){globalDefQueue.length&&(apsp.apply(B,[B.length-1,0].concat(globalDefQueue)),globalDefQueue=[])}function l(a){delete y[a],delete z[a]}function m(a,b,c){var d=a.map.id;a.error?a.emit("error",a.error):(b[d]=!0,each(a.depMaps,function(d,e){var f=d.id,g=getOwn(y,f);!g||a.depMatched[e]||c[f]||(getOwn(b,f)?(a.defineDep(e,C[f]),a.check()):m(g,b,c))}),c[d]=!0)}function n(){var a,b,c,f,g=1e3*x.waitSeconds,h=g&&u.startTime+g<(new Date).getTime(),i=[],k=[],l=!1,o=!0;if(!s){if(s=!0,eachProp(z,function(c){if(a=c.map,b=a.id,c.enabled&&(a.isDefine||k.push(c),!c.error))if(!c.inited&&h)e(b)?(f=!0,l=!0):(i.push(b),d(b));else if(!c.inited&&c.fetched&&a.isDefine&&(l=!0,!a.prefix))return o=!1}),h&&i.length)return c=makeError("timeout","Load timeout for modules: "+i,null,i),c.contextName=u.contextName,j(c);o&&each(k,function(a){m(a,{},{})}),h&&!f||!l||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,n()},50)),s=!1}}function o(a){hasProp(C,a[0])||h(g(a[0],null,!0)).init(a[1],a[2])}function p(a,b,c,d){a.detachEvent&&!isOpera?d&&a.detachEvent(d,b):a.removeEventListener(c,b,!1)}function q(a){var b=a.currentTarget||a.srcElement;return p(b,u.onScriptLoad,"load","onreadystatechange"),p(b,u.onScriptError,"error"),{node:b,id:b&&b.getAttribute("data-requiremodule")}}function r(){var a;for(k();B.length;){if(a=B.shift(),null===a[0])return j(makeError("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));o(a)}}var s,t,u,v,w,x={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},config:{}},y={},z={},A={},B=[],C={},D={},E=1,F=1;return v={require:function(a){return a.require?a.require:a.require=u.makeRequire(a.map)},exports:function(a){return a.usingExports=!0,a.map.isDefine?a.exports?a.exports:a.exports=C[a.map.id]={}:void 0},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){var b,c=getOwn(x.pkgs,a.map.id);return b=c?getOwn(x.config,a.map.id+"/"+c.main):getOwn(x.config,a.map.id),b||{}},exports:C[a.map.id]}}},t=function(a){this.events=getOwn(A,a.id)||{},this.map=a,this.shim=getOwn(x.shim,a.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},t.prototype={init:function(a,b,c,d){d=d||{},this.inited||(this.factory=b,c?this.on("error",c):this.events.error&&(c=bind(this,function(a){this.emit("error",a)})),this.depMaps=a&&a.slice(0),this.errback=c,this.inited=!0,this.ignore=d.ignore,d.enabled||this.enabled?this.enable():this.check())},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0,u.startTime=(new Date).getTime();var a=this.map;return this.shim?(u.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return a.prefix?this.callPlugin():this.load()})),void 0):a.prefix?this.callPlugin():this.load()}},load:function(){var a=this.map.url;D[a]||(D[a]=!0,u.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id,d=this.depExports,e=this.exports,f=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(f)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{e=u.execCb(c,f,d,e)}catch(g){a=g}else e=u.execCb(c,f,d,e);if(this.map.isDefine&&(b=this.module,b&&void 0!==b.exports&&b.exports!==this.exports?e=b.exports:void 0===e&&this.usingExports&&(e=this.exports)),a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",j(this.error=a)}else e=f;this.exports=e,this.map.isDefine&&!this.ignore&&(C[c]=e,req.onResourceLoad&&req.onResourceLoad(u,this.map,this.depMaps)),l(c),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,d=g(a.prefix);this.depMaps.push(d),i(d,"defined",bind(this,function(d){var e,f,k,m=this.map.name,n=this.map.parentMap?this.map.parentMap.name:null,o=u.makeRequire(a.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(d.normalize&&(m=d.normalize(m,function(a){return c(a,n,!0)})||""),f=g(a.prefix+"!"+m,this.map.parentMap),i(f,"defined",bind(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),k=getOwn(y,f.id),k&&(this.depMaps.push(f),this.events.error&&k.on("error",bind(this,function(a){this.emit("error",a)})),k.enable()),void 0):(e=bind(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),e.error=bind(this,function(a){this.inited=!0,this.error=a,a.requireModules=[b],eachProp(y,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&l(a.map.id)}),j(a)}),e.fromText=bind(this,function(c,d){var f=a.name,i=g(f),k=useInteractive;d&&(c=d),k&&(useInteractive=!1),h(i),hasProp(x.config,b)&&(x.config[f]=x.config[b]);try{req.exec(c)}catch(l){return j(makeError("fromtexteval","fromText eval for "+b+" failed: "+l,l,[b]))}k&&(useInteractive=!0),this.depMaps.push(i),u.completeLoad(f),o([f],e)}),d.load(a.name,o,e,x),void 0)})),u.enable(d,this),this.pluginMaps[d.id]=d},enable:function(){z[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(a,b){var c,d,e;if("string"==typeof a){if(a=g(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[b]=a,e=getOwn(v,a.id))return this.depExports[b]=e(this),void 0;this.depCount+=1,i(a,"defined",bind(this,function(a){this.defineDep(b,a),this.check()})),this.errback&&i(a,"error",bind(this,this.errback))}c=a.id,d=y[c],hasProp(v,c)||!d||d.enabled||u.enable(a,this)})),eachProp(this.pluginMaps,bind(this,function(a){var b=getOwn(y,a.id);b&&!b.enabled&&u.enable(a,this)})),this.enabling=!1,this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]),c.push(b)},emit:function(a,b){each(this.events[a],function(a){a(b)}),"error"===a&&delete this.events[a]}},u={config:x,contextName:a,registry:y,defined:C,urlFetched:D,defQueue:B,Module:t,makeModuleMap:g,nextTick:req.nextTick,onError:j,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=x.pkgs,c=x.shim,d={paths:!0,config:!0,map:!0};eachProp(a,function(a,b){d[b]?"map"===b?(x.map||(x.map={}),mixin(x[b],a,!0,!0)):mixin(x[b],a,!0):x[b]=a}),a.shim&&(eachProp(a.shim,function(a,b){isArray(a)&&(a={deps:a}),!a.exports&&!a.init||a.exportsFn||(a.exportsFn=u.makeShimExports(a)),c[b]=a}),x.shim=c),a.packages&&(each(a.packages,function(a){var c;a="string"==typeof a?{name:a}:a,c=a.location,b[a.name]={name:a.name,location:c||a.name,main:(a.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}}),x.pkgs=b),eachProp(y,function(a,b){a.inited||a.map.unnormalized||(a.map=g(b))}),(a.deps||a.callback)&&u.require(a.deps||[],a.callback)},makeShimExports:function(a){function b(){var b;return a.init&&(b=a.init.apply(global,arguments)),b||a.exports&&getGlobal(a.exports)}return b},makeRequire:function(b,d){function e(c,f,i){var k,l,m;return d.enableBuildCallback&&f&&isFunction(f)&&(f.__requireJsBuild=!0),"string"==typeof c?isFunction(f)?j(makeError("requireargs","Invalid require call"),i):b&&hasProp(v,c)?v[c](y[b.id]):req.get?req.get(u,c,b,e):(l=g(c,b,!1,!0),k=l.id,hasProp(C,k)?C[k]:j(makeError("notloaded",'Module name "'+k+'" has not been loaded yet for context: '+a+(b?"":". Use require([])")))):(r(),u.nextTick(function(){r(),m=h(g(null,b)),m.skipMap=d.skipMap,m.init(c,f,i,{enabled:!0}),n()}),e)}return d=d||{},mixin(e,{isBrowser:isBrowser,toUrl:function(a){var d,e=a.lastIndexOf("."),f=a.split("/")[0],g="."===f||".."===f;return-1!==e&&(!g||e>1)&&(d=a.substring(e,a.length),a=a.substring(0,e)),u.nameToUrl(c(a,b&&b.id,!0),d,!0)},defined:function(a){return hasProp(C,g(a,b,!1,!0).id)},specified:function(a){return a=g(a,b,!1,!0).id,hasProp(C,a)||hasProp(y,a)}}),b||(e.undef=function(a){k();var c=g(a,b,!0),d=getOwn(y,a);delete C[a],delete D[c.url],delete A[a],d&&(d.events.defined&&(A[a]=d.events),l(a))}),e},enable:function(a){var b=getOwn(y,a.id);b&&h(a).enable()},completeLoad:function(a){var b,c,d,f=getOwn(x.shim,a)||{},g=f.exports;for(k();B.length;){if(c=B.shift(),null===c[0]){if(c[0]=a,b)break;b=!0}else c[0]===a&&(b=!0);o(c)}if(d=getOwn(y,a),!b&&!hasProp(C,a)&&d&&!d.inited){if(!(!x.enforceDefine||g&&getGlobal(g)))return e(a)?void 0:j(makeError("nodefine","No define call for "+a,null,[a]));o([a,f.deps||[],f.exportsFn])}n()},nameToUrl:function(a,b,c){var d,e,f,g,h,i,j,k,l;if(req.jsExtRegExp.test(a))k=a+(b||"");else{for(d=x.paths,e=x.pkgs,h=a.split("/"),i=h.length;i>0;i-=1){if(j=h.slice(0,i).join("/"),f=getOwn(e,j),l=getOwn(d,j)){isArray(l)&&(l=l[0]),h.splice(0,i,l);break}if(f){g=a===f.name?f.location+"/"+f.main:f.location,h.splice(0,i,g);break}}k=h.join("/"),k+=b||(/\?/.test(k)||c?"":".js"),k=("/"===k.charAt(0)||k.match(/^[\w\+\.\-]+:/)?"":x.baseUrl)+k}return x.urlArgs?k+((-1===k.indexOf("?")?"?":"&")+x.urlArgs):k},load:function(a,b){req.load(u,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||readyRegExp.test((a.currentTarget||a.srcElement).readyState)){interactiveScript=null;var b=q(a);u.completeLoad(b.id)}},onScriptError:function(a){var b=q(a);return e(b.id)?void 0:j(makeError("scripterror","Script error for: "+b.id,a,[b.id]))}},u.require=u.makeRequire(),u}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(a){return"interactive"===a.readyState?interactiveScript=a:void 0}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.8",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,apsp=ap.splice,isBrowser=!("undefined"==typeof window||!navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(a,b,c,d){var e,f,g=defContextName;return isArray(a)||"string"==typeof a||(f=a,isArray(b)?(a=b,b=c,c=d):a=[]),f&&f.context&&(g=f.context),e=getOwn(contexts,g),e||(e=contexts[g]=req.s.newContext(g)),f&&e.configure(f),e.require(a,b,c)},req.config=function(a){return req(a)},req.nextTick="undefined"!=typeof setTimeout?function(a){setTimeout(a,4)}:function(a){a()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(a){req[a]=function(){var b=contexts[defContextName];return b.require[a].apply(b,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(a){var b=a.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return b.type=a.scriptType||"text/javascript",b.charset="utf-8",b.async=!0,b},req.load=function(a,b,c){var d,e=a&&a.config||{};if(isBrowser)return d=req.createNode(e,b,c),d.setAttribute("data-requirecontext",a.contextName),d.setAttribute("data-requiremodule",b),!d.attachEvent||d.attachEvent.toString&&d.attachEvent.toString().indexOf("[native code")<0||isOpera?(d.addEventListener("load",a.onScriptLoad,!1),d.addEventListener("error",a.onScriptError,!1)):(useInteractive=!0,d.attachEvent("onreadystatechange",a.onScriptLoad)),d.src=c,currentlyAddingScript=d,baseElement?head.insertBefore(d,baseElement):head.appendChild(d),currentlyAddingScript=null,d;if(isWebWorker)try{importScripts(c),a.completeLoad(b)}catch(f){a.onError(makeError("importscripts","importScripts failed for "+b+" at "+c,f,[b]))}},isBrowser&&eachReverse(scripts(),function(a){return head||(head=a.parentNode),dataMain=a.getAttribute("data-main"),dataMain?(mainScript=dataMain,cfg.baseUrl||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0):void 0}),define=function(a,b,c){var d,e;"string"!=typeof a&&(c=b,b=a,a=null),isArray(b)||(c=b,b=null),!b&&isFunction(c)&&(b=[],c.length&&(c.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(a,c){b.push(c)}),b=(1===c.length?["require"]:["require","exports","module"]).concat(b))),useInteractive&&(d=currentlyAddingScript||getInteractiveScript(),d&&(a||(a=d.getAttribute("data-requiremodule")),e=contexts[d.getAttribute("data-requirecontext")])),(e?e.defQueue:globalDefQueue).push([a,b,c])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this);
@@ -0,0 +1,4 @@
1
+ /*! kibana - v3.1.0 - 2014-05-15
2
+ * Copyright (c) 2014 Rashid Khan; Licensed Apache License */
3
+
4
+ define(["module"],function(a){var b=a.config&&a.config()||{};return{load:function(a,c,d){var e=c.toUrl(a);c(["text!"+a],function(a){b.registerTemplate&&b.registerTemplate(e,a),d(a)})}}});
@@ -0,0 +1,4 @@
1
+ /*! kibana - v3.1.0 - 2014-05-15
2
+ * Copyright (c) 2014 Rashid Khan; Licensed Apache License */
3
+
4
+ (function(){var root=this,timezoneJS;timezoneJS="undefined"!=typeof exports?exports:root.timezoneJS={},timezoneJS.VERSION="0.4.4";for(var $=root.$||root.jQuery||root.Zepto,fleegix=root.fleegix,_arrIndexOf,DAYS=timezoneJS.Days=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],MONTHS=timezoneJS.Months=["January","February","March","April","May","June","July","August","September","October","November","December"],SHORT_MONTHS={},SHORT_DAYS={},EXACT_DATE_TIME={},TZ_REGEXP=new RegExp("^[a-zA-Z]+/"),i=0;i<MONTHS.length;i++)SHORT_MONTHS[MONTHS[i].substr(0,3)]=i;for(i=0;i<DAYS.length;i++)SHORT_DAYS[DAYS[i].substr(0,3)]=i;_arrIndexOf=Array.prototype.indexOf||function(a){if(null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!=d?d=0:0!==d&&1/0!==d&&d!==-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1};var _fixWidth=function(a,b){if("number"!=typeof a)throw"not a number: "+a;var c=a.toString();if(a.length>b)return a.substr(a.length-b,a.length);for(;c.length<b;)c="0"+c;return c},_transport=function(a){if(!(fleegix&&"undefined"!=typeof fleegix.xhr||$&&"undefined"!=typeof $.ajax))throw new Error("Please use the Fleegix.js XHR module, jQuery ajax, Zepto ajax, or define your own transport mechanism for downloading zone files.");if(a){if(!a.url)throw new Error("URL must be specified");return"async"in a||(a.async=!0),a.async?fleegix&&fleegix.xhr?fleegix.xhr.send({url:a.url,method:"get",handleSuccess:a.success,handleErr:a.error}):$.ajax({url:a.url,dataType:"text",method:"GET",error:a.error,success:a.success}):fleegix&&fleegix.xhr?fleegix.xhr.doReq({url:a.url,async:!1}):$.ajax({url:a.url,async:!1}).responseText}};timezoneJS.Date=function(){var a=Array.prototype.slice.apply(arguments),b=null,c=null,d=[];switch("[object Array]"===Object.prototype.toString.call(a[0])&&(a=a[0]),"string"==typeof a[a.length-1]&&TZ_REGEXP.test(a[a.length-1])&&(c=a.pop()),a.length){case 0:b=new Date;break;case 1:b=new Date(a[0]);break;default:for(var e=0;7>e;e++)d[e]=a[e]||0;b=new Date(d[0],d[1],d[2],d[3],d[4],d[5],d[6])}this._useCache=!1,this._tzInfo={},this._day=0,this.year=0,this.month=0,this.date=0,this.hours=0,this.minutes=0,this.seconds=0,this.milliseconds=0,this.timezone=c||null,d.length?this.setFromDateObjProxy(b):this.setFromTimeProxy(b.getTime(),c)},timezoneJS.Date.prototype={getDate:function(){return this.date},getDay:function(){return this._day},getFullYear:function(){return this.year},getMonth:function(){return this.month},getYear:function(){return this.year-1900},getHours:function(){return this.hours},getMilliseconds:function(){return this.milliseconds},getMinutes:function(){return this.minutes},getSeconds:function(){return this.seconds},getUTCDate:function(){return this.getUTCDateProxy().getUTCDate()},getUTCDay:function(){return this.getUTCDateProxy().getUTCDay()},getUTCFullYear:function(){return this.getUTCDateProxy().getUTCFullYear()},getUTCHours:function(){return this.getUTCDateProxy().getUTCHours()},getUTCMilliseconds:function(){return this.getUTCDateProxy().getUTCMilliseconds()},getUTCMinutes:function(){return this.getUTCDateProxy().getUTCMinutes()},getUTCMonth:function(){return this.getUTCDateProxy().getUTCMonth()},getUTCSeconds:function(){return this.getUTCDateProxy().getUTCSeconds()},getTime:function(){return this._timeProxy+60*this.getTimezoneOffset()*1e3},getTimezone:function(){return this.timezone},getTimezoneOffset:function(){return this.getTimezoneInfo().tzOffset},getTimezoneAbbreviation:function(){return this.getTimezoneInfo().tzAbbr},getTimezoneInfo:function(){if(this._useCache)return this._tzInfo;var a;return a=this.timezone?"Etc/UTC"===this.timezone||"Etc/GMT"===this.timezone?{tzOffset:0,tzAbbr:"UTC"}:timezoneJS.timezone.getTzInfo(this._timeProxy,this.timezone):{tzOffset:this.getLocalOffset(),tzAbbr:null},this._tzInfo=a,this._useCache=!0,a},getUTCDateProxy:function(){var a=new Date(this._timeProxy);return a.setUTCMinutes(a.getUTCMinutes()+this.getTimezoneOffset()),a},setDate:function(a){return this.setAttribute("date",a),this.getTime()},setFullYear:function(a,b,c){return void 0!==c&&this.setAttribute("date",1),this.setAttribute("year",a),void 0!==b&&this.setAttribute("month",b),void 0!==c&&this.setAttribute("date",c),this.getTime()},setMonth:function(a,b){return this.setAttribute("month",a),void 0!==b&&this.setAttribute("date",b),this.getTime()},setYear:function(a){return a=Number(a),a>=0&&99>=a&&(a+=1900),this.setUTCAttribute("year",a),this.getTime()},setHours:function(a,b,c,d){return this.setAttribute("hours",a),void 0!==b&&this.setAttribute("minutes",b),void 0!==c&&this.setAttribute("seconds",c),void 0!==d&&this.setAttribute("milliseconds",d),this.getTime()},setMinutes:function(a,b,c){return this.setAttribute("minutes",a),void 0!==b&&this.setAttribute("seconds",b),void 0!==c&&this.setAttribute("milliseconds",c),this.getTime()},setSeconds:function(a,b){return this.setAttribute("seconds",a),void 0!==b&&this.setAttribute("milliseconds",b),this.getTime()},setMilliseconds:function(a){return this.setAttribute("milliseconds",a),this.getTime()},setTime:function(a){if(isNaN(a))throw new Error("Units must be a number.");return this.setFromTimeProxy(a,this.timezone),this.getTime()},setUTCFullYear:function(a,b,c){return void 0!==c&&this.setUTCAttribute("date",1),this.setUTCAttribute("year",a),void 0!==b&&this.setUTCAttribute("month",b),void 0!==c&&this.setUTCAttribute("date",c),this.getTime()},setUTCMonth:function(a,b){return this.setUTCAttribute("month",a),void 0!==b&&this.setUTCAttribute("date",b),this.getTime()},setUTCDate:function(a){return this.setUTCAttribute("date",a),this.getTime()},setUTCHours:function(a,b,c,d){return this.setUTCAttribute("hours",a),void 0!==b&&this.setUTCAttribute("minutes",b),void 0!==c&&this.setUTCAttribute("seconds",c),void 0!==d&&this.setUTCAttribute("milliseconds",d),this.getTime()},setUTCMinutes:function(a,b,c){return this.setUTCAttribute("minutes",a),void 0!==b&&this.setUTCAttribute("seconds",b),void 0!==c&&this.setUTCAttribute("milliseconds",c),this.getTime()},setUTCSeconds:function(a,b){return this.setUTCAttribute("seconds",a),void 0!==b&&this.setUTCAttribute("milliseconds",b),this.getTime()},setUTCMilliseconds:function(a){return this.setUTCAttribute("milliseconds",a),this.getTime()},setFromDateObjProxy:function(a){this.year=a.getFullYear(),this.month=a.getMonth(),this.date=a.getDate(),this.hours=a.getHours(),this.minutes=a.getMinutes(),this.seconds=a.getSeconds(),this.milliseconds=a.getMilliseconds(),this._day=a.getDay(),this._dateProxy=a,this._timeProxy=Date.UTC(this.year,this.month,this.date,this.hours,this.minutes,this.seconds,this.milliseconds),this._useCache=!1},setFromTimeProxy:function(a,b){var c,d=new Date(a);c=b?timezoneJS.timezone.getTzInfo(d,b).tzOffset:d.getTimezoneOffset(),d.setTime(a+6e4*(d.getTimezoneOffset()-c)),this.setFromDateObjProxy(d)},setAttribute:function(a,b){if(isNaN(b))throw new Error("Units must be a number.");var c=this._dateProxy,d="year"===a?"FullYear":a.substr(0,1).toUpperCase()+a.substr(1);c["set"+d](b),this.setFromDateObjProxy(c)},setUTCAttribute:function(a,b){if(isNaN(b))throw new Error("Units must be a number.");var c="year"===a?"FullYear":a.substr(0,1).toUpperCase()+a.substr(1),d=this.getUTCDateProxy();d["setUTC"+c](b),d.setUTCMinutes(d.getUTCMinutes()-this.getTimezoneOffset()),this.setFromTimeProxy(d.getTime()+6e4*this.getTimezoneOffset(),this.timezone)},setTimezone:function(a){var b=this.getTimezoneInfo().tzOffset;this.timezone=a,this._useCache=!1,this.setUTCMinutes(this.getUTCMinutes()-this.getTimezoneInfo().tzOffset+b)},removeTimezone:function(){this.timezone=null,this._useCache=!1},valueOf:function(){return this.getTime()},clone:function(){return this.timezone?new timezoneJS.Date(this.getTime(),this.timezone):new timezoneJS.Date(this.getTime())},toGMTString:function(){return this.toString("EEE, dd MMM yyyy HH:mm:ss Z","Etc/GMT")},toLocaleString:function(){},toLocaleDateString:function(){},toLocaleTimeString:function(){},toSource:function(){},toISOString:function(){return this.toString("yyyy-MM-ddTHH:mm:ss.SSS","Etc/UTC")+"Z"},toJSON:function(){return this.toISOString()},toString:function(a,b){a||(a="yyyy-MM-dd HH:mm:ss");var c=a,d=b?timezoneJS.timezone.getTzInfo(this.getTime(),b):this.getTimezoneInfo(),e=this;b&&(e=this.clone(),e.setTimezone(b));var f=e.getHours();return c.replace(/a+/g,function(){return"k"}).replace(/y+/g,function(a){return _fixWidth(e.getFullYear(),a.length)}).replace(/d+/g,function(a){return _fixWidth(e.getDate(),a.length)}).replace(/m+/g,function(a){return _fixWidth(e.getMinutes(),a.length)}).replace(/s+/g,function(a){return _fixWidth(e.getSeconds(),a.length)}).replace(/S+/g,function(a){return _fixWidth(e.getMilliseconds(),a.length)}).replace(/M+/g,function(a){var b=e.getMonth(),c=a.length;return c>3?timezoneJS.Months[b]:c>2?timezoneJS.Months[b].substring(0,c):_fixWidth(b+1,c)}).replace(/k+/g,function(){return f>=12?(f>12&&(f-=12),"PM"):"AM"}).replace(/H+/g,function(a){return _fixWidth(f,a.length)}).replace(/E+/g,function(a){return DAYS[e.getDay()].substring(0,a.length)}).replace(/Z+/gi,function(){return d.tzAbbr})},toUTCString:function(){return this.toGMTString()},civilToJulianDayNumber:function(a,b,c){var d;b++,b>12&&(d=parseInt(b/12,10),b%=12,a+=d),2>=b&&(a-=1,b+=12),d=Math.floor(a/100);var e=2-d+Math.floor(d/4),f=Math.floor(365.25*(a+4716))+Math.floor(30.6001*(b+1))+c+e-1524;return f},getLocalOffset:function(){return this._dateProxy.getTimezoneOffset()}},timezoneJS.timezone=new function(){function invalidTZError(a){throw new Error('Timezone "'+a+'" is either incorrect, or not loaded in the timezone registry.')}function builtInLoadZoneFile(a,b){var c=_this.zoneFileBasePath+"/"+a;return b&&b.async?_this.transport({async:!0,url:c,success:function(a){return _this.parseZones(a)&&"function"==typeof b.callback&&b.callback(),!0},error:function(){throw new Error('Error retrieving "'+c+'" zoneinfo files')}}):_this.parseZones(_this.transport({url:c,async:!1}))}function getRegionForTimezone(a){var b,c,d=regionExceptions[a];if(d)return d;if(b=a.split("/")[0],c=regionMap[b])return c;var e=_this.zones[a];return"string"==typeof e?getRegionForTimezone(e):_this.loadedZones.backward?(invalidTZError(a),void 0):(_this.loadZoneFile("backward"),getRegionForTimezone(a))}function parseTimeString(a){var b=/(\d+)(?::0*(\d*))?(?::0*(\d*))?([wsugz])?$/,c=a.match(b);return c[1]=parseInt(c[1],10),c[2]=c[2]?parseInt(c[2],10):0,c[3]=c[3]?parseInt(c[3],10):0,c}function processZone(a){if(a[3]){var b=parseInt(a[3],10),c=11,d=31;a[4]&&(c=SHORT_MONTHS[a[4].substr(0,3)],d=parseInt(a[5],10)||1);var e=a[6]?a[6]:"00:00:00",f=parseTimeString(e);return[b,c,d,f[1],f[2],f[3]]}}function getZone(a,b){for(var c="number"==typeof a?a:new Date(a).getTime(),d=b,e=_this.zones[d];"string"==typeof e;)d=e,e=_this.zones[d];if(!e){if(!_this.loadedZones.backward)return _this.loadZoneFile("backward"),getZone(a,b);invalidTZError(d)}if(0===e.length)throw new Error('No Zone found for "'+b+'" on '+a);for(var f=e.length-1;f>=0;f--){var g=e[f];if(g[3]&&c>g[3])break}return e[f+1]}function getBasicOffset(a){var b=parseTimeString(a),c="-"===a.charAt(0)?-1:1;return b=1e3*c*(60*(60*b[1]+b[2])+b[3]),b/60/1e3}function getRule(a,b,c){var d="number"==typeof a?new Date(a):a,e=b[1],f=b[0],g=e.match(/^([0-9]):([0-9][0-9])$/);if(g)return[-1e6,"max","-","Jan",1,parseTimeString("0:00"),60*parseInt(g[1])+parseInt(g[2]),"-"];var h,i=function(a,b,c){var d=0;if("u"===b||"g"===b||"z"===b)d=0;else if("s"===b)d=f;else{if("w"!==b&&b)throw"unknown type "+b;d=getAdjustedOffset(f,c)}return d*=6e4,new Date(a.getTime()+d)},j=function(a,b){var c,d=a[0],e=a[1],f=e[5];if(EXACT_DATE_TIME[d]||(EXACT_DATE_TIME[d]={}),EXACT_DATE_TIME[d][e])c=EXACT_DATE_TIME[d][e];else{if(isNaN(e[4])){var g,h;"last"===e[4].substr(0,4)?(c=new Date(Date.UTC(d,SHORT_MONTHS[e[3]]+1,1,f[1]-24,f[2],f[3],0)),g=SHORT_DAYS[e[4].substr(4,3)],h="<="):(c=new Date(Date.UTC(d,SHORT_MONTHS[e[3]],e[4].substr(5),f[1],f[2],f[3],0)),g=SHORT_DAYS[e[4].substr(0,3)],h=e[4].substr(3,2));var j=c.getUTCDay();">="===h?c.setUTCDate(c.getUTCDate()+(g-j+(j>g?7:0))):c.setUTCDate(c.getUTCDate()+(g-j-(g>j?7:0)))}else c=new Date(Date.UTC(d,SHORT_MONTHS[e[3]],e[4],f[1],f[2],f[3],0));EXACT_DATE_TIME[d][e]=c}return b&&(c=i(c,f[4],b)),c},k=function(a,b){for(var c=[],d=0;b&&d<b.length;d++)b[d][0]<=a&&(b[d][1]>=a||b[d][0]===a&&"only"===b[d][1]||"max"===b[d][1])&&c.push([a,b[d]]);return c},l=function(a,b,d){var e,f;return a.constructor!==Date?(e=a[0],f=a[1],a=!d&&EXACT_DATE_TIME[e]&&EXACT_DATE_TIME[e][f]?EXACT_DATE_TIME[e][f]:j(a,d)):d&&(a=i(a,c?"u":"w",d)),b.constructor!==Date?(e=b[0],f=b[1],b=!d&&EXACT_DATE_TIME[e]&&EXACT_DATE_TIME[e][f]?EXACT_DATE_TIME[e][f]:j(b,d)):d&&(b=i(b,c?"u":"w",d)),a=Number(a),b=Number(b),a-b},m=d.getUTCFullYear();h=k(m,_this.rules[e]),h.push(d),h.sort(l),_arrIndexOf.call(h,d)<2&&(h=h.concat(k(m-1,_this.rules[e])),h.sort(l));var n=_arrIndexOf.call(h,d);return n>1&&l(d,h[n-1],h[n-2][1])<0?h[n-2][1]:n>0&&n<h.length-1&&l(d,h[n+1],h[n-1][1])>0?h[n+1][1]:0===n?null:h[n-1][1]}function getAdjustedOffset(a,b){return-Math.ceil(b[6]-a)}function getAbbreviation(a,b){var c,d=a[2];if(d.indexOf("%s")>-1){var e;e=b?"-"===b[7]?"":b[7]:"S",c=d.replace("%s",e)}else c=d.indexOf("/")>-1?d.split("/",2)[b[6]?1:0]:d;return c}var _this=this,regionMap={Etc:"etcetera",EST:"northamerica",MST:"northamerica",HST:"northamerica",EST5EDT:"northamerica",CST6CDT:"northamerica",MST7MDT:"northamerica",PST8PDT:"northamerica",America:"northamerica",Pacific:"australasia",Atlantic:"europe",Africa:"africa",Indian:"africa",Antarctica:"antarctica",Asia:"asia",Australia:"australasia",Europe:"europe",WET:"europe",CET:"europe",MET:"europe",EET:"europe"},regionExceptions={"Pacific/Honolulu":"northamerica","Atlantic/Bermuda":"northamerica","Atlantic/Cape_Verde":"africa","Atlantic/St_Helena":"africa","Indian/Kerguelen":"antarctica","Indian/Chagos":"asia","Indian/Maldives":"asia","Indian/Christmas":"australasia","Indian/Cocos":"australasia","America/Danmarkshavn":"europe","America/Scoresbysund":"europe","America/Godthab":"europe","America/Thule":"europe","Asia/Yekaterinburg":"europe","Asia/Omsk":"europe","Asia/Novosibirsk":"europe","Asia/Krasnoyarsk":"europe","Asia/Irkutsk":"europe","Asia/Yakutsk":"europe","Asia/Vladivostok":"europe","Asia/Sakhalin":"europe","Asia/Magadan":"europe","Asia/Kamchatka":"europe","Asia/Anadyr":"europe","Africa/Ceuta":"europe","America/Argentina/Buenos_Aires":"southamerica","America/Argentina/Cordoba":"southamerica","America/Argentina/Tucuman":"southamerica","America/Argentina/La_Rioja":"southamerica","America/Argentina/San_Juan":"southamerica","America/Argentina/Jujuy":"southamerica","America/Argentina/Catamarca":"southamerica","America/Argentina/Mendoza":"southamerica","America/Argentina/Rio_Gallegos":"southamerica","America/Argentina/Ushuaia":"southamerica","America/Aruba":"southamerica","America/La_Paz":"southamerica","America/Noronha":"southamerica","America/Belem":"southamerica","America/Fortaleza":"southamerica","America/Recife":"southamerica","America/Araguaina":"southamerica","America/Maceio":"southamerica","America/Bahia":"southamerica","America/Sao_Paulo":"southamerica","America/Campo_Grande":"southamerica","America/Cuiaba":"southamerica","America/Porto_Velho":"southamerica","America/Boa_Vista":"southamerica","America/Manaus":"southamerica","America/Eirunepe":"southamerica","America/Rio_Branco":"southamerica","America/Santiago":"southamerica","Pacific/Easter":"southamerica","America/Bogota":"southamerica","America/Curacao":"southamerica","America/Guayaquil":"southamerica","Pacific/Galapagos":"southamerica","Atlantic/Stanley":"southamerica","America/Cayenne":"southamerica","America/Guyana":"southamerica","America/Asuncion":"southamerica","America/Lima":"southamerica","Atlantic/South_Georgia":"southamerica","America/Paramaribo":"southamerica","America/Port_of_Spain":"southamerica","America/Montevideo":"southamerica","America/Caracas":"southamerica"};this.zoneFileBasePath=null,this.zoneFiles=["africa","antarctica","asia","australasia","backward","etcetera","europe","northamerica","pacificnew","southamerica"],this.loadingSchemes={PRELOAD_ALL:"preloadAll",LAZY_LOAD:"lazyLoad",MANUAL_LOAD:"manualLoad"},this.loadingScheme=this.loadingSchemes.LAZY_LOAD,this.loadedZones={},this.zones={},this.rules={},this.init=function(a){var b,c={async:!0},d=this.loadingScheme===this.loadingSchemes.PRELOAD_ALL?this.zoneFiles:this.defaultZoneFile||"northamerica",e=0;for(var f in a)c[f]=a[f];if("string"==typeof d)return this.loadZoneFile(d,c);b=c.callback,c.callback=function(){e++,e===d.length&&"function"==typeof b&&b()};for(var g=0;g<d.length;g++)this.loadZoneFile(d[g],c)},this.loadZoneFile=function(a,b){if("undefined"==typeof this.zoneFileBasePath)throw new Error("Please define a base path to your zone file directory -- timezoneJS.timezone.zoneFileBasePath.");if(!this.loadedZones[a])return this.loadedZones[a]=!0,builtInLoadZoneFile(a,b)},this.loadZoneJSONData=function(url,sync){var processData=function(data){data=eval("("+data+")");for(var z in data.zones)_this.zones[z]=data.zones[z];for(var r in data.rules)_this.rules[r]=data.rules[r]};return sync?processData(_this.transport({url:url,async:!1})):_this.transport({url:url,success:processData})},this.loadZoneDataFromObject=function(a){if(a){for(var b in a.zones)_this.zones[b]=a.zones[b];for(var c in a.rules)_this.rules[c]=a.rules[c]}},this.getAllZones=function(){var a=[];for(var b in this.zones)a.push(b);return a.sort()},this.parseZones=function(a){for(var b,c=a.split("\n"),d=[],e="",f=null,g=null,h=0;h<c.length;h++)if(b=c[h],b.match(/^\s/)&&(b="Zone "+f+b),b=b.split("#")[0],b.length>3)switch(d=b.split(/\s+/),e=d.shift()){case"Zone":if(f=d.shift(),_this.zones[f]||(_this.zones[f]=[]),d.length<3)break;d.splice(3,d.length,processZone(d)),d[3]&&(d[3]=Date.UTC.apply(null,d[3])),d[0]=-getBasicOffset(d[0]),_this.zones[f].push(d);break;case"Rule":g=d.shift(),_this.rules[g]||(_this.rules[g]=[]),d[0]=parseInt(d[0],10),d[1]=parseInt(d[1],10)||d[1],d[5]=parseTimeString(d[5]),d[6]=getBasicOffset(d[6]),_this.rules[g].push(d);break;case"Link":if(_this.zones[d[1]])throw new Error("Error with Link "+d[1]+". Cannot create link of a preexisted zone.");_this.zones[d[1]]=d[0]}return!0},this.transport=_transport,this.getTzInfo=function(a,b,c){if(this.loadingScheme===this.loadingSchemes.LAZY_LOAD){var d=getRegionForTimezone(b);if(!d)throw new Error("Not a valid timezone ID.");this.loadedZones[d]||this.loadZoneFile(d)}var e=getZone(a,b),f=e[0],g=getRule(a,e,c);g&&(f=getAdjustedOffset(f,g));var h=getAbbreviation(e,g);return{tzOffset:f,tzAbbr:h}}}}).call(this);
@@ -0,0 +1,80 @@
1
+ /** @scratch /configuration/config.js/1
2
+ *
3
+ * == Configuration
4
+ * config.js is where you will find the core Kibana configuration. This file contains parameter that
5
+ * must be set before kibana is run for the first time.
6
+ */
7
+ define(['settings'],
8
+ function (Settings) {
9
+
10
+
11
+ /** @scratch /configuration/config.js/2
12
+ *
13
+ * === Parameters
14
+ */
15
+ return new Settings({
16
+
17
+ /** @scratch /configuration/config.js/5
18
+ *
19
+ * ==== elasticsearch
20
+ *
21
+ * The URL to your elasticsearch server. You almost certainly don't
22
+ * want +http://localhost:9200+ here. Even if Kibana and Elasticsearch are on
23
+ * the same host. By default this will attempt to reach ES at the same host you have
24
+ * kibana installed on. You probably want to set it to the FQDN of your
25
+ * elasticsearch host
26
+ *
27
+ * Note: this can also be an object if you want to pass options to the http client. For example:
28
+ *
29
+ * +elasticsearch: {server: "http://localhost:9200", withCredentials: true}+
30
+ *
31
+ */
32
+ elasticsearch: "//"+window.location.hostname+":"+window.location.port+"/kibana",
33
+
34
+ /** @scratch /configuration/config.js/5
35
+ *
36
+ * ==== default_route
37
+ *
38
+ * This is the default landing page when you don't specify a dashboard to load. You can specify
39
+ * files, scripts or saved dashboards here. For example, if you had saved a dashboard called
40
+ * `WebLogs' to elasticsearch you might use:
41
+ *
42
+ * default_route: '/dashboard/elasticsearch/WebLogs',
43
+ */
44
+ default_route : '<%= settings.kibana_default_route %>',
45
+
46
+ /** @scratch /configuration/config.js/5
47
+ *
48
+ * ==== kibana-int
49
+ *
50
+ * The default ES index to use for storing Kibana specific object
51
+ * such as stored dashboards
52
+ */
53
+ kibana_index: '<%= settings.kibana_index %>',
54
+
55
+ /** @scratch /configuration/config.js/5
56
+ *
57
+ * ==== panel_name
58
+ *
59
+ * An array of panel modules available. Panels will only be loaded when they are defined in the
60
+ * dashboard, but this list is used in the "add panel" interface.
61
+ */
62
+ panel_names: [
63
+ 'histogram',
64
+ 'map',
65
+ 'goal',
66
+ 'table',
67
+ 'filtering',
68
+ 'timepicker',
69
+ 'text',
70
+ 'hits',
71
+ 'column',
72
+ 'trends',
73
+ 'bettermap',
74
+ 'query',
75
+ 'terms',
76
+ 'stats',
77
+ 'sparklines'
78
+ ]
79
+ });
80
+ });
@@ -0,0 +1,56 @@
1
+ <!DOCTYPE html>
2
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
3
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
4
+ <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
5
+ <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
6
+ <head>
7
+ <meta charset="utf-8">
8
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
9
+ <meta name="viewport" content="width=device-width">
10
+
11
+ <base href="/kibana/">
12
+
13
+ <title>Kibana 3{{dashboard.current.title ? " - "+dashboard.current.title : ""}}</title>
14
+ <link rel="stylesheet" href="css/bootstrap.light.min.css" title="Light">
15
+ <link rel="stylesheet" href="css/timepicker.css">
16
+ <link rel="stylesheet" href="css/animate.min.css">
17
+ <link rel="stylesheet" href="css/normalize.min.css">
18
+ <!-- load the root require context -->
19
+ <script src="vendor/require/require.js"></script>
20
+ <script src="app/components/require.config.js"></script>
21
+ <script>require(['app'], function () {})</script>
22
+ <style>
23
+ </style>
24
+
25
+ </head>
26
+
27
+ <body>
28
+ <noscript>
29
+ <div class="container">
30
+ <center><h3>You must enable javascript to use Kibana</h3></center>
31
+ </div>
32
+ </noscript>
33
+ <!--<link rel="stylesheet" ng-href="kibana/css/bootstrap.{{dashboard.current.style||'dark'}}.min.css">-->
34
+ <link rel="stylesheet" ng-href="css/bootstrap.{{dashboard.current.style||'dark'}}.min.css">
35
+ <link rel="stylesheet" href="css/bootstrap-responsive.min.css">
36
+ <link rel="stylesheet" href="css/font-awesome.min.css">
37
+
38
+ <div ng-cloak ng-repeat='alert in dashAlerts.list' class="alert-{{alert.severity}} dashboard-notice" ng-show="$last">
39
+ <button type="button" class="close" ng-click="dashAlerts.clear(alert)" style="padding-right:50px">&times;</button>
40
+ <strong>{{alert.title}}</strong> <span ng-bind-html='alert.text'></span> <div style="padding-right:10px" class='pull-right small'> {{$index + 1}} alert(s) </div>
41
+ </div>
42
+ <div ng-cloak class="navbar navbar-static-top">
43
+ <div class="navbar-inner">
44
+ <div class="container-fluid">
45
+ <span class="brand"><img src="img/small.png" bs-tooltip="'Kibana '+(kbnVersion=='@REV@'?'master':kbnVersion)" data-placement="bottom"> {{dashboard.current.title}}</span>
46
+
47
+ <ul class="nav pull-right" ng-controller='dashLoader' ng-init="init()" ng-include="'app/partials/dashLoader.html'">
48
+ </ul>
49
+ </div>
50
+ </div>
51
+ </div>
52
+
53
+ <div ng-cloak ng-view></div>
54
+
55
+ </body>
56
+ </html>
metadata ADDED
@@ -0,0 +1,336 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kibana-rack
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Tony Burns
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MQ0wCwYDVQQDDAR0b255
14
+ MRkwFwYKCZImiZPyLGQBGRYJdGFib2xhcmlvMRMwEQYKCZImiZPyLGQBGRYDY29t
15
+ MB4XDTE0MDcxMTE5NDcyNloXDTE1MDcxMTE5NDcyNlowPzENMAsGA1UEAwwEdG9u
16
+ eTEZMBcGCgmSJomT8ixkARkWCXRhYm9sYXJpbzETMBEGCgmSJomT8ixkARkWA2Nv
17
+ bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3gJIhCxbh7nz9VKtBY
18
+ 0EgmHd913Bb+aonDfo7cUK4b49pH7hYPe7B5gGL0cKDb7tAPQIMC6TCsQiC0kV3j
19
+ v14u/HIhjzMoUM4DuhM9k6DjURjwjvIPm6r4HREzKgimou/GqtgMCtypA98fAFQo
20
+ eMtXRWd57xGRfj85InfRmwMh35dx9v9Avl1pBsd9wvgMY4ifeYZvRvfholtf59Hv
21
+ iiPcrW98cxn7nnVxEJYwLPkIdVhTZ/VG0Z5BcoYO7k1yKi3ReduCAmzpN80vXf4H
22
+ r3w8aS7k/xgcbTo6wiPICPdgf0V5iKbQ0boFI4/fkBClHNYtPhHY9Ju/YKFSYmVV
23
+ 7OUCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFFm2
24
+ SzkQy/F1CytjM4FoHfX39CZoMB0GA1UdEQQWMBSBEnRvbnlAdGFib2xhcmlvLmNv
25
+ bTAdBgNVHRIEFjAUgRJ0b255QHRhYm9sYXJpby5jb20wDQYJKoZIhvcNAQEFBQAD
26
+ ggEBAFnlcqQugfYaaql/apKtDQVUiFnV74ZCAfJJERjTr2DbyPan5Q5AKi8ITALO
27
+ EiG8Jj5lRzV3ungD6x4s+OqxhoU74u97qg9IqY/hOt8tJCsImdkskhp3C6TVCHU8
28
+ Ebt6YEWZ5LxRz0dkDNCJtRCBwUbvT8VWkVcYVb23lB42GTPHxvLSAlQpbuFpuJXR
29
+ smVnjsy701YBbvg2gxfcoZGhJ2hZUYuaPnHDhS2scjHJQUqeQ5vXnL7+Xvdw7ksi
30
+ WdK2SktNC0LYNRz+x3DdkcnVGS5BbSE7CYk7ap0J9jTobkmBTZ6tNWhVQiy7eJLr
31
+ pOgabsoLeT6zXAW+EOudMh1S/ZA=
32
+ -----END CERTIFICATE-----
33
+ date: 2014-08-10 00:00:00.000000000 Z
34
+ dependencies:
35
+ - !ruby/object:Gem::Dependency
36
+ name: faraday
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ - !ruby/object:Gem::Dependency
50
+ name: sinatra
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: sinatra-contrib
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ - !ruby/object:Gem::Dependency
78
+ name: bundler
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.6'
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '1.6'
91
+ description: Embed Kibana as a Rack application
92
+ email:
93
+ - tony@tabolario.com
94
+ executables: []
95
+ extensions: []
96
+ extra_rdoc_files: []
97
+ files:
98
+ - ".editorconfig"
99
+ - ".gitattributes"
100
+ - ".gitignore"
101
+ - ".overcommit.yml"
102
+ - ".rspec"
103
+ - ".rubocop.yml"
104
+ - ".simplecov"
105
+ - ".travis.yml"
106
+ - ".yardopts"
107
+ - CHANGELOG.md
108
+ - CONTRIBUTING.md
109
+ - Gemfile
110
+ - LICENSE.txt
111
+ - README.md
112
+ - Rakefile
113
+ - dashboards/blank.json
114
+ - dashboards/default.json
115
+ - dashboards/guided.json
116
+ - dashboards/logstash.js
117
+ - dashboards/logstash.json
118
+ - dashboards/noted.json
119
+ - examples/dashboards/default.json
120
+ - examples/rack/config.ru
121
+ - examples/rack_basic_auth/config.ru
122
+ - examples/rack_basic_auth/dashboards/default.json
123
+ - examples/rails/app/controllers/application_controller.rb
124
+ - examples/rails/app/helpers/application_helper.rb
125
+ - examples/rails/app/kibana/blank.json
126
+ - examples/rails/app/kibana/default.json
127
+ - examples/rails/app/kibana/guided.json
128
+ - examples/rails/app/kibana/logstash.json
129
+ - examples/rails/app/kibana/noted.json
130
+ - examples/rails/bin/bundle
131
+ - examples/rails/bin/rails
132
+ - examples/rails/bin/rake
133
+ - examples/rails/config.ru
134
+ - examples/rails/config/application.rb
135
+ - examples/rails/config/boot.rb
136
+ - examples/rails/config/environment.rb
137
+ - examples/rails/config/environments/development.rb
138
+ - examples/rails/config/environments/production.rb
139
+ - examples/rails/config/environments/test.rb
140
+ - examples/rails/config/initializers/cookies_serializer.rb
141
+ - examples/rails/config/initializers/filter_parameter_logging.rb
142
+ - examples/rails/config/initializers/kibana.rb
143
+ - examples/rails/config/initializers/session_store.rb
144
+ - examples/rails/config/initializers/wrap_parameters.rb
145
+ - examples/rails/config/routes.rb
146
+ - examples/rails/config/secrets.yml
147
+ - examples/rails/log/.keep
148
+ - examples/sinatra/config.ru
149
+ - examples/sinatra/dashboards/default.json
150
+ - kibana-rack.gemspec
151
+ - lib/kibana/rack.rb
152
+ - lib/kibana/rack/version.rb
153
+ - lib/kibana/rack/web.rb
154
+ - spec/fixtures/dashboards/default.json
155
+ - spec/fixtures/dashboards/templated.json
156
+ - spec/spec_helper.rb
157
+ - spec/unit/kibana/rack/web_spec.rb
158
+ - spec/unit/kibana/rack_spec.rb
159
+ - tabolario.gpg
160
+ - tabolario.pem
161
+ - web/assets/LICENSE.md
162
+ - web/assets/README.md
163
+ - web/assets/app/app.js
164
+ - web/assets/app/components/require.config.js
165
+ - web/assets/app/factories/store.js
166
+ - web/assets/app/panels/bettermap/editor.html
167
+ - web/assets/app/panels/bettermap/leaflet/images/layers-2x.png
168
+ - web/assets/app/panels/bettermap/leaflet/images/layers.png
169
+ - web/assets/app/panels/bettermap/leaflet/images/marker-icon-2x.png
170
+ - web/assets/app/panels/bettermap/leaflet/images/marker-icon.png
171
+ - web/assets/app/panels/bettermap/leaflet/images/marker-shadow.png
172
+ - web/assets/app/panels/bettermap/leaflet/leaflet.css
173
+ - web/assets/app/panels/bettermap/leaflet/leaflet.ie.css
174
+ - web/assets/app/panels/bettermap/leaflet/leaflet.js
175
+ - web/assets/app/panels/bettermap/leaflet/plugins.css
176
+ - web/assets/app/panels/bettermap/leaflet/plugins.js
177
+ - web/assets/app/panels/bettermap/module.css
178
+ - web/assets/app/panels/bettermap/module.html
179
+ - web/assets/app/panels/bettermap/module.js
180
+ - web/assets/app/panels/column/editor.html
181
+ - web/assets/app/panels/column/module.html
182
+ - web/assets/app/panels/column/module.js
183
+ - web/assets/app/panels/column/panelgeneral.html
184
+ - web/assets/app/panels/dashcontrol/editor.html
185
+ - web/assets/app/panels/dashcontrol/module.html
186
+ - web/assets/app/panels/dashcontrol/module.js
187
+ - web/assets/app/panels/derivequeries/editor.html
188
+ - web/assets/app/panels/derivequeries/module.html
189
+ - web/assets/app/panels/derivequeries/module.js
190
+ - web/assets/app/panels/fields/editor.html
191
+ - web/assets/app/panels/fields/micropanel.html
192
+ - web/assets/app/panels/fields/module.html
193
+ - web/assets/app/panels/fields/module.js
194
+ - web/assets/app/panels/filtering/editor.html
195
+ - web/assets/app/panels/filtering/meta.html
196
+ - web/assets/app/panels/filtering/module.html
197
+ - web/assets/app/panels/filtering/module.js
198
+ - web/assets/app/panels/goal/editor.html
199
+ - web/assets/app/panels/goal/module.html
200
+ - web/assets/app/panels/goal/module.js
201
+ - web/assets/app/panels/histogram/editor.html
202
+ - web/assets/app/panels/histogram/module.html
203
+ - web/assets/app/panels/histogram/module.js
204
+ - web/assets/app/panels/histogram/queriesEditor.html
205
+ - web/assets/app/panels/histogram/styleEditor.html
206
+ - web/assets/app/panels/hits/editor.html
207
+ - web/assets/app/panels/hits/module.html
208
+ - web/assets/app/panels/hits/module.js
209
+ - web/assets/app/panels/map/editor.html
210
+ - web/assets/app/panels/map/lib/map.europe.js
211
+ - web/assets/app/panels/map/lib/map.usa.js
212
+ - web/assets/app/panels/map/lib/map.world.js
213
+ - web/assets/app/panels/map/module.html
214
+ - web/assets/app/panels/map/module.js
215
+ - web/assets/app/panels/query/editor.html
216
+ - web/assets/app/panels/query/editors/lucene.html
217
+ - web/assets/app/panels/query/editors/regex.html
218
+ - web/assets/app/panels/query/editors/topN.html
219
+ - web/assets/app/panels/query/help/lucene.html
220
+ - web/assets/app/panels/query/help/regex.html
221
+ - web/assets/app/panels/query/help/topN.html
222
+ - web/assets/app/panels/query/helpModal.html
223
+ - web/assets/app/panels/query/meta.html
224
+ - web/assets/app/panels/query/module.html
225
+ - web/assets/app/panels/query/module.js
226
+ - web/assets/app/panels/query/query.css
227
+ - web/assets/app/panels/sparklines/editor.html
228
+ - web/assets/app/panels/sparklines/module.html
229
+ - web/assets/app/panels/sparklines/module.js
230
+ - web/assets/app/panels/stats/editor.html
231
+ - web/assets/app/panels/stats/module.html
232
+ - web/assets/app/panels/stats/module.js
233
+ - web/assets/app/panels/table/editor.html
234
+ - web/assets/app/panels/table/micropanel.html
235
+ - web/assets/app/panels/table/modal.html
236
+ - web/assets/app/panels/table/module.html
237
+ - web/assets/app/panels/table/module.js
238
+ - web/assets/app/panels/table/pagination.html
239
+ - web/assets/app/panels/terms/editor.html
240
+ - web/assets/app/panels/terms/module.html
241
+ - web/assets/app/panels/terms/module.js
242
+ - web/assets/app/panels/text/editor.html
243
+ - web/assets/app/panels/text/module.html
244
+ - web/assets/app/panels/text/module.js
245
+ - web/assets/app/panels/timepicker/custom.html
246
+ - web/assets/app/panels/timepicker/editor.html
247
+ - web/assets/app/panels/timepicker/module.html
248
+ - web/assets/app/panels/timepicker/module.js
249
+ - web/assets/app/panels/timepicker/refreshctrl.html
250
+ - web/assets/app/panels/trends/editor.html
251
+ - web/assets/app/panels/trends/module.html
252
+ - web/assets/app/panels/trends/module.js
253
+ - web/assets/app/partials/dashLoader.html
254
+ - web/assets/app/partials/dashLoaderShare.html
255
+ - web/assets/app/partials/dashboard.html
256
+ - web/assets/app/partials/dasheditor.html
257
+ - web/assets/app/partials/inspector.html
258
+ - web/assets/app/partials/load.html
259
+ - web/assets/app/partials/modal.html
260
+ - web/assets/app/partials/paneladd.html
261
+ - web/assets/app/partials/paneleditor.html
262
+ - web/assets/app/partials/panelgeneral.html
263
+ - web/assets/app/partials/querySelect.html
264
+ - web/assets/app/partials/roweditor.html
265
+ - web/assets/build.txt
266
+ - web/assets/css/animate.min.css
267
+ - web/assets/css/bootstrap-responsive.min.css
268
+ - web/assets/css/bootstrap.dark.less
269
+ - web/assets/css/bootstrap.dark.min.css
270
+ - web/assets/css/bootstrap.light.less
271
+ - web/assets/css/bootstrap.light.min.css
272
+ - web/assets/css/font-awesome.min.css
273
+ - web/assets/css/normalize.min.css
274
+ - web/assets/css/timepicker.css
275
+ - web/assets/favicon.ico
276
+ - web/assets/font/FontAwesome.otf
277
+ - web/assets/font/fontawesome-webfont.eot
278
+ - web/assets/font/fontawesome-webfont.svg
279
+ - web/assets/font/fontawesome-webfont.ttf
280
+ - web/assets/font/fontawesome-webfont.woff
281
+ - web/assets/img/annotation-icon.png
282
+ - web/assets/img/cubes.png
283
+ - web/assets/img/glyphicons-halflings-white.png
284
+ - web/assets/img/glyphicons-halflings.png
285
+ - web/assets/img/kibana.png
286
+ - web/assets/img/light.png
287
+ - web/assets/img/load.gif
288
+ - web/assets/img/load_big.gif
289
+ - web/assets/img/small.png
290
+ - web/assets/index.html
291
+ - web/assets/vendor/LICENSE.json
292
+ - web/assets/vendor/bootstrap/less/tests/buttons.html
293
+ - web/assets/vendor/bootstrap/less/tests/css-tests.css
294
+ - web/assets/vendor/bootstrap/less/tests/css-tests.html
295
+ - web/assets/vendor/bootstrap/less/tests/forms-responsive.html
296
+ - web/assets/vendor/bootstrap/less/tests/forms.html
297
+ - web/assets/vendor/bootstrap/less/tests/navbar-fixed-top.html
298
+ - web/assets/vendor/bootstrap/less/tests/navbar-static-top.html
299
+ - web/assets/vendor/bootstrap/less/tests/navbar.html
300
+ - web/assets/vendor/require/css-build.js
301
+ - web/assets/vendor/require/require.js
302
+ - web/assets/vendor/require/tmpl.js
303
+ - web/assets/vendor/timezone.js
304
+ - web/views/config.erb
305
+ - web/views/index.erb
306
+ homepage: https://github.com/tabolario/kibana-rack
307
+ licenses:
308
+ - MIT
309
+ metadata: {}
310
+ post_install_message:
311
+ rdoc_options: []
312
+ require_paths:
313
+ - lib
314
+ required_ruby_version: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - ">="
317
+ - !ruby/object:Gem::Version
318
+ version: '0'
319
+ required_rubygems_version: !ruby/object:Gem::Requirement
320
+ requirements:
321
+ - - ">="
322
+ - !ruby/object:Gem::Version
323
+ version: '0'
324
+ requirements: []
325
+ rubyforge_project:
326
+ rubygems_version: 2.4.1
327
+ signing_key:
328
+ specification_version: 4
329
+ summary: Embed Kibana as a Rack application
330
+ test_files:
331
+ - spec/fixtures/dashboards/default.json
332
+ - spec/fixtures/dashboards/templated.json
333
+ - spec/spec_helper.rb
334
+ - spec/unit/kibana/rack/web_spec.rb
335
+ - spec/unit/kibana/rack_spec.rb
336
+ has_rdoc: