kibana/x-pack/plugins/monitoring/deprecations.js

66 lines
2.7 KiB
JavaScript
Raw Normal View History

2018-04-20 21:13:37 +02:00
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import { get, has, set, unset } from 'lodash';
import { CLUSTER_ALERTS_ADDRESS_CONFIG_KEY } from './common/constants';
2018-04-20 21:13:37 +02:00
/**
* Re-writes deprecated user-defined config settings and logs warnings as a
* result of any rewrite operations.
*
* Important: Do not remove any deprecation warning until at least the next
* major version!
* @param rename {Function} config rename function from Kibana
* @return {Array} array of rename operations and callback function for rename logging
*/
export const deprecations = ({ rename }) => {
return [
rename('elasticsearch.ssl.ca', 'elasticsearch.ssl.certificateAuthorities'),
rename('elasticsearch.ssl.cert', 'elasticsearch.ssl.certificate'),
(settings, log) => {
if (!has(settings, 'elasticsearch.ssl.verify')) {
return;
}
const verificationMode = get(settings, 'elasticsearch.ssl.verify') ? 'full' : 'none';
set(settings, 'elasticsearch.ssl.verificationMode', verificationMode);
delete settings.elasticsearch.ssl.verify;
log('Config key "xpack.monitoring.elasticsearch.ssl.verify" is deprecated. ' +
'It has been replaced with "xpack.monitoring.elasticsearch.ssl.verificationMode"');
2018-04-20 21:13:37 +02:00
},
(settings, log) => {
if (has(settings, 'report_stats')) {
log('Config key "xpack.monitoring.report_stats" is deprecated and will be removed in 7.0. ' +
'Use "xpack.xpack_main.telemetry.enabled" instead.');
}
},
(settings, log) => {
const clusterAlertsEnabled = get(settings, 'cluster_alerts.enabled');
const emailNotificationsEnabled = clusterAlertsEnabled && get(settings, 'cluster_alerts.email_notifications.enabled');
if (emailNotificationsEnabled && !get(settings, CLUSTER_ALERTS_ADDRESS_CONFIG_KEY)) {
log(`Config key "${CLUSTER_ALERTS_ADDRESS_CONFIG_KEY}" will be required for email notifications to work in 7.0."`);
2018-04-20 21:13:37 +02:00
}
},
(settings, log) => {
const deprecatedUrl = get(settings, 'url');
const hosts = get(settings, 'hosts.length');
if (!deprecatedUrl) {
return;
}
if (hosts) {
log('Deprecated config key "xpack.monitoring.elasticsearch.url" ' +
'conflicts with "xpack.monitoring.elasticsearch.hosts". Ignoring "elasticsearch.url"');
} else {
set(settings, 'hosts', [deprecatedUrl]);
log('Config key "xpack.monitoring.elasticsearch.url" is deprecated.' +
'It has been replaced with "xpack.monitoring.elasticsearch.hosts"');
}
unset(settings, 'url');
}
2018-04-20 21:13:37 +02:00
];
};