Skip to content

Create streaming audit event headers

Overview

Currently, when streaming audit events, GitLab adds a single HTTP header to aid in verification but group owners cannot specify their own HTTP headers.

Certain ingestion services require certain header values for authentication or other purposes.

Proposal

  • Create a new model that represents a HTTP header.
  • Create a 1-M association between audit streaming destinations and headers. (This should have a limit per group, 20 perhaps?)
  • Create a new GraphQL mutation to create a header for a destination. Something like:
mutation {
  externalAuditEventDestinationHeaderCreate(input: { desintationID: "gid://gitlab/somethingsomething/Destination/2, key: "Authorization", value: "Bearer thisisatoken" } ) {
    errors
  }
}
  • Update the audit streaming worker to include those headers.
Edited by Max Woolf