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