Swarmlab docs

Application development in a distributed system

Development of Distributed Systems from Design to Application


You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

227 lines
6.4 KiB

#!/bin/bash
txturl='\033[1;36m'
txturl1='\033[0;36m'
txtg='\033[0;32m'
NOCOLOR='\033[0m'
repoupdate ()
{
echo ""
echo "--------------"
echo "Repo update"
echo "--------------"
echo ""
git fetch -q
git pull -a
}
usage ()
{
echo ""
echo "--------------"
echo " Documantation "
echo "--------------"
echo ""
echo " USAGE: ./build.sh [OPTIONS]"
echo ""
echo " Examples of [OPTIONS] can be:"
echo ""
echo -e " ${txtg}all:${NOCOLOR} All "
echo ""
echo -e " ${txtg}faq:${NOCOLOR} FAQ "
echo ""
echo -e " ${txtg}iptables:${NOCOLOR} This tutorial demonstrates, howto setup iptables & howto use it "
echo ""
echo -e " ${txtg}infrastructure-as-code:${NOCOLOR} This tutorial demonstrates, howto use ansible to implement Infrastructure as Code "
echo ""
echo -e " ${txtg}network-scanning:${NOCOLOR} This tutorial demonstrates some common nmap port scanning scenarios and explains the output. "
echo ""
echo -e " ${txtg}network-adhoc:${NOCOLOR} This tutorial demonstrates, howto setup ad-hoc network & howto use it "
echo ""
echo -e " ${txtg}poc-datacollector:${NOCOLOR} This tutorial demonstrates, howto setup data collector & howto use it "
echo ""
echo -e " ${txtg}raspi-docker:${NOCOLOR} This tutorial demonstrates, howto setup docker on Raspberry PI & howto use it "
echo ""
echo -e " ${txtg}sidecar-firefox:${NOCOLOR} This tutorial demonstrates, howto setup firefox & howto use it as sidecar"
echo ""
echo -e " ${txtg}sensor-node:${NOCOLOR} This tutorial demonstrates, howto create a mote with Raspberry Pi and Arduino & howto use it "
echo ""
echo -e " ${txtg}ssh-tunneling:${NOCOLOR} This tutorial demonstrates, howto create a ssh-tunneling & howto use it "
echo ""
echo -e " ${txtg}tech-list:${NOCOLOR} This tutorial provides a list of commonly used tools "
echo ""
echo -e " ${txtg}xelatex-thesis:${NOCOLOR} This tutorial demonstrates, howto setup xelatex & howto use it "
echo ""
echo -e " ${txtg}help:${NOCOLOR} show this message"
echo " ./build.sh help"
echo ""
echo " ********************************************"
echo -e " ${txturl1}On Error:${NOCOLOR}"
echo " Get https://hub.swarmlab.io:5480/v2/: x509: certificate"
echo " ERROR: Get https://hub.swarmlab.io:5480/v2/: x509: certificate signed by unknown authority"
echo -e " ${txturl1}run:${NOCOLOR}"
echo -e " ${txtg}./0-get-certs.sh${NOCOLOR} "
echo " ********************************************"
echo ""
echo -e " ---------------------------- ${txturl1}WSL2${NOCOLOR} --------------------------"
echo ""
echo -e " With Docker Desktop running on WSL 2, users can use: ${txtg}http://127.0.0.1:8080${NOCOLOR}"
echo ""
echo " ------------------------------------------------------------"
echo ""
echo ""
echo " "
}
create_docs ()
{
printf "\\n\\n===> Build docs"
printf "\\n"
docker stop swarmlab-documentation
docker container rm swarmlab-documentation
docker pull hub.swarmlab.io:5480/antora
./0-cert.error
if [ $docdir == 'all' ];then
docker run -ti --name swarmlab-documentation -p 8080:8080 -v $PWD:/antora -v $PWD/supplemental-ui:/antora/supplemental-ui hub.swarmlab.io:5480/antora /bin/sh -c "DOCSEARCH_ENABLED=true DOCSEARCH_ENGINE=lunr DOCSEARCH_INDEX_VERSION=latest NODE_PATH=/usr/local/lib/node_modules:\$NODE_PATH exec sh -c '/antora/build-all.sh'"
else
docker run -ti --name swarmlab-documentation -p 8080:8080 -v $PWD/$docdir:/antora -v $PWD/supplemental-ui:/antora/supplemental-ui hub.swarmlab.io:5480/antora /bin/sh -c "DOCSEARCH_ENABLED=true DOCSEARCH_ENGINE=lunr DOCSEARCH_INDEX_VERSION=latest NODE_PATH=/usr/local/lib/node_modules:\$NODE_PATH exec sh -c '/antora/run/$build'"
fi
}
COMMAND_CREATE=0
build=""
docdir=""
while [ "$1" != "" ];
do
PARAM=$(echo "$1" | awk -F= '{print $1}')
VALUE=$(echo "$1" | awk -F= '{print $2}')
case $PARAM in
help)
usage
exit
;;
network-scanning)
DESC="network-scanning" ;
build="build-intro.sh" ;
docdir="intro" ;
COMMAND_CREATE=1
;;
infrastructure-as-code)
DESC="infrastructure-as-code" ;
build="build.sh" ;
docdir="infrastructure-as-code" ;
COMMAND_CREATE=1
;;
sidecar-firefox)
DESC="sidecar-firefox" ;
build="build.sh" ;
docdir="sidecar-firefox" ;
COMMAND_CREATE=1
;;
xelatex-thesis)
DESC="xelatex-thesis" ;
build="build.sh" ;
docdir="xelatex-thesis" ;
COMMAND_CREATE=1
;;
faq)
DESC="faq" ;
build="build.sh" ;
docdir="faq" ;
COMMAND_CREATE=1
;;
all)
DESC="all" ;
build="build.sh" ;
docdir="all" ;
COMMAND_CREATE=1
;;
network-adhoc)
DESC="network-adhoc" ;
build="build.sh" ;
docdir="network-adhoc" ;
COMMAND_CREATE=1
;;
sensor-node)
DESC="Sensor node" ;
build="build.sh" ;
# source adoc directory
docdir="sensor-node" ;
COMMAND_CREATE=1
;;
ssh-tunneling)
DESC="SSH Tunneling" ;
build="build.sh" ;
# source adoc directory
docdir="ssh-tunneling" ;
COMMAND_CREATE=1
;;
poc-datacollector)
DESC="Data Collector" ;
build="build.sh" ;
# source adoc directory
docdir="poc-datacollector" ;
COMMAND_CREATE=1
;;
raspi-docker)
DESC="raspi-docker" ;
build="build.sh" ;
# source adoc directory
docdir="raspi-docker" ;
COMMAND_CREATE=1
;;
tech-list)
DESC="tech-list" ;
build="build.sh" ;
# source adoc directory
docdir="tech-list" ;
COMMAND_CREATE=1
;;
iptables)
DESC="iptables" ;
build="build.sh" ;
# source adoc directory
docdir="iptables" ;
COMMAND_CREATE=1
;;
*)
echo "ERROR: unknown parameter \"$PARAM\""
usage
exit 1
;;
esac
shift
done
if [ $COMMAND_CREATE -eq 1 ]; then
create_docs
else
repoupdate
usage
fi