[Feature flag] Cleanup use_consolidated_audit_event_stream_dest_api

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

This issue is to cleanup the use_consolidated_audit_event_stream_dest_api feature flag, after the feature flag has been enabled by default for an appropriate amount of time in production.

Roll out issue: #523880 (closed)

Feature issues: #442447 (closed) / #524939 (closed)

Owners

Expectations

What might happen if this goes wrong?

Customers won't be able to add/update details of their audit event stream destinations.

This work doesn't affect the actual streaming of events, but if customers add the wrong config it'll break their workflows.

Cleaning up the feature flag

  • Specify in the issue description if this feature will be removed completely or will be productized as part of the Feature Flag cleanup
  • Create a merge request to remove use_consolidated_audit_event_stream_dest_api feature flag. Ask for review and merge it.
    • Remove all references to the feature flag from the codebase.
    • Remove the YAML definitions for the feature from the repository.
    • Create a changelog entry.
  • Ensure that the cleanup MR has been deployed to both production and canary. If the merge request was deployed before the code cutoff, the feature can be officially announced in a release blog post.
    • /chatops run auto_deploy status <merge-commit-of-cleanup-mr>
  • If not already done, clean up the feature flag from all environments by running these chatops command in #production channel: /chatops run feature delete use_consolidated_audit_event_stream_dest_api --dev --pre --staging --staging-ref --production
  • Close this cleanup issue.

Developer Notes

Here's @sheldonled's recommendation for how we should create MRs to remove this feature flag:

  1. Remove mixin glFeatures and all its usage from ee/app/assets/javascripts/audit_events/*. This will make the deprecated editors dead code. We can remove them in follow up MRs to make the diff smaller.
  2. Remove unused editors
    1. remove stream_http_destination_editor.vue and tests
    2. remove stream_gcp_logging_destination_editor.vue and tests
    3. remove stream_amazon_s3_destination_editor.vue and tests
  3. Remove all legacy queries/mutations that have not been already removed from the MRs above
  4. Remove the legacy cache update functions graphql/cache_update.js. Rename cache_update_consolidated_api.js to cache_update.js and update the imports
  5. Clean up mapItemHeadersToFormData to support only the new API format
  6. Change these constant values
    export const DESTINATION_TYPE_HTTP = 'http'; //stay as is
    export const DESTINATION_TYPE_GCP_LOGGING = 'gcpLogging'; // move to 'gcp'
    export const DESTINATION_TYPE_AMAZON_S3 = 'amazonS3'; // move to 'aws

Any follow ups from this should be tackled in Improvements to Audit Events Stream Destination... (&17520)

Edited by 🤖 GitLab Bot 🤖