kibana-123
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
41 lines (28 loc) • 1.16 kB
JavaScript
import { download } from './download';
import Promise from 'bluebird';
import { cleanPrevious, cleanArtifacts } from './cleanup';
import { extract, getPackData } from './pack';
import { renamePlugin } from './rename';
import { sync as rimrafSync } from 'rimraf';
import { existingInstall, rebuildCache, assertVersion } from './kibana';
import mkdirp from 'mkdirp';
const mkdir = Promise.promisify(mkdirp);
export default async function install(settings, logger) {
try {
await cleanPrevious(settings, logger);
await mkdir(settings.workingPath);
await download(settings, logger);
await getPackData(settings, logger);
await extract(settings, logger);
rimrafSync(settings.tempArchiveFile);
existingInstall(settings, logger);
assertVersion(settings);
await renamePlugin(settings.workingPath, settings.plugins[0].path);
await rebuildCache(settings, logger);
logger.log('Plugin installation complete');
} catch (err) {
logger.error(`Plugin installation was unsuccessful due to error "${err.message}"`);
cleanArtifacts(settings);
process.exit(70); // eslint-disable-line no-process-exit
}
}