Skip to content

Commit

Permalink
[7.x] Expand scope of xpack.security.enabled deprecation warning
Browse files Browse the repository at this point in the history
Show deprecation message not only if "xpack.security.enabled" is false,
but just if it's set (no matter the value).

Also improves the deprecation message to align with new guidelines.
  • Loading branch information
watson committed Sep 9, 2021
1 parent a3792d6 commit ed7a440
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 7 deletions.
21 changes: 19 additions & 2 deletions x-pack/plugins/security/server/config_deprecations.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -391,12 +391,12 @@ describe('Config Deprecations', () => {
expect(migrated).toEqual(config);
expect(messages).toMatchInlineSnapshot(`
Array [
"Disabling the security plugin \\"xpack.security.enabled\\" will only be supported by disable security in Elasticsearch.",
"Enabling or disabling the security plugin from Kibana using \\"xpack.security.enabled\\" is deprecated. This should instead be controlled via Elasticsearch.",
]
`);
});

it('does not warn when the security plugin is enabled', () => {
it('warns when the security plugin is enabled', () => {
const config = {
xpack: {
security: {
Expand All @@ -407,6 +407,23 @@ describe('Config Deprecations', () => {
};
const { messages, migrated } = applyConfigDeprecations(cloneDeep(config));
expect(migrated).toEqual(config);
expect(messages).toMatchInlineSnapshot(`
Array [
"Enabling or disabling the security plugin from Kibana using \\"xpack.security.enabled\\" is deprecated. This should instead be controlled via Elasticsearch.",
]
`);
});

it("does not warn when xpack.security.enabled isn't set", () => {
const config = {
xpack: {
security: {
session: { idleTimeout: 123, lifespan: 345 },
},
},
};
const { messages, migrated } = applyConfigDeprecations(cloneDeep(config));
expect(migrated).toEqual(config);
expect(messages).toHaveLength(0);
});
});
13 changes: 8 additions & 5 deletions x-pack/plugins/security/server/config_deprecations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,22 +136,25 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({
}
},
(settings, fromPath, addDeprecation) => {
if (settings?.xpack?.security?.enabled === false) {
if ('enabled' in (settings?.xpack?.security || {})) {
addDeprecation({
title: i18n.translate('xpack.security.deprecations.enabledTitle', {
defaultMessage: 'Disabling the security plugin "xpack.security.enabled" is deprecated',
defaultMessage: 'Setting "xpack.security.enabled" is deprecated',
}),
message: i18n.translate('xpack.security.deprecations.enabledMessage', {
defaultMessage:
'Disabling the security plugin "xpack.security.enabled" will only be supported by disable security in Elasticsearch.',
'Enabling or disabling the security plugin from Kibana using "xpack.security.enabled" is deprecated. This should instead be controlled via Elasticsearch.',
}),
documentationUrl:
'https://www.elastic.co/guide/en/kibana/current/security-settings-kb.html#general-security-settings',
correctiveActions: {
manualSteps: [
i18n.translate('xpack.security.deprecations.enabled.manualStepOneMessage', {
defaultMessage: `Remove "xpack.security.enabled" from your Kibana configuration.`,
defaultMessage: 'Remove "xpack.security.enabled" from your Kibana configuration.',
}),
i18n.translate('xpack.security.deprecations.enabled.manualStepTwoMessage', {
defaultMessage: `To turn off security features, disable them in Elasticsearch instead.`,
defaultMessage:
'To turn security features on or off, set "xpack.security.enabled" accordingly in Elasticsearch instead.',
}),
],
},
Expand Down

0 comments on commit ed7a440

Please sign in to comment.