diff --git a/docs/scripts/setupProviderForITest.sh b/docs/scripts/setupProviderForITest.sh index fd5c054..ea69ba8 100755 --- a/docs/scripts/setupProviderForITest.sh +++ b/docs/scripts/setupProviderForITest.sh @@ -104,6 +104,20 @@ curl https://localhost:8443/cgi-bin/csaf_provider.go/create --cert-type p12 --ce popd +# Setup validation service +./setupValidationService.sh + +# Disable exit for the next error as these is expected. +set +e + +# Wait for the service to be started +for ((i = 1; i <= 10; i++)); do + if [ $(curl -IL http://localhost:3000/api/v1/tests | grep -c HTTP ) != "0" ]; then + break + fi + sleep 3 +done + # Upload files ./uploadToProvider.sh diff --git a/docs/scripts/setupValidationService.sh b/docs/scripts/setupValidationService.sh new file mode 100755 index 0000000..ba6a43e --- /dev/null +++ b/docs/scripts/setupValidationService.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +sudo mkdir -p /var/lib/csaf +sudo chgrp www-data /var/lib/csaf/ +sudo chmod g+s /var/lib/csaf/ +sudo touch /var/lib/csaf/validations.db +sudo chgrp www-data /var/lib/csaf/validations.db +sudo chmod g+rw,o-rwx /var/lib/csaf/validations.db + +echo ' +remote_validator= { "url" = "http://localhost:3000", "presets" = ["mandatory"], "cache" = "/var/lib/csaf/validations.db" } +' | sudo tee --append /usr/lib/csaf/config.toml + +# Install nodejs +curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - +sudo apt-get install -y nodejs + +npm install pm2 -g + +pushd ~ +git clone https://github.com/secvisogram/csaf-validator-service.git +cd csaf-validator-service +npm ci +pm2 start npm -- run dev +popd