Add a jsonb column to vulnerability_exports table

What does this MR do and why?

Context

We are building a PDF reporting feature in tandem with the new vulnerability dashboard.

We are adding many different data visualizations to the web. You can adjust the data with various filters, such as time range.

We want to show those same visualization, with the same filter states, in the PDF.

To do this without having two maintain 2 separate UI component libraries (web and pdf), and keeping them in sync, we are going to send the SVGs in the body of the pdf export request, and render them in the pdf.

This change

During a spike, where we tested out the feasibility of this approach, we realized we would need to store the svg data until the pdf export worker is running.1

Some notes about the exports:

  • exports are scheduled for deletion after the file is generated, so this change should not result in too much DB pressure
  • This jsonb data does not need to be queried or indexed

References

Screen recordings from the spike

demo 1 demo 2
Screencast_from_2025-05-27_20-19-23 Screencast_from_2025-05-27_20-23-40

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.


epic: &16989 (closed)
resolve: #546360 (closed)
Changelog: added
EE: true

  1. You can see a recording of demo of using the SVGs to create the pdf report in this thread on the spike issue.

Edited by Michael Becker

Merge request reports

Loading