anchore / syft

CLI tool and library for generating a Software Bill of Materials from container images and filesystems
Apache License 2.0
6.15k stars 567 forks source link

feature: Experimental Schema #3335

Open spiffcs opened 1 week ago

spiffcs commented 1 week ago

What would you like to be added: Syft should have a way to allow users to use a prereleased schema that does not follow the v1 stability rules. This schema is where new "breaking" changes will be iterated on if they cannot land in syft v1.x.x

Why is this needed: Certain work currently needs a way to change the schema that is not backwards compatible. This feature would allow that work to land.

wagoodman commented 1 week ago

this might be a dup or a heavy overlap https://github.com/anchore/syft/issues/3316

kzantow commented 1 week ago

Also worth noting currently the tools-golang supports conversion between versions using this library: https://github.com/anchore/go-struct-converter by way of having separate, concrete structs for each minor version that has breaking changes. The library handles moving data during conversion between different packages that have similar structures, using a similar idea to database migrations. I don't know how overlapping this would be to any work going on here.