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.
247 lines
7.0 KiB
247 lines
7.0 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}allmicroservices:${NOCOLOR} All microservices "
|
|
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}how-to-build-a-Swarmlab-service:${NOCOLOR} This tutorial demonstrates, howto build swarmlab service "
|
|
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
|
|
;;
|
|
|
|
allmicroservices)
|
|
DESC="allmicroservices" ;
|
|
build="build.sh" ;
|
|
docdir="info" ;
|
|
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
|
|
;;
|
|
|
|
how-to-build-a-Swarmlab-service)
|
|
DESC="how-to-build-a-Swarmlab-service" ;
|
|
build="build.sh" ;
|
|
# source adoc directory
|
|
docdir="how-to-build-a-Swarmlab-service" ;
|
|
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
|
|
|