Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Implements file storage plugin as proposed in ADR-004.
Implemented providers include
local
,memory
, ands3
.All providers support integrity verification and will fail when trying to read files that have been tampered with or overwritten since they were created.
local
ands3
support compression.Addressed Issue
N/A
Additional Details
The default storage is
local
for the moment, which aligns with the existing behavior.Uploaded BOMs were previously stored in the OS' temporary directory (i.e.
/tmp
). This use-case has been migrated to the newFileStorage
API. Files are now stored in${alpine.data.directory}/storage
. The location is configurable.Once stevespringett/Alpine#696 is available, the provider can be switched to
memory
for tests.Checklist
This PR fixes a defect, and I have provided tests to verify that the fix is effectiveThis PR introduces changes to the database model, and I have updated the migration changelog accordinglyThis PR introduces new or alters existing behavior, and I have updated the documentation accordingly