Skip to content

Commit a282a96

Browse files
committed
clean up rule changes history feature flags
1 parent b946b99 commit a282a96

22 files changed

Lines changed: 47 additions & 100 deletions

File tree

x-pack/platform/plugins/shared/alerting/server/application/rule/methods/common_utils/log_rule_changes.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,18 +105,15 @@ export async function logRuleChanges({
105105

106106
const ruleType = getRuleType(ruleTypeRegistry, ruleSO.attributes.alertTypeId, logger);
107107

108-
// "ruleType.trackChanges" is activated at Alerting plugin's "plugin.ts".
109-
//
110-
// The activation is gated by the feature flag "xpack.alerting.ruleChangeTracking.enabled".
111-
// On top of that "xpack.alerting.ruleChangeTracking.scope" controls what solution rule
112-
// types will be activated, e.g. "security" or "observability".
113-
//
108+
// "ruleType.trackChanges" is activated at Alerting plugin's "plugin.ts", based on
109+
// "xpack.alerting.ruleChangeTracking.scope", which controls what solution rule
110+
// types are activated, e.g. "security" or "observability".
114111
if (!ruleType?.trackChanges) {
115112
continue;
116113
}
117114

118115
// Security Solution additionally gates rule changes history per-space via its
119-
// "Enable rule changes history" advanced setting, on top of the static config flag above.
116+
// "Enable rule changes history" advanced setting.
120117
if (ruleType.solution === 'security') {
121118
if (securityRuleChangesHistoryEnabled === undefined) {
122119
try {

x-pack/platform/plugins/shared/alerting/server/config.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ describe('config validation', () => {
2525
"removalDelay": "1h",
2626
},
2727
"ruleChangeTracking": Object {
28-
"enabled": true,
2928
"scope": Array [
3029
"security",
3130
],

x-pack/platform/plugins/shared/alerting/server/config.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ export const configSchema = schema.object({
9292
totalFieldsLimit: schema.number({ defaultValue: 2800, min: 2500, max: 5000 }),
9393
}),
9494
ruleChangeTracking: schema.object({
95-
enabled: schema.boolean({ defaultValue: true }),
9695
scope: schema.arrayOf(ruleChangeTrackingSolutions, { defaultValue: ['security'] }),
9796
}),
9897
cancelAlertsOnRuleTimeout: schema.boolean({ defaultValue: true }),

x-pack/platform/plugins/shared/alerting/server/plugin.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -277,9 +277,7 @@ export class AlertingPlugin {
277277
this.disabledRuleTypes = new Set(this.config.disabledRuleTypes || []);
278278
this.enabledRuleTypes =
279279
this.config.enabledRuleTypes != null ? new Set(this.config.enabledRuleTypes) : null;
280-
if (this.config.ruleChangeTracking.enabled) {
281-
this.changeTrackingService = new ChangeTrackingService(this.logger, this.kibanaVersion);
282-
}
280+
this.changeTrackingService = new ChangeTrackingService(this.logger, this.kibanaVersion);
283281
}
284282

285283
public setup(

x-pack/platform/plugins/shared/alerting/server/routes/rule/apis/create/create_rule_route.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ describe('createRuleRoute', () => {
5151
},
5252
cancelAlertsOnRuleTimeout: true,
5353
ruleChangeTracking: {
54-
enabled: false,
5554
scope: ['security'] as string[],
5655
},
5756
rules: {

x-pack/platform/plugins/shared/alerting/server/rules_client/methods/get_rule_history.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ import type { RuleChangeHistorySnapshot } from '../lib/change_tracking';
2222
import { getRuleSo } from '../../data/rule';
2323

2424
/**
25-
* Thrown by {@link RulesClient.getHistory} when rule change tracking is
26-
* disabled at the framework level (`xpack.alerting.ruleChangeTracking.enabled = false`).
25+
* Thrown by {@link RulesClient.getHistory} when the change tracking service is unavailable.
2726
*/
2827
export class RuleChangeTrackingDisabledError extends Error {
2928
constructor(message = 'Rule change tracking is disabled.') {

x-pack/platform/plugins/shared/alerting/server/test_utils/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ export function generateAlertingConfig(overwrites: Partial<AlertingConfig> = {})
5959
totalFieldsLimit: 2800,
6060
},
6161
ruleChangeTracking: {
62-
enabled: false,
6362
scope: ['security'],
6463
},
6564
invalidateApiKeysTask: {

x-pack/platform/test/alerting_api_integration/common/config.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ interface CreateTestConfigOptions {
4242
maxAlerts?: number;
4343
emailMaximumBodyLength?: number;
4444
indexRefreshInterval?: string | false;
45-
ruleChangeTrackingEnabled?: boolean;
45+
ruleChangeTrackingScope?: string[];
4646
}
4747

4848
// test.not-enabled is specifically not enabled
@@ -236,7 +236,7 @@ export function createTestConfig(name: string, options: CreateTestConfigOptions)
236236
experimentalFeatures = [],
237237
maxAlerts = 20,
238238
indexRefreshInterval,
239-
ruleChangeTrackingEnabled = false,
239+
ruleChangeTrackingScope,
240240
} = options;
241241

242242
return async ({ readConfigFile }: FtrConfigProviderContext) => {
@@ -332,11 +332,8 @@ export function createTestConfig(name: string, options: CreateTestConfigOptions)
332332
? []
333333
: [`--xpack.actions.email.maximum_body_length=${options.emailMaximumBodyLength}`];
334334

335-
const ruleChangeTrackingSettings = ruleChangeTrackingEnabled
336-
? [
337-
'--xpack.alerting.ruleChangeTracking.enabled=true',
338-
`--xpack.alerting.ruleChangeTracking.scope=${JSON.stringify(['stack'])}`,
339-
]
335+
const ruleChangeTrackingSettings = ruleChangeTrackingScope
336+
? [`--xpack.alerting.ruleChangeTracking.scope=${JSON.stringify(ruleChangeTrackingScope)}`]
340337
: [];
341338

342339
return {

x-pack/platform/test/alerting_api_integration/spaces_only/tests/alerting/group6/change_tracking/enabled.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default function changeTrackingEnabledTest({ getService }: FtrProviderCon
1313
const retry = getService('retry');
1414

1515
describe('change tracking service - enabled', () => {
16-
it('should create the change history data stream when ruleChangeTracking is enabled', async () => {
16+
it('should create the change history data stream for stack-scoped rule types', async () => {
1717
await retry.tryForTime(30_000, async () => {
1818
const response = await es.indices.getDataStream({ name: '.kibana_change_history' });
1919
expect(response.data_streams.length).to.be.greaterThan(0);

x-pack/platform/test/alerting_api_integration/spaces_only/tests/alerting/group6/config_with_change_tracking_enabled.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default createTestConfig('spaces_only', {
1313
enableActionsProxy: false,
1414
verificationMode: 'none',
1515
useDedicatedTaskRunner: false,
16-
ruleChangeTrackingEnabled: true,
16+
ruleChangeTrackingScope: ['stack'],
1717
testFiles: [require.resolve('./change_tracking/enabled.ts')],
1818
reportName: 'X-Pack Alerting API Integration Tests - Change Tracking Enabled',
1919
});

0 commit comments

Comments
 (0)