1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 05:40:11 +01:00
gocsaf/docs/scripts/Readme.md
Fadi Abbud 9bbe3e1eb8
Add scripts for integration test setup and docs generation
* 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>
2022-04-08 10:04:34 +02:00

1.8 KiB

Scripts for assisting the Integration tests. They are written on Ubuntu 20.04 TLS amd64.

  • prepareUbunutForITest.sh installs the required packages for the csaf_distribution integration tests on a naked ubuntu 20.04 LTS amd64.

  • TLSConfigsForITest.sh generates a root CA and webserver cert by running createRootCAForITest.sh and createWebserverCertForITest.sh and configures nginx for serving TLS connections.

  • TLSClientConfigsForITest.sh generates client certificates by calling createCCForITest.sh which uses the root certificate initialized before with createRootCAForITest.sh. It configures nginx to enable the authentication with client certificate. (This assumes that the same folder name is used to create the root certificate)

  • setupProviderForITest.sh builds the csaf_provider, writes the required nginx configurations and create the initial folders. IT calls uploadToProvider.sh to upload some csaf example files to the provider.

As creating the folders needs to authenticate with the csaf_provider, the configurations of TLS server and Client certificate authentication should be set. So it is recommended to call the scripts in this order: TLSConfigsForITest.sh, TLSClientConfigsForITest.sh, setupProviderForITest.sh

Calling example (as root):

    curl --fail -O https://raw.githubusercontent.com/csaf-poc/csaf_distribution/main/docs/scripts/prepareUbuntuInstanceForITests.sh
    bash prepareUbuntuInstanceForITests.sh

    git clone https://github.com/csaf-poc/csaf_distribution.git
    pushd csaf_distribution/docs/scripts/

    env FOLDERNAME=devca1 ORGANAME="CSAF Tools Development (internal)" ./TLSConfigsForITest.sh
    env FOLDERNAME=devca1 ORGANAME="CSAF Tools Development (internal)" ./TLSClientConfigsForITest.sh
    ./setupProviderForITest.sh