Consolidate audit event streaming strategies to streaming destinations
What does this MR do and why?
Consolidate audit event streaming strategies to streaming destinations
Prior art is that we have ExternalDestinationStrategy to inform our ExternalDestinationStreamer on how to process and where to stream audit events.
When we want to create a new integration, it would involve writing strategies for both group and instance behavior, and a base class which is a lot of overhead that we want to reduce.
This MR consolidates these Strategy classes, which there are 9 classes and files into:
- One base destination class
- One per 'destination' e.g., AWS, GCP, HTTP
These changes do not affect any live system, as it's self contained and there is no caller for these destinations yet.
References
- Resolves: #436616 (closed)
- Resolves: #436617 (closed)
- Strategy classes can be found here: https://gitlab.com/gitlab-org/gitlab/-/tree/master/ee/lib/audit_events/strategies
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
| Before | After |
|---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.