From a899376b8cda91e5447ef2f489daf332e4d324ec Mon Sep 17 00:00:00 2001 From: Fadi Abbud Date: Tue, 21 Jun 2022 16:51:30 +0200 Subject: [PATCH 1/5] Include testing the remote validator in itests --- docs/scripts/setupProviderForITest.sh | 3 +++ docs/scripts/setupValidationService.sh | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 docs/scripts/setupValidationService.sh diff --git a/docs/scripts/setupProviderForITest.sh b/docs/scripts/setupProviderForITest.sh index fd5c054..9c3a78a 100755 --- a/docs/scripts/setupProviderForITest.sh +++ b/docs/scripts/setupProviderForITest.sh @@ -104,6 +104,9 @@ curl https://localhost:8443/cgi-bin/csaf_provider.go/create --cert-type p12 --ce popd +# Setup validation service +./setupValidationService.sh + # Upload files ./uploadToProvider.sh diff --git a/docs/scripts/setupValidationService.sh b/docs/scripts/setupValidationService.sh new file mode 100644 index 0000000..a8d7d13 --- /dev/null +++ b/docs/scripts/setupValidationService.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +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 From 847ca3d6af9385386005b8fe61e491500076a965 Mon Sep 17 00:00:00 2001 From: Fadi Abbud Date: Tue, 21 Jun 2022 16:52:19 +0200 Subject: [PATCH 2/5] Change permission for one script file --- docs/scripts/setupValidationService.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 docs/scripts/setupValidationService.sh diff --git a/docs/scripts/setupValidationService.sh b/docs/scripts/setupValidationService.sh old mode 100644 new mode 100755 From 36384ca942c254465c35d3189349e6f6c483cc53 Mon Sep 17 00:00:00 2001 From: Fadi Abbud Date: Wed, 22 Jun 2022 09:21:46 +0200 Subject: [PATCH 3/5] Add "sudo" to one command --- docs/scripts/setupValidationService.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/scripts/setupValidationService.sh b/docs/scripts/setupValidationService.sh index a8d7d13..ba6a43e 100755 --- a/docs/scripts/setupValidationService.sh +++ b/docs/scripts/setupValidationService.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -mkdir -p /var/lib/csaf +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 From e1966a57168a8991cce1b22a8130087cded987fb Mon Sep 17 00:00:00 2001 From: Fadi Abbud Date: Wed, 22 Jun 2022 11:14:22 +0200 Subject: [PATCH 4/5] Adjust "setupProviderForItest.sh" script * To wait for the validator-service to be started. --- docs/scripts/setupProviderForITest.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/scripts/setupProviderForITest.sh b/docs/scripts/setupProviderForITest.sh index 9c3a78a..88d33f1 100755 --- a/docs/scripts/setupProviderForITest.sh +++ b/docs/scripts/setupProviderForITest.sh @@ -107,6 +107,14 @@ popd # Setup validation service ./setupValidationService.sh +# 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 From 9a390e2bcc015c8311525ecf0be428f1b627f732 Mon Sep 17 00:00:00 2001 From: Fadi Abbud Date: Wed, 22 Jun 2022 11:47:09 +0200 Subject: [PATCH 5/5] Adjust script * Disable exiting from Script for the errors by checking if the validator-service is started. --- docs/scripts/setupProviderForITest.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/scripts/setupProviderForITest.sh b/docs/scripts/setupProviderForITest.sh index 88d33f1..ea69ba8 100755 --- a/docs/scripts/setupProviderForITest.sh +++ b/docs/scripts/setupProviderForITest.sh @@ -107,6 +107,9 @@ 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