Skip to content

[RAC][Meta] Consolidate the two indexing implementations in rule_registry plugin #101016

@banderror

Description

@banderror

Summary

Consolidate #98353 and #98935 into a single implementation.

We ended up having 4 implementations of index management/writing/reading related/similar to the problem we're trying to solve in RAC: two in rule_registry (RuleDataService and EventLogService), one in security_solution (for .siem-signals index), one in event_log plugin. We should compare them, mind their strong and weak parts and build a consolidated implementation in rule_registry.

High-level plan:

Regarding robust index bootstrapping, consider this:

  • Race conditions during index bootstrapping should be handled one way or another. Possible options: a) robust idempotent logic with error handling; b) leveraging task_manager to make sure bootstrapping procedure runs only once at a time; c) using some sort of distributed lock, and d) maybe something else I'm missing. Maybe we could check how Saved Objects service bootstraps .kibana index.
  • Errors should be handled correctly. Pay special attention to errors from Elasticsearch APIs.

When the consolidated implementation is ready, make sure to update all references to it from plugins which already use it: security_solution, observability, apm, uptime, etc.

Tasks for 7.15

Tasks for 7.16

Backlog

Indexing and index bootstrapping logic:

API enhancements for RuleDataService and RuleDataClient:

User-defined resources::

Misc:

Consider these as well:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature:RAClabel obsoleteTeam:ResponseOpsPlatform ResponseOps team (formerly the Cases and Alerting teams) t//Theme: raclabel obsoleteepic

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions