* Change the go module path
from github.com/csaf-poc/csaf_distribution to github.com/gocsaf/csaf.
* Rename archive for release tarballs.
* Adjust testing scripts and documentation.
* 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>
* Adapt finding the current go version to the new result of https://go.dev/VERSION\?m=text by using only the first line.
Co-authored-by: JanHoefelmeyer <hoefelmeyer.jan@gmail.com>
* make jsonschema loading work with current versions of the jsonschema library
again and simplify the code while at it.
* Improve itest workflow for validation service, to make them more robust.
* Use a github action to setup nodejs and use a version that is
required by https://github.com/secvisogram/csaf-validator-service/.
* Add nodejs16 installation to prepareUbuntuInstanceForITests.sh.
(so it can be done once in manual settings)
* Add refreshing of apt cache before apt install because sometimes
the cached ubuntu image does not have the apt cache current.
---------
Co-authored-by: Bernhard Reiter <bernhard@intevation.de>
* Make sure that we do not have an old go installation around,
because otherwise it maybe broken by untarring the newer one.
As documented on https://go.dev/doc/install .
* Add instructions for an internal proxy provider
* Improve example test config
* .. by moving CSAF_CONFIG out of the common fcgiwrap.conf,
so it can more easily be changed in a different context.
* Improve proxy-provider-for-aggregator.md
* Add section to aggregator documentation.
* Fix typos.
* Improve instructions.
* Fix one path
* Complre proxy-provider-for-aggregator.md
* Move example and integration test configuration files to /etc/csaf,
this includes the provider's config.toml as well as the test OpenPGP keys.
This shall make it more compatible with good practices like the FHS.
Co-authored-by: Jan Höfelmeyer <Jan Höfelmeyer jhoefelmeyer@intevation.de>
Co-authored-by: Bernhard Reiter <bernhard@intevation.de>
* Change nginx config to return 403 on unauthorized access to
the non-white TLP locations. We cannot hide the existence anyway,
as it is listed in the provider-metadata.json, even when restricted.
* Change checking to use client certs and verbose for html
as this is what can be displayed on a webbrowser.
* Rename the json result file to indicate why the result will differ
without using the access of the client certificate.
* Modify script to call checker twice with difference options,
including one with json and --verbose.
* Add json result as build artifact to be uploaded.
* Do chgrp and chmod not recursively as we have just created the
directory and if taken as example the recursive chmod with the
s bit will produce unwanted results on files.
* Change comment to better indicate setting in nginx example conf
which serves the TLP != white locations of the prodiver.
We do advertise them in the provider-metadata.json, but we still
want to use 404 to not reveal more about the directory contents.
* Improve aggregator setup docs
* Add hints how to serve the aggregator output using nginx.
* Add hint that the permission of the aggregator config file should be
restricted.
* Add a setuid bit to the aggregator integration test script
to easy manual serving.
* Wording
Co-authored-by: Sascha L. Teichmann <sascha.teichmann@intevation.de>
* Adjust provider and aggregator to copy the used openpgp pubkey into a locally
provided directory `openpgp` beside the `prodiver-metadata.json`.
This more robust and self-reliant than using a public pubkey server,
which is the reason why the CSAF 2.0 csd02 mentions it as example in
"7.1.20 Requirement 20: Public OpenPGP Key".
* Improve aggregator by removing a typo `aggreator` from one written paths.
(Done with this change as it also affects the openpgp/ paths writing.)
solve #85
* Add general hints that this example only shows how the components
work together and that a GNU/Linux admin should be consulted for
a secure setup.
* Adjust the scripts that setup a testing instance to use better
permissions as good example.
* Add a section about security considerations.
* Remove `let` from the script as it will return 1 (signalling an error) on the
first iteration, which will stop the script when in `set -e` mode.
It also is unnecessary, as the increment can be done at the place of
usage directly.
* Added a "remainder aka modulo" division, otherwise there will be no
TLP option set, once we run out of the four entries in the TLSs
list.
* (Style) remove superfluous semicolons.
* Make files more readable: Move ";" from variable and add it into the nginx config file.
* Add missing nginx option `disable_symlinks off;` to the tlp paths.
* Add an OpenPGP test keypair.
* Move script parts of documentation into script, so they can be used on a fresh Ubuntu 20.04 system
for within a github action to setup a csaf_provider and upload documents to it for an integration test.
* Use dineshsonachalam/markdown-autodocs in github action to automatically
insert lines from the scripts into the docs.
Co-authored-by: Bernhard Reiter <bernhard@intevation.de>