Skip to content

[frontend] Add group AWS S3 streaming destination form

Problem Statement

Create a separate streaming destination form for AWS S3 integration. This form should allow user to input the required AWS S3 configuration data ([Backend] Set audit event destination settings ... (#333371 - closed)).

Proposed Solution

Add a new form for AWS S3 integration. This form should use GraphQL APIs being implemented in Streaming group level audit events to AWS S3 (&11324 - closed).

Design

The design is based on the updated design of Update streaming audit event UI styles

Please see the description area for the overview and Figma for the specs

  • Add streaming destination to a dropdown, separate HTTP destination creation and 3rd party creation
  • Add all the filled
  • Show error messages

Implementation plan

  1. This is only at top-group level at the moment so will need to add v-if="!isInstance" on all components
  2. Update ee/app/assets/javascripts/audit_events/components/audit_events_stream.vue to pull in a list of AWS S3 destinations using the API and store in a new destinations variable called AWSS3AuditEventDestinations
  3. Duplicate the stream-item component displaying the destinations
  4. Add AWS S3 as option to dropdown items in ee/app/assets/javascripts/audit_events/components/audit_events_stream.vue
  5. Duplicate ee/app/assets/javascripts/audit_events/components/stream/stream_destination_editor.vue into a new component called stream_aws_s3_destination_editor.vue
  6. In new component update the form to use the new fields and use the new GraphQL APIs to update, create and delete
  7. Import new component into ee/app/assets/javascripts/audit_events/components/stream/stream_item.vue and ee/app/assets/javascripts/audit_events/components/audit_events_stream.vue
  8. Create a new computed prop in both to get the destination type and switch between the stream_destination_editor.vue and new stream_aws_s3_destination_editor.vue
  9. Update delete mutation to use new API in stream_item.vue
  10. Update tests
  11. Update documentation
Edited by Nate Rosandich