kibana-riya
Version:
Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elastic
155 lines (127 loc) • 5.78 kB
JavaScript
;
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new _bluebird2['default'](function (resolve, reject) { var callNext = step.bind(null, 'next'); var callThrow = step.bind(null, 'throw'); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { _bluebird2['default'].resolve(value).then(callNext, callThrow); } } callNext(); }); }; }
var _bluebird = require('bluebird');
var _bluebird2 = _interopRequireDefault(_bluebird);
var _mkdirp = require('mkdirp');
var _serverLibManage_uuid = require('./server/lib/manage_uuid');
var _serverLibManage_uuid2 = _interopRequireDefault(_serverLibManage_uuid);
var _serverRoutesApiIngest = require('./server/routes/api/ingest');
var _serverRoutesApiIngest2 = _interopRequireDefault(_serverRoutesApiIngest);
var _serverRoutesApiSearch = require('./server/routes/api/search');
var _serverRoutesApiSearch2 = _interopRequireDefault(_serverRoutesApiSearch);
var _serverRoutesApiSettings = require('./server/routes/api/settings');
var _serverRoutesApiSettings2 = _interopRequireDefault(_serverRoutesApiSettings);
var _serverRoutesApiScripts = require('./server/routes/api/scripts');
var _serverRoutesApiScripts2 = _interopRequireDefault(_serverRoutesApiScripts);
var _serverLibSystem_api = require('./server/lib/system_api');
var systemApi = _interopRequireWildcard(_serverLibSystem_api);
var mkdirp = _bluebird2['default'].promisify(_mkdirp.mkdirp);
module.exports = function (kibana) {
var kbnBaseUrl = '/app/kibana';
return new kibana.Plugin({
id: 'kibana',
config: function config(Joi) {
return Joi.object({
enabled: Joi.boolean()['default'](true),
defaultAppId: Joi.string()['default']('discover'),
index: Joi.string()['default']('.kibana')
})['default']();
},
uiExports: {
hacks: ['plugins/kibana/dev_tools/hacks/hide_empty_tools'],
app: {
id: 'kibana',
title: 'Kibana',
listed: false,
description: 'the kibana you know and love',
main: 'plugins/kibana/kibana',
uses: ['visTypes', 'spyModes', 'fieldFormats', 'navbarExtensions', 'managementSections', 'devTools', 'docViews'],
injectVars: function injectVars(server) {
var serverConfig = server.config();
//DEPRECATED SETTINGS
//if the url is set, the old settings must be used.
//keeping this logic for backward compatibilty.
var configuredUrl = server.config().get('tilemap.url');
var isOverridden = typeof configuredUrl === 'string' && configuredUrl !== '';
var tilemapConfig = serverConfig.get('tilemap');
return {
kbnDefaultAppId: serverConfig.get('kibana.defaultAppId'),
tilemapsConfig: {
deprecated: {
isOverridden: isOverridden,
config: tilemapConfig
},
manifestServiceUrl: serverConfig.get('tilemap.manifestServiceUrl')
}
};
}
},
links: [{
id: 'kibana:discover',
title: 'Discover',
order: -1003,
url: kbnBaseUrl + '#/discover',
description: 'interactively explore your data',
icon: 'plugins/kibana/assets/discover.svg'
}, {
id: 'kibana:visualize',
title: 'Visualize',
order: -1002,
url: kbnBaseUrl + '#/visualize',
description: 'design data visualizations',
icon: 'plugins/kibana/assets/visualize.svg'
}, {
id: 'kibana:dashboard',
title: 'Dashboard',
order: -1001,
url: kbnBaseUrl + '#/dashboard',
description: 'compose visualizations for much win',
icon: 'plugins/kibana/assets/dashboard.svg'
}, {
id: 'kibana:dev_tools',
title: 'Dev Tools',
order: 9001,
url: '/app/kibana#/dev_tools',
description: 'development tools',
icon: 'plugins/kibana/assets/wrench.svg'
}, {
id: 'kibana:management',
title: 'Management',
order: 9003,
url: kbnBaseUrl + '#/management',
description: 'define index patterns, change config, and more',
icon: 'plugins/kibana/assets/settings.svg',
linkToLastSubUrl: false
}],
injectDefaultVars: function injectDefaultVars(server, options) {
return {
kbnIndex: options.index,
kbnBaseUrl: kbnBaseUrl
};
}
},
preInit: _asyncToGenerator(function* (server) {
try {
// Create the data directory (recursively, if the a parent dir doesn't exist).
// If it already exists, does nothing.
yield mkdirp(server.config().get('path.data'));
} catch (err) {
server.log(['error', 'init'], err);
// Stop the server startup with a fatal error
throw err;
}
}),
init: function init(server, options) {
// uuid
(0, _serverLibManage_uuid2['default'])(server);
// routes
(0, _serverRoutesApiIngest2['default'])(server);
(0, _serverRoutesApiSearch2['default'])(server);
(0, _serverRoutesApiSettings2['default'])(server);
(0, _serverRoutesApiScripts2['default'])(server);
server.expose('systemApi', systemApi);
}
});
};