This PR adds structured logging for the aggregator service. Currently, only the text handler is used, but I can extend this to use the JSON handler as well. In this case, probably some code that is shared between the aggregator and the downloader would need to be moved to a common package.
I was also wondering, whether this repo is moving to Go 1.21 at the future, since `slog` was introduced in to the standard lib in 1.21. So currently, this still relies on the `x/exp` package.
Fixes #462
* Add go_legacy.yml to check for compatibility with older go versions
* Remove tests already done in go.yml
* fix: Update actions, use stable/oldstable in actions
---------
Co-authored-by: JanHoefelmeyer <hoefelmeyer.jan@gmail.com>
* feat: Add function to find product identification helpers inspecting the tree
Signed-off-by: juan131 <jariza@vmware.com>
* fix: simplify unit tests
Signed-off-by: juan131 <jariza@vmware.com>
* fix: also iterate over relationships
Signed-off-by: juan131 <jariza@vmware.com>
* fix: adapt example to use new library function
Signed-off-by: juan131 <jariza@vmware.com>
* Separate collecting and visiting of the product id helpers.
---------
Signed-off-by: juan131 <jariza@vmware.com>
Co-authored-by: Sascha L. Teichmann <sascha.teichmann@intevation.de>
* docs: move link to final CSAF 2.0 in README
* docs: underline that we are _not_ offering an API yet
* Grammar fix
---------
Co-authored-by: JanHoefelmeyer <hoefelmeyer.jan@gmail.com>
* Convert a lot of variables to snake case
* Add snakecase for variables made out of two words that had it in no version yet (for consistency)
* Adjust example files too
---------
Co-authored-by: JanHoefelmeyer <hoefelmeyer.jan@gmail.com>
* move csaf_searcher to a lower prio place
* Adjust wording
* Grammar fix #2 'this is work in progress' -> 'This is a work in progress'...
---------
Co-authored-by: JanHoefelmeyer <hoefelmeyer.jan@gmail.com>
* docs: improve timerange documentation
* add a documentation section to the downloader docs for the
timerange-option.
* point aggregator and checker docs to the downloader section for
timerange.
* docs: use a better example for timerange minutes
* use full name for printing out the used logfile for the downloader.
* for debug or verbose, log the timeintervall that will be used
for downloader and aggregator. (The checker has this as part
of its output already.)