4.2 Testbed Bootstrap Procedure


During testbed provisioning, an automated bootstrap script executes a series of commands to configure the dataspace environment. This page documents the bootstrap procedure for replication on alternative platforms or for understanding the deployment configuration.

The bootstrap script is organised into the following sections:

  1. Environment Variable Configuration - Define variables used throughout the bootstrap process:
IDS_TESTBED_REPO="$1"
USER_HOME="/home/ec2-user"
MIMEAPPS_LIST="$USER_HOME/.config/mimeapps.list"
TESTBED_DIR="$USER_HOME/IDS-testbed"
NODE_VERSION=22
  1. Repository Cloning - Clone the specified dataspace repository to the target directory:
git clone "$IDS_TESTBED_REPO" "$TESTBED_DIR"
  1. Node.js Environment Setup - Install Node Version Manager (NVM), Node.js, and NPM along with dependencies required for Postman script development and testing:
# Install Node Version Manager
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
\. "$HOME/.nvm/nvm.sh"
# Install Node.js Version 22
nvm install $NODE_VERSION
# Install newman and newman-reporter-html for executing Postman collections
npm install -g newman newman-reporter-html
# Add Node.js and package binaries to user PATH
[ -n "$(which npm)" ] && echo "export PATH=\"\$PATH:$(dirname "$(which npm)")\"" >> /home/ec2-user/.bashrc
  1. Default Browser Configuration - Set Chromium as the default browser to ensure seamless code-server integration with DCV and facilitate Postman account creation:
cat > "$MIMEAPPS_LIST" << EOL
[Default Applications]
text/html=chromium_chromium.desktop
x-scheme-handler/http=chromium_chromium.desktop
x-scheme-handler/https=chromium_chromium.desktop
x-scheme-handler/about=chromium_chromium.desktop
x-scheme-handler/unknown=chromium_chromium.desktop
application/xhtml+xml=chromium_chromium.desktop
EOL
  1. GNOME Welcome Screen Suppression - Disable the default RHEL welcome dialogs that appear on first login via DCV:
touch $USER_HOME/.config/gnome-welcome-tour-done
touch $USER_HOME/.config/gnome-initial-setup-done
sudo dnf remove -y gnome-initial-setup gnome-tour
  1. Permission Correction - Set appropriate ownership and permissions to prevent access errors when using dataspace components:
sudo chown -R ec2-user:ec2-user $TESTBED_DIR $USER_HOME/.cache/ $USER_HOME/.config/