Merge branch 'master' of github.com:elastic/kibana into implement/npm3

This commit is contained in:
spalger 2015-08-26 17:12:19 -07:00
commit 694ab70cbe
3 changed files with 26 additions and 23 deletions

View file

@ -53,8 +53,8 @@
# elasticsearch.startupTimeout: 5000
# SSL for outgoing requests from the Kibana Server (PEM formatted)
# server.ssl.cert: /path/to/your/server.key
# server.ssl.key: /path/to/your/server.crt
# server.ssl.cert: /path/to/your/server.crt
# server.ssl.key: /path/to/your/server.key
# Set the path to where you would like the process id file to be created.
# pid.file: /var/run/kibana.pid

View file

@ -1,30 +1,32 @@
var url = require('url');
var fs = require('fs');
var _ = require('lodash');
var readFile = _.partialRight(require('fs').readFileSync, 'utf8');
var http = require('http');
var agentOptions;
module.exports = function (server) {
var https = require('https');
module.exports = _.memoize(function (server) {
var config = server.config();
var target = url.parse(config.get('elasticsearch.url'));
if (!agentOptions) {
agentOptions = {
rejectUnauthorized: config.get('elasticsearch.ssl.verify')
};
if (!/^https/.test(target.protocol)) return new http.Agent();
var customCA;
if (/^https/.test(target.protocol) && config.get('elasticsearch.ssl.ca')) {
customCA = fs.readFileSync(config.get('elasticsearch.ssl.ca'), 'utf8');
agentOptions.ca = [customCA];
}
var agentOptions = {
rejectUnauthorized: config.get('elasticsearch.ssl.verify')
};
// Add client certificate and key if required by elasticsearch
if (/^https/.test(target.protocol) &&
config.get('elasticsearch.ssl.cert') &&
config.get('elasticsearch.ssl.key')) {
agentOptions.crt = fs.readFileSync(config.get('elasticsearch.ssl.cert'), 'utf8');
agentOptions.key = fs.readFileSync(config.get('elasticsearch.ssl.key'), 'utf8');
}
if (config.get('elasticsearch.ssl.ca')) {
agentOptions.ca = [readFile(config.get('elasticsearch.ssl.ca'))];
}
return new http.Agent(agentOptions);
};
// Add client certificate and key if required by elasticsearch
if (config.get('elasticsearch.ssl.cert') && config.get('elasticsearch.ssl.key')) {
agentOptions.cert = readFile(config.get('elasticsearch.ssl.cert'));
agentOptions.key = readFile(config.get('elasticsearch.ssl.key'));
}
return new https.Agent(agentOptions);
});
// See https://lodash.com/docs#memoize: We use a Map() instead of the default, because we want the keys in the cache
// to be the server objects, and by default these would be coerced to strings as keys (which wouldn't be useful)
module.exports.cache = new Map();

View file

@ -5,6 +5,7 @@ module.exports = function (grunt) {
src: [
'src/**',
'bin/**',
'webpackShims/**',
'config/kibana.yml',
'!src/**/__tests__/**',
'!src/testUtils/**',