Browse Source

refresh

master
zeus 4 years ago
parent
commit
916f7c3647
  1. 15
      src-local/instance/swarmlab-sec/peiraia/.vimrc
  2. 33
      src-local/instance/swarmlab-sec/peiraia/Dockerfile
  3. 1
      src-local/instance/swarmlab-sec/peiraia/ROOT_PASSWORD
  4. 11
      src-local/instance/swarmlab-sec/peiraia/auto_update_hosts
  5. 37
      src-local/instance/swarmlab-sec/peiraia/docker-compose.yml
  6. 8
      src-local/instance/swarmlab-sec/peiraia/get_hosts
  7. 74
      src-local/instance/swarmlab-sec/peiraia/install-vim-plugin.sh
  8. 164
      src-local/instance/swarmlab-sec/peiraia/out.log
  9. 1
      src-local/instance/swarmlab-sec/peiraia/project/hello_world.sh
  10. 72
      src-local/instance/swarmlab-sec/peiraia/sec_bootstrap
  11. 6
      src-local/instance/swarmlab-sec/peiraia/shorewall/interfaces
  12. 11
      src-local/instance/swarmlab-sec/peiraia/shorewall/policy
  13. 11
      src-local/instance/swarmlab-sec/peiraia/shorewall/rules
  14. 6
      src-local/instance/swarmlab-sec/peiraia/shorewall/zones
  15. 27
      src-local/instance/swarmlab-sec/peiraia/ssh/id_rsa
  16. 1
      src-local/instance/swarmlab-sec/peiraia/ssh/id_rsa.pub
  17. 4
      src-local/instance/swarmlab-sec/swarmlab-sec/Dockerfile
  18. 180
      src-local/instance/swarmlab-sec/swarmlab-sec/out.log
  19. 2
      src-local/instance/swarmlab-sec/swarmlab-sec/start.sh
  20. 51
      src-local/instance/swarmlab-sec/vpn/create-vpn.sh
  21. 12
      src-local/instance/swarmlab-sec/vpn/openvpn-services/crl.pem
  22. 31
      src-local/instance/swarmlab-sec/vpn/openvpn-services/openvpn.conf
  23. 25
      src-local/instance/swarmlab-sec/vpn/openvpn-services/ovpn_env.sh
  24. 109
      src-local/instance/swarmlab-sec/vpn/sec1.vpn
  25. 110
      src-local/instance/swarmlab-sec/vpn/sec2.vpn
  26. 107
      src-local/instance/swarmlab-sec/vpn/test1.ovpn
  27. 107
      src-local/instance/swarmlab-sec/vpn/test2.ovpn
  28. 110
      src-local/instance/swarmlab-sec/vpn/testsec1.user
  29. 109
      src-local/instance/swarmlab-sec/vpn/testsec2.user
  30. 69
      src-local/llo/new.js
  31. 4
      src/App.vue
  32. 38
      src/components/mynetwork/availableservices.vue
  33. 2
      src/components/mynetwork/mytable.vue
  34. 26
      src/store/modules/create_pipelineLLO.js
  35. 79
      viwsession/session1

15
src-local/instance/swarmlab-sec/peiraia/.vimrc

@ -1,15 +0,0 @@
map <C-e> :NERDTreeToggle<CR>
autocmd BufNewFile,BufRead *.vue,*.js set syntax=verilog tabstop=2|set shiftwidth=2|set noexpandtab autoindent
augroup remember_folds
autocmd!
autocmd BufWinLeave * mkview
autocmd BufWinEnter * silent! loadview
augroup END
" Useful for my Quick Notes feature in my tmuxrc
augroup QuickNotes
au BufWrite,VimLeave NOTES.otl mkview
au BufRead NOTES.otl silent loadview
augroup END
set swapfile
set dir=~/tmp

33
src-local/instance/swarmlab-sec/peiraia/Dockerfile

@ -1,33 +0,0 @@
FROM localhost:5000/sec
#
USER root
RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get --no-install-recommends install -y openssh-server net-tools curl tcpdump shorewall sudo vim nmap dnsutils iputils-ping iptables wget python
RUN apt-get autoremove --purge && apt clean
RUN rm -rf /var/lib/apt/lists/*
RUN mkdir -p /var/run/sshd
RUN echo 'root:pass' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
#
# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
#
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
#RUN wget -k https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh
#
#
#
COPY sec_bootstrap /usr/bin
COPY get_hosts /usr/bin
COPY auto_update_hosts /usr/bin
RUN mkdir -p /etc/shorewall
COPY shorewall /etc/shorewall
RUN mkdir -p /etc/opt
RUN mkdir -p /project
WORKDIR /project
COPY install-vim-plugin.sh .
#RUN bash ./install-vim-plugin.sh
#RUN apt-vim install -y https://github.com/scrooloose/nerdtree.git
RUN grep -qw ^docker /etc/passwd || useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo
COPY .vimrc /home/docker
USER docker

1
src-local/instance/swarmlab-sec/peiraia/ROOT_PASSWORD

@ -1 +0,0 @@
ROOT_PASSWORD="pass"

11
src-local/instance/swarmlab-sec/peiraia/auto_update_hosts

@ -1,11 +0,0 @@
#!/bin/sh
hosts=$(get_hosts)
printf "%s" "$hosts" > "$1"
while sleep 2
do
current_hosts=$(get_hosts)
[ "$hosts" != "$current_hosts" ] && printf "%s" "$current_hosts" > "$1"
hosts=$current_hosts
done

37
src-local/instance/swarmlab-sec/peiraia/docker-compose.yml

@ -1,37 +0,0 @@
version: "2"
services:
registry:
image: registry
ports:
- "5000:5000"
master:
image: localhost:5000/sec
privileged: true
cap_add:
- NET_ADMIN
user: root
entrypoint: ["sec_bootstrap", "role=master", "sec_master_service_name=master", "sec_worker_service_name=worker"]
ports:
- "2222:22"
networks:
- net
volumes:
- /data/appl/ok/gitversion/examples-services/swarmlab-sec/peiraia/project:/project
worker:
image: localhost:5000/sec
privileged: true
cap_add:
- NET_ADMIN
user: root
entrypoint: ["sec_bootstrap", "role=worker", "sec_master_service_name=master", "sec_worker_service_name=worker"]
networks:
- net
volumes:
- /data/appl/ok/gitversion/examples-services/swarmlab-sec/peiraia/project:/project
networks:
net:

8
src-local/instance/swarmlab-sec/peiraia/get_hosts

@ -1,8 +0,0 @@
#!/bin/sh
# Include the variables that store the Docker service names
# shellcheck disable=SC1091
. /etc/opt/service_names
( netstat -t | grep ESTABLISHED | awk '{print $5}' | grep "$MPI_WORKER_SERVICE_NAME" | cut -d: -f1 \
& getent hosts "$MPI_MASTER_SERVICE_NAME" | cut -d' ' -f1 ) | sort -u

74
src-local/instance/swarmlab-sec/peiraia/install-vim-plugin.sh

@ -1,74 +0,0 @@
#! /usr/bin/env sh
start_dir=$(pwd)
bin_string="export PATH=\"${PATH}:${HOME}/.vimpkg/bin\""
# Download the apt-vim files
curl -fSsLo ${HOME}/apt-vim/apt-vim --create-dirs \
https://raw.githubusercontent.com/egalpin/apt-vim/master/apt-vim
curl -fSsLo ${HOME}/apt-vim/vim_config.json \
https://raw.githubusercontent.com/egalpin/apt-vim/master/vim_config.json
# Add vimrc if there isn't one already
[ -f ${HOME}/.vimrc ] || touch ${HOME}/.vimrc
# Make sure vimrc is using pathogen
if [ $(grep -c "execute pathogen#infect()" ${HOME}/.vimrc) -eq 0 ]; then
echo "execute pathogen#infect()" >> ${HOME}/.vimrc
fi
if [ $(grep -c "call pathogen#helptags()" ${HOME}/.vimrc) -eq 0 ]; then
echo "call pathogen#helptags()" >> ${HOME}/.vimrc
fi
# Update path for executing shell
eval "$bin_string"
added_to_profile=false
already_present=false
for rc in bashrc zshrc bash_profile; do
if [ -s "$HOME/.$rc" ]; then
if grep -q "$bin_string" "$HOME/.$rc"; then
already_present=true
else
printf "\n$bin_string\n" >> "$HOME/.$rc"
printf "== Added apt-vim PATH to '~/.$rc'\n"
added_to_profile=true
fi
fi
done
# Execute apt-vim init
cd ${HOME}/apt-vim
python - <<EOF
import imp, os
print('apt-vim setup starting')
HOME = os.path.expanduser("~")
APT_VIM_DIR = os.path.abspath(os.path.join(HOME, 'apt-vim'))
SCRIPT_ROOT_DIR = os.path.abspath(os.path.join(HOME, '.vimpkg'))
BIN_DIR = os.path.abspath(os.path.join(SCRIPT_ROOT_DIR, 'bin'))
os.environ['PATH'] += os.pathsep + BIN_DIR
os.chdir(APT_VIM_DIR)
aptvim = imp.load_source("aptvim", "./apt-vim")
av = aptvim.aptvim(ASSUME_YES=True, VIM_CONFIG='', INSTALL_TARGET='')
av.first_run()
av.handle_install(None, None, None)
EOF
python_result=$?
cd $start_dir
echo
if [ "$python_result" -ne 0 ]; then
echo "== Error:"
echo " Installation failed."
elif [ "$added_to_profile" = false ] && [ "$already_present" = false ]; then
echo "== Error:"
echo " Found no profile to add apt-vim PATH to."
echo " Add the following line to your shell profile and source it to install manually:"
printf " $bin_string\n"
else
echo "== apt-vim installation succeeded! Run 'source ~/.bashrc || source ~/.bash_profile' or 'source ~/.zshrc'"
echo " to access the executable script."
fi

164
src-local/instance/swarmlab-sec/peiraia/out.log

File diff suppressed because one or more lines are too long

1
src-local/instance/swarmlab-sec/peiraia/project/hello_world.sh

@ -1 +0,0 @@
echo "Hello World"

72
src-local/instance/swarmlab-sec/peiraia/sec_bootstrap

@ -1,72 +0,0 @@
#!/bin/sh
ROLE="undefined"
MPI_MASTER_SERVICE_NAME="sec_master"
MPI_WORKER_SERVICE_NAME="sec_worker"
HOSTNAMES="/etc/nethosts"
#######################
# ARGUMENTS PARSER
while [ "$1" != "" ];
do
PARAM=$(echo "$1" | awk -F= '{print $1}')
VALUE=$(echo "$1" | awk -F= '{print $2}')
case $PARAM in
role)
[ "$VALUE" ] && ROLE=$VALUE
;;
sec_master_service_name)
[ "$VALUE" ] && MPI_MASTER_SERVICE_NAME=$VALUE
;;
sec_worker_service_name)
[ "$VALUE" ] && MPI_WORKER_SERVICE_NAME=$VALUE
;;
*)
echo "ERROR: unknown parameter \"$PARAM\""
exit 1
;;
esac
shift
done
cat > /etc/opt/service_names <<- EOF
MPI_MASTER_SERVICE_NAME=${MPI_MASTER_SERVICE_NAME}
MPI_WORKER_SERVICE_NAME=${MPI_WORKER_SERVICE_NAME}
EOF
case $ROLE in
"master")
# Auto update default host file in background and dumb all output
auto_update_hosts "${HOSTNAMES}" > /dev/null 2>&1 &
# Start ssh server
/usr/sbin/sshd -D
;;
"worker")
# Start ssh server in background
/usr/sbin/sshd -D &
# Keep trying to connect to master node and stay there indefinitely so that master node can see
# the connected hosts that are ready for MPI work
while sleep 1
do
# shellcheck disable=SC2086
ssh -T -o "StrictHostKeyChecking no" \
-i "${USER_HOME}/.ssh/id_rsa" \
${USER}@${MPI_MASTER_SERVICE_NAME} \
"tail -f /dev/null"
done
;;
*)
echo 'role argument only accepts "master" or "worker"'
esac

6
src-local/instance/swarmlab-sec/peiraia/shorewall/interfaces

@ -1,6 +0,0 @@
### Comments, comments, and more comments.
#
#ZONE INTERFACE BROADCAST OPTIONS
#
net eth0 detect tcpflags,nosmurfs
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

11
src-local/instance/swarmlab-sec/peiraia/shorewall/policy

@ -1,11 +0,0 @@
### Comments, comments, and more comments.
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
#
net fw ACCEPT
fw net ACCEPT
net all DROP
# THE FOLLOWING POLICY MUST BE LAST
all all REJECT info
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE

11
src-local/instance/swarmlab-sec/peiraia/shorewall/rules

@ -1,11 +0,0 @@
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP
#ACCEPT net fw tcp 80
#ACCEPT fw net tcp 80
#ACCEPT net fw udp 53
#ACCEPT fw net udp 53
#REJECT net fw udp 53
#REJECT fw net udp 53
#ACCEPT net:14.15.16.112/27 fw icmp 8
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

6
src-local/instance/swarmlab-sec/peiraia/shorewall/zones

@ -1,6 +0,0 @@
### Comments, comments, and more comments.
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
net ipv4
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

27
src-local/instance/swarmlab-sec/peiraia/ssh/id_rsa

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAoKG1DtjMXHDJfF59Y5nO7Yl38fkjRL1LQhF7RZKbGScWBNIW
foAS0wrd3wUnd5YMtIeiBj98H+V8IEn0ChAAxGfHXqqmmYlU6ABESINob+h70Bnm
UwiRbRnA64o3d9+cz2T8YLf+1p7///Z8LA8U+7rS+kvKvtYCQ9llDAxtbe39CxCs
2HASam3U6VArq9SdSqph5MudBaYhaxx4V8VDdXEhG2pimlh8e7zdPZ8AYbYLLDhq
Ytd+wn9azLXPQ3w/vC+Pn4taUBYnlERDY45vaVsPdnR+ao9ckMLUS6EwJVQmgMzB
2yyNCbPQYvRPL0rxoGstfCmmjY3EzOh6kEA6wwIDAQABAoIBAHqrAxnTdj0h5LyV
bCwjyWKdGHwxRj24UUCjGQCIdOlAcBA+X+863yVLpyQpS3qHnCxBZ/pdgOza02/V
CgilL/DNT/N7Xr7hoXWKvpqhv5+2atcA8GN4p5YplKpLYxCoM5guBo3V9UbxJY7T
LQB4hA25HmUGfE5AIHqwCfqpgufvIO1enhe1Vh/6l1FJqJuNj2pBGeXOyOMV95GN
xC5/BVytJIx2Rts5qtwpt5iPE3pKdsrWc71qACxk3dG8h9OZnuE3vuCg/Wp8jdwk
NHZ6nWlt0BbST3wN0pyTp6cqtZ0qqfSpZCVRegeQW5ENR9NaigDX6RADKRnms46J
ziDSZAECgYEA0WBDY47CA9Ej0Y2zBcV3x03cznSnxr7BVty32xbnNgxGF5jNUDdU
E2JwJs86sV75VV0fpgrbN45lBV/2ImefrPr4kJAIL2J4eyVdOTTT/DO9Tuw6NP8R
AYMZOzOlgFjx3arnjlOK5AicFseWFCXvezuAMPcGpImgw7xHHM3RcFcCgYEAxGa2
T+J119HWf15kN7bx5RaUl9J4DvvE5oHtA7zsMPO2fRpfwXAb8yKwIXfZ7186frPb
jo3ZQykcPuJ3MldvTWEuUhY5W1HSF1sBJOPZHuRfQicv8Uj4Y1kWltQf4Ikb3Uyh
T0fZJul4HkPAo/Q65zIAtJ9tWukAP/lmnwO9VXUCgYEAiY62F4WmH/3ai4WOFX+b
5xxXsmhgBiozOc8/F7jfZNoBfuVMFqSTHz0wM784b2nXY+cPsPY2+jQaWMKoIgh0
lqA4iDmotwD56OYubjQwBeU0PdLjlwfw805fWE7hMAa/uQPcp9xpRtIFQs4T4t7d
jNgVq5XQDm/BaHedPOZX8HcCgYEAuKpu31vqO7wUt/vTtUMx3JpHqxz9P/FgqPAf
H/WiC0EMJEMJKAO2c/z4qO9dHiJnCL0qQraDQw/DfClJtC7b+2DVwd8dnQyowscR
o1MNUmueWcAo5vEag6c/gx/+vQuOBJ1JyxaeSmUZSTOhTUeVns64NRz2IJWWY5Cn
+fn1KwUCgYEAjYYeQX/W+2r8SFipPQQi/36EqLPwko58C/sbJR0gySP6El7hNQRt
Sdmd9hfMXRR+VCZWmmzb6T4fc80XxteI9eANkZ7xhNuQe11EDvPqmc9WSF0s+l1T
eQnkt+an7Qv2prDSU6d1KlOrOuCXU8IhbkuffvRSYXwK9T79bTG8iIQ=
-----END RSA PRIVATE KEY-----

1
src-local/instance/swarmlab-sec/peiraia/ssh/id_rsa.pub

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgobUO2MxccMl8Xn1jmc7tiXfx+SNEvUtCEXtFkpsZJxYE0hZ+gBLTCt3fBSd3lgy0h6IGP3wf5XwgSfQKEADEZ8deqqaZiVToAERIg2hv6HvQGeZTCJFtGcDrijd335zPZPxgt/7Wnv//9nwsDxT7utL6S8q+1gJD2WUMDG1t7f0LEKzYcBJqbdTpUCur1J1KqmHky50FpiFrHHhXxUN1cSEbamKaWHx7vN09nwBhtgssOGpi137Cf1rMtc9DfD+8L4+fi1pQFieURENjjm9pWw92dH5qj1yQwtRLoTAlVCaAzMHbLI0Js9Bi9E8vSvGgay18KaaNjcTM6HqQQDrD nlknguyen@NN-Ubuntu

4
src-local/instance/swarmlab-sec/swarmlab-sec/Dockerfile

@ -1,4 +1,4 @@
FROM ubuntu:18.04 FROM localhost:5000/sec
# #
USER root USER root
RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get --no-install-recommends install -y openssh-server net-tools curl tcpdump shorewall sudo vim nmap dnsutils iputils-ping iptables wget python RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get --no-install-recommends install -y openssh-server net-tools curl tcpdump shorewall sudo vim nmap dnsutils iputils-ping iptables wget python
@ -22,8 +22,8 @@ COPY get_hosts /usr/bin
COPY auto_update_hosts /usr/bin COPY auto_update_hosts /usr/bin
RUN mkdir -p /etc/shorewall RUN mkdir -p /etc/shorewall
COPY shorewall /etc/shorewall COPY shorewall /etc/shorewall
RUN mkdir -p /project
RUN mkdir -p /etc/opt RUN mkdir -p /etc/opt
RUN mkdir -p /project
WORKDIR /project WORKDIR /project
COPY install-vim-plugin.sh . COPY install-vim-plugin.sh .
#RUN bash ./install-vim-plugin.sh #RUN bash ./install-vim-plugin.sh

180
src-local/instance/swarmlab-sec/swarmlab-sec/out.log

File diff suppressed because one or more lines are too long

2
src-local/instance/swarmlab-sec/swarmlab-sec/start.sh

@ -1,2 +0,0 @@
../install/usr/share/swarmlab.io/sec/swarmlab-sec up size=3

51
src-local/instance/swarmlab-sec/vpn/create-vpn.sh

@ -1,51 +0,0 @@
#!/bin/bash
#IP=192.168.1.5 # Server IP
IP=127.0.0.1 # Server IP
P=1194 # Server Port
OVPN_SERVER='10.80.0.0/16' # VPN Network
#vpn_data=/var/lib/swarmlab/openvpn/openvpn-services/ # Dir to save data ** this must exist **
vpn_data=$PWD/openvpn-services/ # Dir to save data ** this must exist **
NAME=swarmlab-vpn-services # name of docker service
DOCKERnetwork=swarmlab-vpn-services-network # docker network
docker=registry.vlabs.uniwa.gr:5080/myownvpn # docker image
docker stop $NAME #stop container
sleep 3
docker container rm $NAME #rm container
# rm config files
rm -f $vpn_data/openvpn.conf.*.bak
rm -f $vpn_data/openvpn.conf
rm -f $vpn_data/ovpn_env.sh.*.bak
rm -f $vpn_data/ovpn_env.sh
# create network
sleep 2
docker network create --attachable=true --driver=bridge --subnet=172.50.0.0/16 --gateway=172.50.0.1 $DOCKERnetwork
#run container
sleep 2
docker run --net=none -it -v $vpn_data:/etc/openvpn -p 1194:1194 --rm $docker ovpn_genconfig -u udp://$IP:1194 \
-N -d -c -p "route 172.50.20.0 255.255.255.0" -e "topology subnet" -s $OVPN_SERVER
# create pki
sleep 3
echo "new pki is disabled"
docker run --net=none -v $vpn_data:/etc/openvpn --rm -it $docker ovpn_initpki
#sleep 3
#docker run --net=none -v $vpn_data:/etc/openvpn --rm $docker ovpn_copy_server_files
#create vpn
sleep 3
docker run --detach --name $NAME -v $vpn_data:/etc/openvpn --net=$DOCKERnetwork --ip=172.50.0.2 -p $P:1194/udp --cap-add=NET_ADMIN $docker
sleep 5
#sudo sysctl -w net.ipv4.ip_forward=1
#show created
docker ps

12
src-local/instance/swarmlab-sec/vpn/openvpn-services/crl.pem

@ -1,12 +0,0 @@
-----BEGIN X509 CRL-----
MIIBtjCBnwIBATANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtFYXN5LVJTQSBD
QRcNMjAxMjE2MTQwODI3WhcNMzAxMjE0MTQwODI3WqBVMFMwUQYDVR0jBEowSIAU
vrukPCQne21S3V2qXlpRU/gimF2hGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENB
ghRywv6rT4UtGmHLjySqq1WY6KblATANBgkqhkiG9w0BAQsFAAOCAQEAUrBTGvwA
VyVAvXKbI5YLED+n1iL4PCgN/Rx+/69qpfPEqqOBSCbhUVSB56+S3FzscE96hwdT
rWYxPhdVg0uF2Onz6K52edtJwX39UaBI/oP76j8naCiRk8G3Zet715JyVopKOvQ5
QS2yEJ2WKFNCoPWymXoYboqvvLd961oNHG3QUOmx85wI6k54pjb8IopOt0htNJ+I
IAQJbGr47IM7ZrTXvinLi3xgiD/RPz7hUa3Ojk9EZF619gSJrXio4HoLSO+iL3QF
bSeIgFPej+24tsdBhwGEt1c3oTcDfY27eHDPa3UQjWCR26mft4a8wMdIQBviiyFu
ZLHT8HdXtLceEg==
-----END X509 CRL-----

31
src-local/instance/swarmlab-sec/vpn/openvpn-services/openvpn.conf

@ -1,31 +0,0 @@
server 10.80.0.0 255.255.0.0
verb 3
key /etc/openvpn/pki/private/127.0.0.1.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/127.0.0.1.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun
proto udp
# Rely on Docker to do port mapping, internally always 1194
port 1194
dev tun0
status /tmp/openvpn-status.log
user nobody
group nogroup
client-to-client
comp-lzo no
### Push Configurations Below
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "comp-lzo no"
push "route 172.50.20.0 255.255.255.0"
### Extra Configurations Below
topology subnet

25
src-local/instance/swarmlab-sec/vpn/openvpn-services/ovpn_env.sh

@ -1,25 +0,0 @@
declare -x OVPN_AUTH=
declare -x OVPN_CIPHER=
declare -x OVPN_CLIENT_TO_CLIENT=1
declare -x OVPN_CN=127.0.0.1
declare -x OVPN_COMP_LZO=0
declare -x OVPN_DEFROUTE=0
declare -x OVPN_DEVICE=tun
declare -x OVPN_DEVICEN=0
declare -x OVPN_DISABLE_PUSH_BLOCK_DNS=1
declare -x OVPN_DNS=1
declare -x OVPN_DNS_SERVERS=([0]="8.8.8.8" [1]="8.8.4.4")
declare -x OVPN_ENV=/etc/openvpn/ovpn_env.sh
declare -x OVPN_EXTRA_CLIENT_CONFIG=()
declare -x OVPN_EXTRA_SERVER_CONFIG=([0]="topology subnet")
declare -x OVPN_FRAGMENT=
declare -x OVPN_KEEPALIVE='10 60'
declare -x OVPN_MTU=
declare -x OVPN_NAT=1
declare -x OVPN_PORT=1194
declare -x OVPN_PROTO=udp
declare -x OVPN_PUSH=([0]="route 172.50.20.0 255.255.255.0")
declare -x OVPN_ROUTES=()
declare -x OVPN_SERVER=10.80.0.0/16
declare -x OVPN_SERVER_URL=udp://127.0.0.1:1194
declare -x OVPN_TLS_CIPHER=

109
src-local/instance/swarmlab-sec/vpn/sec1.vpn

@ -1,109 +0,0 @@
client
nobind
dev tun
comp-lzo
resolv-retry infinite
keepalive 15 60
remote-cert-tls server
remote 192.168.1.5 1194 udp
<key>
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDEKX1RLDhwLIHL
ccQ1SyPfcZdzlG1obYLfsXoyxV+QuTMkjidzBjtkBw7RscQK9uSWt6c/89DRAiao
zSwCUF0t+13kd0TXGe6b5qGVOnlAnNeyEuFYkAOdzEJ7vT9zYphq7F8mD6ZFEl1l
4j83UwTZLvvjLjvE931CLDj4qespae8v3J2enzNZ4rTFZOGyabqlTrzkyyBW38az
Hv87MkGIaecnYw+HtJ2lR+0WlznVnagw8v3r2usrT3Z/iOJDOg/23WjgHF/FZ4Ca
ue/pvG4XX/vMFkZqTi+jpl6JBsH6oQ+DM7vsQ1B0YjJDSPaHP9ImVlzAgsz4VO9G
a13EVJq7AgMBAAECggEBAJbhttN96PdXNIqwuhOn9TLEI5MyQqlFOpom3/A3Ypdl
7FGcyfkufPYme56NVlZ8qzzGjG2jcyWguu2xyr0I5XMd2o2Fs7yj5KWj0vt+m484
VKxS22QMecuhNi4JVcnBt6zenR0ggmq0goSAbtF2GM+Y1QRcJnsNRhpk+3lA8XHL
ADpP55UJv/BSbbOM3PdB2HEkBZ0PL1Lh5ogZDfrpouVvXpCKd6FRUu8VKO/Gez+Y
ZZ1AVpMHWgwZgyVc+u2ZwUwLc+6gXjeY6rX8yTIUwKI6JB9hicvJ00h8/7VMAmhb
S2ZPDcxjeZLCsO0xLMqJfbJcZb2omYZmgDHGT3PeATkCgYEA+BxCGuSVYH8Ui6VO
VnHt6OW5EdQbtDyYzlSp/wrmL3Ht5j2/LT/vpTMyQA71R8ncUOwac+wRBV9ZtRxS
ifQJLngDaqbUsJujaveI2JJVgpjrY0LC9Wz8lGOvYroiGRzOHC5vE43+rZxshPSw
ftN0+0QUtLwObC+NufbktC2yFX8CgYEAymZYoNuE2sBYPR1AXMiL8zXdWha4L41F
z2lFa5aLL8vkAVwqEOlupUTCSud39jW5tPfggg9HQQDnt6HpCLtmNdMHO2nnnFpL
hoMDGtS7yuPvMXDqP0tlnDFfeM7O7OKw0cZR+bPb6yJeLt6GDZ1ifwb5JpE1GXuU
k/yog6ld8MUCgYEAw81JPf/3AthHVo12bTIsFwh0LWW/F1ZbITofjm8DiZ3XqURB
g2xZq33jwjoLyEO94v7xQVqjdCHzocJgQQ6d0FZWG+zdHSM2rEv9ayzQ3uffm84s
HZONIW4qEzfhgQACiKr8beo5erlfyu1v/CbUwxbPYHKozygYKRJ3GtqVF/ECgYBv
hDZ+4pRvppy3h39n38NkTKBaO7xdztvQ7LKoFbk4q4FD0pEG4mbpPlpCxQgOqwlY
EV8sqdhbk3EYd2gbPI2TSGNqs+498m48fcDfLqkNn8qxlgIqv5MLnRR6TpAqarh7
zGZsS1H3WudDsa1woO+dB62NN2JnWPTDGOmMKWwt9QKBgQDpYg0Yih2Mp98fNVDH
cikFbmXcA2t7Y+28gSaUmEpaEZTSKbhbvsep0q4mr7xLOANtl9cFDfsnabpTpQub
zp4BfpbGZhqsWMDCsu8FFR46Gj5H6VidDnHP6fDUTF41e76UFZkBTqDCYCQzcHKf
BO1K6MLMdbl66JoOx5+lPnukMg==
-----END PRIVATE KEY-----
</key>
<cert>
-----BEGIN CERTIFICATE-----
MIIDUjCCAjqgAwIBAgIQC67E4HzAv+jKJmBASy5iXzANBgkqhkiG9w0BAQsFADAW
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yMDEyMDkxNDM4MDJaFw0yMzExMjQx
NDM4MDJaMA8xDTALBgNVBAMMBHNlYzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDEKX1RLDhwLIHLccQ1SyPfcZdzlG1obYLfsXoyxV+QuTMkjidzBjtk
Bw7RscQK9uSWt6c/89DRAiaozSwCUF0t+13kd0TXGe6b5qGVOnlAnNeyEuFYkAOd
zEJ7vT9zYphq7F8mD6ZFEl1l4j83UwTZLvvjLjvE931CLDj4qespae8v3J2enzNZ
4rTFZOGyabqlTrzkyyBW38azHv87MkGIaecnYw+HtJ2lR+0WlznVnagw8v3r2usr
T3Z/iOJDOg/23WjgHF/FZ4Caue/pvG4XX/vMFkZqTi+jpl6JBsH6oQ+DM7vsQ1B0
YjJDSPaHP9ImVlzAgsz4VO9Ga13EVJq7AgMBAAGjgaIwgZ8wCQYDVR0TBAIwADAd
BgNVHQ4EFgQUvjyE1nzk+/BHb9pvGpNlAUqqQuwwUQYDVR0jBEowSIAU92QhHH9s
VPh6UUHvnKaKZJzlN/ahGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghQC21um
s0zDfPWZMpYIqaq8sgRDTTATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC
B4AwDQYJKoZIhvcNAQELBQADggEBAIfc4UmKPCn1L0oWuHH7kXbsVKuV9mNOet26
+WSjpkfhcKlf8cRcnpmRJRiHL+y92GUxs4PGNEHrNhbXYr6CGPaSV+i2p7+aXdv4
95/UR1uFZx+rYZByh27fydNohsDvLD+CZqUG03nw+cMFwRg8r15ZaeOJVe+jYhc7
qU3v2PCcLlZM3mMZ+1lqKfcND/iZ2CWy4Je655DjVWe4j3qu9hlCDlN6rVPb2OEr
qwpq8QWdgpPE1kQ8UgOoJIuJ9YkYeeAHNHmiTE4QNOBrMGx4lvB/rQnV4xNpDyTD
wWqbfauntXdEbTQfBuexOkhkpLCoXWmeOtSdk4iHPMPcyIxyAeg=
-----END CERTIFICATE-----
</cert>
<ca>
-----BEGIN CERTIFICATE-----
MIIDSzCCAjOgAwIBAgIUAttbprNMw3z1mTKWCKmqvLIEQ00wDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA5MTQzMTQ1WhcNMzAx
MjA3MTQzMTQ1WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAMmQHmv/feJnQVcAAkZHJm1J93VlRwyQSGJszo31
O0I5F0HHGlXz0BWujwQwjtit/U/NZNw3+lnP5s/wiWSCTomdO9zeXrj/qOwg9zly
URyPDLAlcK+HI0e2MsbH7JqJq92NwtgTmoWj+iMdnFAUG0Gb18MqT+3tTLOIF8Hc
5c9meotvBKKPB1XOwevTngCEF4MiZiCkAU+eve0W5+tQFhDdybMIZmVSEBHgp3c7
IyfQYs62rmjmBI0HXsthZDw+2KPw4w1zkD9MtexD/JMJaDHwz3biZyoVhucdbLNa
uxPlK1LdzHVXcuN58q0VTOYYpmQvh/rEhFTjObAWWRF8JXcCAwEAAaOBkDCBjTAd
BgNVHQ4EFgQU92QhHH9sVPh6UUHvnKaKZJzlN/YwUQYDVR0jBEowSIAU92QhHH9s
VPh6UUHvnKaKZJzlN/ahGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghQC21um
s0zDfPWZMpYIqaq8sgRDTTAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq
hkiG9w0BAQsFAAOCAQEAQUVJZVzk0eXOfA5qaHdYE29cW37ImVy9gMQGS0Mg6tT6
lwBQyXG9Gd/KvCG8WyzgEtuloHqknCRdLDb/N/X2oG5ib7ypCv4j+VeVOXCwAq2N
dhEJdQxMxDYrpcAMFpcr7oZA8jEQBtLG2sKRw/3MMwk2rBaKbTxk+SVnM7EOR5rV
plOc84Y+hZ2trQEUV9iussxWlr7GUbFeKaE8qYvVmqqoXxl9plt5VOgTnZHCNyN9
jxGnOdcKq3KERPVhwBwfNpfYDqLjKp+A8TTDkhjRm80ayeMCStYjVaH3ud+/jmn3
ye6/XUOrsn9aZhHBCN9pCJUsIRsGemTvQVH74tusew==
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
b3a5e1e4f76a13d2d496ca397897d6e4
644f28ac1fd6e1edba47aadbcdb1c692
5203f522ed18b66b5df5a0259bc9581d
5601c534f6a6f0c34939fc743553b5e7
140e2d1c467bfe5d99ad423a726f4b42
e760f0f0b660293866953b4fafdaf683
362c589a3db5feb3456d84a8f219521e
ee8dca14b3d0c56814da63f01a7ef89e
b4b3df8c6b85c051f5997b8b3360d7d2
6b51203b03ec07e66726d894791dfa90
a3ccf3703799ab1ba9905828b4f2baf8
5c13530607d6f227f13bb897785b2ccd
140bc95f7333037df6a65b6c96c8fcd6
d28226af3b1b084bffb92016312a4ca7
f6cca31f281b03d45ed7d13145837ba3
130ae15c5d868ba25f7ba702c6161f56
-----END OpenVPN Static key V1-----
</tls-auth>

110
src-local/instance/swarmlab-sec/vpn/sec2.vpn

@ -1,110 +0,0 @@
client
nobind
dev tun
comp-lzo
resolv-retry infinite
keepalive 15 60
remote-cert-tls server
remote 192.168.1.5 1194 udp
<key>
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDtX8bpeD7m1Rzc
0InKb33Hoznp4MRqCr6YKQrr/o5qJeK262NIhGKJp0bPnvYULzGWwJRl49b8kE5F
R7wuuSuPRjULhm87VRZH3SNFzRVBfiifjOSiQcBBcOGq1knmR4VoHEEP99EuHWfW
ls2wdAm4nyDBkwmxs951pamMR7wtY3q6tvqQ8Edp5EuNG1/Y4O4P32lPG+z7kx7L
dY9XCN1FKyZlngVQtAK+gvQcFYyotogSPFhcu0DDr81VxbEwr3HqUKU0+l93Vbo4
B7FYMKZ4eSUneY+qG4S06ELdkJARGWIOeIJ0bg0j4bNHepTNEmFjB9o+Ax66LJu+
4YrQ2pE5AgMBAAECggEAL2PbtmjHRhZt+Le5iqzPk7fGrCavj+wtOPuYrpzXmeGO
ba5419V2Rr0aqgC2aDkz0UEJX34pQasdtT8pFrrpM2V02aQxOMs384j2rczP3Y9u
VMwwKSSvWWFL7GtzvYGx5KMfaiyzml1Mic75qazA9Bbw1zSfztZ2J063lsYLj5PW
Ulm13RpOQUSdYGGxMa36cJeYKg5LNO8wK3hG6ErWBHfZiGSbzsxgUZgIr3sIMUIS
iq9VXart/5UmX0og2+RTaTsWJfDr/CC7QPXNDo95Ah+4+eg0aPj445yFnnfuqIjt
sJSwl9pDJXXz6Ix1vM4pDew4GinVs0bPQBaXvbZ/8QKBgQD314c5YM/7j3w6l/Z/
/fGYVJdLLcgu6waesx6n+OYwBnKUFYmeXyuXWiQe+Gh7dZvy32JOQPjgLWFBgIMR
keWp3GV3i1iT0M08NOmvhYMjPgOugd4kW8pDDH24ghYceBUlA+bJcpgRxvQ9tsbD
5Ujr2X2MBx+O9OcDnG/1ospwYwKBgQD1MAprMxjLqnP9Iy5kShXWlNCEJ04pOPbW
wlGxHrU4GR4yW2LReMTHKBnCcaHNuxTfnMip+zIk5rM7rr6rFeHSbtabcj1YgRvz
7BZMPpfDh5zE9PF2tZkk7HpTW5rAmZKOZ+QceDFVw0ZW/lentsvFSULPsaWAVLgL
XCqF1ZTUswKBgQDYbV/qnT5CQUSMrlNV5d5p1cTgo7QiNJ7tSyHEMThiS98WrdAl
eppIazEL0oT6+vMaHjRsfZRXv4kkeCL83tkdghchU5AgVMBEiThgTEj+J5NzenkQ
aw+viWLoEsFYTwy37DZHSEi/jWuP0OK2Aq2xN5XJCBdo8TgjESM779K0XQKBgAxu
miijV5+EDguIzCJjq0XNF+GLiKgIbmOnSLMdZnzosSJGhfUvFXMvslasolKnKMDJ
11bfGMTMOcxN6PcNzfx4iEMrgLbLHRq6HstQ5SsR5j4KWW/2d0RrBSzS2T7oyoiT
9foHkiDSHO/uR42GdECVnWCglk6yfP5+dt2AXeKHAoGAP6zhQvtpbb/zK+vYq9UJ
NupWAKpoqXG4HJR8XqVVZOUaAn2tcIYsSIe2xuA+RW1V88r7v/0MwprZC4jPVfTN
mCHRsjfSZ1wKPatekhRp+BpnWxQo38pgCg0ARJ7A6TFlv2hFHlLooZGLYo65zc3i
XxRtUHUhVQ9sUWwTGlivhCM=
-----END PRIVATE KEY-----
</key>
<cert>
-----BEGIN CERTIFICATE-----
MIIDUzCCAjugAwIBAgIRAOFWsPPOOfMNYmBx/AMCsAkwDQYJKoZIhvcNAQELBQAw
FjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA5MTQ0MjM1WhcNMjMxMTI0
MTQ0MjM1WjAPMQ0wCwYDVQQDDARzZWMyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA7V/G6Xg+5tUc3NCJym99x6M56eDEagq+mCkK6/6OaiXitutjSIRi
iadGz572FC8xlsCUZePW/JBORUe8Lrkrj0Y1C4ZvO1UWR90jRc0VQX4on4zkokHA
QXDhqtZJ5keFaBxBD/fRLh1n1pbNsHQJuJ8gwZMJsbPedaWpjEe8LWN6urb6kPBH
aeRLjRtf2ODuD99pTxvs+5Mey3WPVwjdRSsmZZ4FULQCvoL0HBWMqLaIEjxYXLtA
w6/NVcWxMK9x6lClNPpfd1W6OAexWDCmeHklJ3mPqhuEtOhC3ZCQERliDniCdG4N
I+GzR3qUzRJhYwfaPgMeuiybvuGK0NqROQIDAQABo4GiMIGfMAkGA1UdEwQCMAAw
HQYDVR0OBBYEFKK08NJV8nArTRn/Eg8DIg2iKHX4MFEGA1UdIwRKMEiAFPdkIRx/
bFT4elFB75ymimSc5Tf2oRqkGDAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQYIUAttb
prNMw3z1mTKWCKmqvLIEQ00wEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQD
AgeAMA0GCSqGSIb3DQEBCwUAA4IBAQAv1/sr+ilQvvXrLRhNaulfDuHEaoxILT9S
pEn7549SeGTDm8qyfd5zSDdmTLoQ7tewL6cstXMcjMr3ls1m3JlPWuiKB7PBGhPS
zmnw/9jTO6gPgg2mzNtcR7xYXcheKmp2Vza4ufh4zDCho4Kq1XYj9IDJt8Jt1l+5
Patny8IG/udc8uhQjfDI0Z8DHZf350Rm9fHPR50nEY3+LZDmdYe4t7GZg+mB+roC
0wsJlFgI/FWd++po3SC0qOi8k7TTD/P09czAZLqhm19ZLy8M4lzYl+oV5SJRN7Sq
ot1eb6M+fd0zrKaaOp31lP5LPjvMxrS5NomH07FduNpqLhfnx8SB
-----END CERTIFICATE-----
</cert>
<ca>
-----BEGIN CERTIFICATE-----
MIIDSzCCAjOgAwIBAgIUAttbprNMw3z1mTKWCKmqvLIEQ00wDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA5MTQzMTQ1WhcNMzAx
MjA3MTQzMTQ1WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAMmQHmv/feJnQVcAAkZHJm1J93VlRwyQSGJszo31
O0I5F0HHGlXz0BWujwQwjtit/U/NZNw3+lnP5s/wiWSCTomdO9zeXrj/qOwg9zly
URyPDLAlcK+HI0e2MsbH7JqJq92NwtgTmoWj+iMdnFAUG0Gb18MqT+3tTLOIF8Hc
5c9meotvBKKPB1XOwevTngCEF4MiZiCkAU+eve0W5+tQFhDdybMIZmVSEBHgp3c7
IyfQYs62rmjmBI0HXsthZDw+2KPw4w1zkD9MtexD/JMJaDHwz3biZyoVhucdbLNa
uxPlK1LdzHVXcuN58q0VTOYYpmQvh/rEhFTjObAWWRF8JXcCAwEAAaOBkDCBjTAd
BgNVHQ4EFgQU92QhHH9sVPh6UUHvnKaKZJzlN/YwUQYDVR0jBEowSIAU92QhHH9s
VPh6UUHvnKaKZJzlN/ahGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghQC21um
s0zDfPWZMpYIqaq8sgRDTTAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq
hkiG9w0BAQsFAAOCAQEAQUVJZVzk0eXOfA5qaHdYE29cW37ImVy9gMQGS0Mg6tT6
lwBQyXG9Gd/KvCG8WyzgEtuloHqknCRdLDb/N/X2oG5ib7ypCv4j+VeVOXCwAq2N
dhEJdQxMxDYrpcAMFpcr7oZA8jEQBtLG2sKRw/3MMwk2rBaKbTxk+SVnM7EOR5rV
plOc84Y+hZ2trQEUV9iussxWlr7GUbFeKaE8qYvVmqqoXxl9plt5VOgTnZHCNyN9
jxGnOdcKq3KERPVhwBwfNpfYDqLjKp+A8TTDkhjRm80ayeMCStYjVaH3ud+/jmn3
ye6/XUOrsn9aZhHBCN9pCJUsIRsGemTvQVH74tusew==
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
b3a5e1e4f76a13d2d496ca397897d6e4
644f28ac1fd6e1edba47aadbcdb1c692
5203f522ed18b66b5df5a0259bc9581d
5601c534f6a6f0c34939fc743553b5e7
140e2d1c467bfe5d99ad423a726f4b42
e760f0f0b660293866953b4fafdaf683
362c589a3db5feb3456d84a8f219521e
ee8dca14b3d0c56814da63f01a7ef89e
b4b3df8c6b85c051f5997b8b3360d7d2
6b51203b03ec07e66726d894791dfa90
a3ccf3703799ab1ba9905828b4f2baf8
5c13530607d6f227f13bb897785b2ccd
140bc95f7333037df6a65b6c96c8fcd6
d28226af3b1b084bffb92016312a4ca7
f6cca31f281b03d45ed7d13145837ba3
130ae15c5d868ba25f7ba702c6161f56
-----END OpenVPN Static key V1-----
</tls-auth>

107
src-local/instance/swarmlab-sec/vpn/test1.ovpn

@ -1,107 +0,0 @@
client
nobind
dev tun
remote-cert-tls server
remote 127.0.0.1 1194 udp
<key>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDicLw3VHI0jo+n
HJmGe6Q1HYQDov5GaLPcigf68G9WQdbEwASkasfT9QsqjteH/YfnuE9J+5DZBwKp
3zSjVC6+/DaWqL9yu8al89UHU70TNAD6hDyU+5Cc+4SmbWtYbkxA6TV+OsoBxj3j
aCeLhiVqc4bLFnr8zXsJYlr3GqTOZb4Oe3snSo+bynt2M31kciEMyeoLXHkxyJF+
DKDRNVqq5gv2tUERLVmYlVQ12O4MhvS0dyOQNqB/tGv5IJ7dtQyg4oQerwhiIbRY
TegyI+M6cXSLi/JwSuOfuxcMOScl6ttiLtuODE89KNL1gPKyOiKbb6mX0vYXUw/0
MoAjkph/AgMBAAECggEBANDBxBNya9NeNruGl1cvN6SsMF+17Zv1vROtwUusS8iG
7Dv5Fo6Jzu3udDvo8nTx3FBZT+fR36jlWKRJHdsRqgLyvFTK/60DxlCKabPWlHJW
uCw8qylifuDq1FEmgRdGoFAbb/COvFtEaxvykrqDko0AMp2afQoBWdO99ETpMFUC
JQq5SiO0ElzUN2+A2X4TToibVBOGut2RLf2KbDdhKXMjCDFhB/XYNmpdhqnAKy+5
RV9+uldO3zMi42Mq64W5PVL5GStBMCJMqiGlCYT3boXDtmXCVHQArfQk1FlMtNit
mjW/aFIjGc0xP4mzXTbmlaohS3oYOQFy6XDD3rEEm8kCgYEA+2VIcE5u43w+wlm4
sjn6Dp7YJuqnly4VwIM3Q34E/a7O4TP989+1UQoHLjRpV7taSoDb/GciGR1cqZ/o
KCtZh6lVmiZIG4GpHsSUqr0XeNOMQ8BrbJ/EYe3E89/eXd7mfozQX//jmM+O6YkT
t25QH8NQpGIeoutLQzBW8gqnDgsCgYEA5pZx1iEhCHVCaXwrKo44G0KJPkqwOG2q
6Wy5b0yqnLNc/iAgLR58bRmq0QAL/Z4UaVH5B8Wkv5OEmRMtFqKb+lVJGDza0ghr
Ry1VejVbYUZBjdEGtaQquSWEFxJVoiI3U6EJ3i8GwLBoMfD77IbMFzi2ySFvfBLq
66AE5PDjC90CgYEAwKT7nrwr830pZqt0gnc1LPECeMgGxy4UkyK6PakbT/8eH6tE
5xY+DqzdlcWqGAXFCiS27zNlCNPcR0v3jpixkejsZSUCyrlQjPhdaH1guEF8Ugrp
ByNjTRv0emHKOCrwfHeR0o73rQkY3dMiXcVV9xEoAeAC1Bv037byWaZaH8MCgYBZ
wkBn0ReRukty0mHfO+M9QUY5WEuGe7InESqR168mNm/BgHHl/lMDCRXEK5d/TxS0
9rLQwq/h3yOjjqJjiELdTGuaor2vOpW/7Da0zqZWlEmaUb6h4Fi9H4xuirWI2nbc
9/fmZDnlsgWtQxhdtw8lDu+gFYLXMmn99JlTIS3QhQKBgHUhZPKHe+EDbeWjKB3P
JKv22SgGlV/jp75myTJ6o+lMhe1LRm7MJbGDzbvyOsAkze/3USE2MXtMY+rtIhck
JBX/Nz41tJ7zVg8HeglFHwcNAltH8bFVcvBHmaB+xwVMOrkSNTs9aswvprdGgK6K
r89tyT1XrOVPNZZjmSspxuLv
-----END PRIVATE KEY-----
</key>
<cert>
-----BEGIN CERTIFICATE-----
MIIDUzCCAjugAwIBAgIQdYhN0MYDZO2c4Rw2e/PPBDANBgkqhkiG9w0BAQsFADAW
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yMDEyMDgxOTA1MzdaFw0yMzExMjMx
OTA1MzdaMBAxDjAMBgNVBAMMBXRlc3QxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA4nC8N1RyNI6PpxyZhnukNR2EA6L+Rmiz3IoH+vBvVkHWxMAEpGrH
0/ULKo7Xh/2H57hPSfuQ2QcCqd80o1Quvvw2lqi/crvGpfPVB1O9EzQA+oQ8lPuQ
nPuEpm1rWG5MQOk1fjrKAcY942gni4YlanOGyxZ6/M17CWJa9xqkzmW+Dnt7J0qP
m8p7djN9ZHIhDMnqC1x5MciRfgyg0TVaquYL9rVBES1ZmJVUNdjuDIb0tHcjkDag
f7Rr+SCe3bUMoOKEHq8IYiG0WE3oMiPjOnF0i4vycErjn7sXDDknJerbYi7bjgxP
PSjS9YDysjoim2+pl9L2F1MP9DKAI5KYfwIDAQABo4GiMIGfMAkGA1UdEwQCMAAw
HQYDVR0OBBYEFIo860tuHVO/sXqryAYRY4A2bZSvMFEGA1UdIwRKMEiAFPi9v+Jd
23t+3DYTUWuAryzTViTcoRqkGDAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQYIURcc1
+fjYVnwEs23YtPQH82P66yEwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQD
AgeAMA0GCSqGSIb3DQEBCwUAA4IBAQApW5eWsgINkORnd200eKY6Uy2AEIvYRJfI
uLEPadPZN9ufzB9BWZvaY70Oe/08clIUH7ll7sP3TBW+hfOENAv3pk+fm54j/jnS
WVASrrZb6tQg9f+khEexVs1PQDTY3AfedZ+s+g63jcDMqa5PVL1/rmSugAnHMTRG
C/3Nx9snI6RJn/b/EvPzdEtSsmj5HYLstCDog/EyxSMtmxFmvn6iFyDTwjqykwH6
eJMXuiEsEd89h9O0m/NPFjosRclCORt2PpZwDNcGkLmIB76ybjn8CDEyZO7XZxYM
OtGnh8apbR9FmTgjB6gZls59wAGfWWV62Kruuh9m5jJXfxKCxYf0
-----END CERTIFICATE-----
</cert>
<ca>
-----BEGIN CERTIFICATE-----
MIIDSzCCAjOgAwIBAgIURcc1+fjYVnwEs23YtPQH82P66yEwDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA4MTkwMjQ1WhcNMzAx
MjA2MTkwMjQ1WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBALHG6hwGiwoOn5zQCUZRxCfCR24SkIKxGgwPfWLD
tuhbJYKKCTGpebesfej9kspoRyaYFnJ1hICOn4K+R1D1hrbq0Wb9T3ywWTnAVYI/
ZxUzX790XO8xz6tnmrZR4uWwHR8T84hYdLvx2ZnhPxkW2g58ijfdF1chsCaJ+AjX
MZZyyfw98Dmw4lHCH10TEeuuCgunM1bWPSGKTxskx5bswCR7hs42ddLWg98W0f25
QK0yrimI4yhI6PKVmcQ9f7yOVh0iuk82v+zzEDiPVRNQWWPYuhaqx76V71LfTJIW
+H9CQ91sKDcNapkL9ceF3ZzB7aJYy8pGxL9WMhOT2GpTfBkCAwEAAaOBkDCBjTAd
BgNVHQ4EFgQU+L2/4l3be37cNhNRa4CvLNNWJNwwUQYDVR0jBEowSIAU+L2/4l3b
e37cNhNRa4CvLNNWJNyhGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghRFxzX5
+NhWfASzbdi09AfzY/rrITAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq
hkiG9w0BAQsFAAOCAQEANmCJGqJoH8BeSx4HCWrzB2s1NxuOPQdxgRzCrLoG29TI
j2iGCK3Uat5j1AuzY+tt1qUszft4Ulgaf8v6EkstHRhXL0Xt8/rERUpAy7ja1t14
VOBlHf49N1WXum603pX08Ri4z8qMhToQ9F+vhmcoaZosKAgNdNevmoE5k7roExzm
fSP9qwTX+3M85cxAcR5UPdffZOKIKMIfxF08v0+DoXKYqIW6S+qZFkGvH5SykkHe
mKgWFq3fslx3RYHEKg9xuaGXewDD15TOl4AWKUXz+WJw4TM2vozhMhnMIGdKhu+/
tvMeyTWsLkM9SDf0fmBYjqXRwS/2lGpXssIhDINlVw==
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
a8d4abd1d142fe5b9ee88efb478d61e7
004f6dad5069e430d51c7529f20fc8c2
c8472bf9fae194eee690dc624f690d80
53407f22c7e3731e8b3ba37618252d4d
a69dd841e5490dc21c665be24579eb22
635feeeb0b2a6b3ab1371dbc9d233f0e
2c8ed62f80c8f65f493dbe4cc4ee34e0
5515c8b09b2054765e5446e71901ccfa
1b50cd8c6dd554e32b14638dc5829118
6e5200172887f1d798738fe7b520ecba
18c6e4749d75a005f8a8b41af7ee788f
f5c7ad68fd35bb134560b4d2d31ab253
eb6e108f6e345fd553bc733ff1a327dd
55ae0d6fae884cd1c370257e66c6676c
df977aac8fa9b584091119807dbe6661
d05293cbe8c905092679aced47204824
-----END OpenVPN Static key V1-----
</tls-auth>

107
src-local/instance/swarmlab-sec/vpn/test2.ovpn

@ -1,107 +0,0 @@
client
nobind
dev tun
remote-cert-tls server
remote 127.0.0.1 1194 udp
<key>
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDjk7U8/A8vcYXx
Z3uCgwDsnfA4SjZywFRpef5vl2P/qugedPg7oBrxE9dIx8pXCKnpgwxLr4wLk322
JRPt4eAFFU6pmlJ3Ls40QM2cLXErXsV0XFicM7da5vyA9LhYESuAP/tsWQDL4+K7
WDJDZhFt4JUxkftZwxOw47LmQ763uli8W3B8rJLR4O/c/Sf99Zd4LfzhO/WwDoiV
YPLC8xjttL5/S04IRTd0MobIYQmD81I+xo7fy9uiiCVV9Gyfb2/U2DZaAkCs8jV/
pL4cZJ9j21A41b4SGj9cWSTqUSRZPg41lLq0zzTJR/fSniYoIQQeuQKXtsr1TyaM
t2uFA5+fAgMBAAECggEBANSIvMkQicoAFlxGDYXsfK9+LLsVK9ZtIihDY0iqNRyv
awoOqUleE+szYWo6FBDGKZDH73K7pmmlO9EgvYT63rFAne8tDXj7AF6yapNBqSAc
6QDrwWFXtxQxBn4UjhjJKDwlBNTCJklEMRpPmtlw+DQKeqsJr5i746beb9Q2TmXb
4mqYYTjVnM5fR578En8vmK8JzHvLm4sAJ9YpHf57dMiSRrAdEcf7ZEfEk5MpTRJl
XqI7b1hZ/qVnu3aX9/5SpnBWxXQ/MpxMif9V57Ty2B4NOmnbs87xb/6VEUMdQVG4
E+zqSR1hnCoCFTQ+Csz8Mc7/J3OM1AxltqhkEyDvmpECgYEA82DTWFCbK8tKWdXi
gfSlOmhZnYgNK2YClCfyAuHZt+kMV48CBc8XjqQqpdChmaZeG/TCzfr5r6Qp9fLf
XI/ow9Czm4i8hF97CFBOVlh9fsKKH43+NdaFr8aaIpxYJu+IMG9QStDMvxMpwlO0
5oMkfA2jeBjGZXE4Ky1c9LGMatcCgYEA72EZf0YgbZahZwaqjAX3p2fyrHYwbapv
/gVsV9dSho64DoYZCAX+jq282lbe1/gbg1xOH3+Mg4XHtLdrcvRQrLtBRx0o8mYs
AjM/rCCYxOaLAVCmkBsiZTKe8xQ0I6rt1gYnCGZ/UpdWNKH8ZYw0RUO8gtfCzZEz
AWuQTjD/4HkCgYEAt6FO1Uu8SIbSSoX+qV8Va8RgGWQVy7DkMTUSfOo7g2/rSAU2
2XsvowhqxUFtLKlCSIWclh3PVp7eqhveO9C5J0XIvomk85u3EMbG1I9f4MyXusdA
Dw8VP1Lx6Ttdp8MDVsgmJMz2LxUeZOkTjPlWBeOke3D2AIQ0hR9tC5MLB3ECgYEA
2B+Qx6pm6MqQ2tXX8SgKGujs3uyueLTi/DOlSAGuDrKYVvSXcPkIhYUy9uZruA3X
uVgDaMjd8nk8f1sC9fzDQdCm9S/Mol3A6hOfLycXBt8nLX7Fg2IcQcXcYJcjI/jV
VuCjKSBxX/4m5MpDeOOG5epsLq3iwXqQ1H1rAk2XF/ECgYEAwZeFQfo75wnkcq5i
5diN2VhIYZDoFbG31Ds4Bsy4LvY/FugkgxAYR+7tFzc+yPxVI6apJkV1J94q2Szr
BgSWMhw5csUnHQFVDFt4TCTRXjlY8OPZIHx+If6+03bxXan8jUKqAhkvhTQTMzdw
2gcNdVfMS5ab0IvlkZouk57WyAs=
-----END PRIVATE KEY-----
</key>
<cert>
-----BEGIN CERTIFICATE-----
MIIDVDCCAjygAwIBAgIRAPlgkZfgLpC3PT+FvjQq4KwwDQYJKoZIhvcNAQELBQAw
FjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA4MTkyODE4WhcNMjMxMTIz
MTkyODE4WjAQMQ4wDAYDVQQDDAV0ZXN0MjCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAOOTtTz8Dy9xhfFne4KDAOyd8DhKNnLAVGl5/m+XY/+q6B50+Dug
GvET10jHylcIqemDDEuvjAuTfbYlE+3h4AUVTqmaUncuzjRAzZwtcStexXRcWJwz
t1rm/ID0uFgRK4A/+2xZAMvj4rtYMkNmEW3glTGR+1nDE7DjsuZDvre6WLxbcHys
ktHg79z9J/31l3gt/OE79bAOiJVg8sLzGO20vn9LTghFN3QyhshhCYPzUj7Gjt/L
26KIJVX0bJ9vb9TYNloCQKzyNX+kvhxkn2PbUDjVvhIaP1xZJOpRJFk+DjWUurTP
NMlH99KeJighBB65Ape2yvVPJoy3a4UDn58CAwEAAaOBojCBnzAJBgNVHRMEAjAA
MB0GA1UdDgQWBBQ103EN2Un0bYqb9Li035IPWpu3pDBRBgNVHSMESjBIgBT4vb/i
Xdt7ftw2E1FrgK8s01Yk3KEapBgwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0GCFEXH
Nfn42FZ8BLNt2LT0B/Nj+ushMBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQE
AwIHgDANBgkqhkiG9w0BAQsFAAOCAQEAl61A21JJK7fXWyXy5ldlu8hMIOzAMj6S
9oXOga0LoqRvXCvWG5zGepFmUeMEz1AtcmialXfJVwzTJH5oRR8TqQ2wwJM1uhtw
6iI/0fqI/pxKE29Y2IcS+qgz7fnrwdCJ2FADnc9OEfSfADNthMWmZMKARgf1+Pc9
3caAuy13su8aKE6va8na3S3tfPlCmFCEG9r+f1mAWlJRXfI25PcCv/8D/5jyIHrb
bc90gJqSe6p4m5oclB4YT+x81PXliBX+I5OEkUFD5b2OdprsCALzfmuxoUAKWM/C
XfTBdrsIrPtAIccJ6u7rAo5lhrjDZfg3ORdEMbQci05VfRY668tUKA==
-----END CERTIFICATE-----
</cert>
<ca>
-----BEGIN CERTIFICATE-----
MIIDSzCCAjOgAwIBAgIURcc1+fjYVnwEs23YtPQH82P66yEwDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA4MTkwMjQ1WhcNMzAx
MjA2MTkwMjQ1WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBALHG6hwGiwoOn5zQCUZRxCfCR24SkIKxGgwPfWLD
tuhbJYKKCTGpebesfej9kspoRyaYFnJ1hICOn4K+R1D1hrbq0Wb9T3ywWTnAVYI/
ZxUzX790XO8xz6tnmrZR4uWwHR8T84hYdLvx2ZnhPxkW2g58ijfdF1chsCaJ+AjX
MZZyyfw98Dmw4lHCH10TEeuuCgunM1bWPSGKTxskx5bswCR7hs42ddLWg98W0f25
QK0yrimI4yhI6PKVmcQ9f7yOVh0iuk82v+zzEDiPVRNQWWPYuhaqx76V71LfTJIW
+H9CQ91sKDcNapkL9ceF3ZzB7aJYy8pGxL9WMhOT2GpTfBkCAwEAAaOBkDCBjTAd
BgNVHQ4EFgQU+L2/4l3be37cNhNRa4CvLNNWJNwwUQYDVR0jBEowSIAU+L2/4l3b
e37cNhNRa4CvLNNWJNyhGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghRFxzX5
+NhWfASzbdi09AfzY/rrITAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq
hkiG9w0BAQsFAAOCAQEANmCJGqJoH8BeSx4HCWrzB2s1NxuOPQdxgRzCrLoG29TI
j2iGCK3Uat5j1AuzY+tt1qUszft4Ulgaf8v6EkstHRhXL0Xt8/rERUpAy7ja1t14
VOBlHf49N1WXum603pX08Ri4z8qMhToQ9F+vhmcoaZosKAgNdNevmoE5k7roExzm
fSP9qwTX+3M85cxAcR5UPdffZOKIKMIfxF08v0+DoXKYqIW6S+qZFkGvH5SykkHe
mKgWFq3fslx3RYHEKg9xuaGXewDD15TOl4AWKUXz+WJw4TM2vozhMhnMIGdKhu+/
tvMeyTWsLkM9SDf0fmBYjqXRwS/2lGpXssIhDINlVw==
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
a8d4abd1d142fe5b9ee88efb478d61e7
004f6dad5069e430d51c7529f20fc8c2
c8472bf9fae194eee690dc624f690d80
53407f22c7e3731e8b3ba37618252d4d
a69dd841e5490dc21c665be24579eb22
635feeeb0b2a6b3ab1371dbc9d233f0e
2c8ed62f80c8f65f493dbe4cc4ee34e0
5515c8b09b2054765e5446e71901ccfa
1b50cd8c6dd554e32b14638dc5829118
6e5200172887f1d798738fe7b520ecba
18c6e4749d75a005f8a8b41af7ee788f
f5c7ad68fd35bb134560b4d2d31ab253
eb6e108f6e345fd553bc733ff1a327dd
55ae0d6fae884cd1c370257e66c6676c
df977aac8fa9b584091119807dbe6661
d05293cbe8c905092679aced47204824
-----END OpenVPN Static key V1-----
</tls-auth>

110
src-local/instance/swarmlab-sec/vpn/testsec1.user

@ -1,110 +0,0 @@
client
nobind
dev tun
comp-lzo
resolv-retry infinite
keepalive 15 60
remote-cert-tls server
remote 192.168.1.9 1194 udp
float
<key>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDNBPNW1mjZPC53
FPVwAD576uALJO/YTJEkEofKjqe3ju8TqXC7Y9ycax27pAfImpbkP6bzyvrKHmUx
dBaZp6vYeP2W30LnSm8O7+2H3ntJskziIhKP/hCBRbC80H9QruIlm0EIvAU9dwHt
rqOTViJkUuEdQHFG6ITmT9INpYeEHzlfZYkL/oSMG0+0xEF6t9nTdDEdw70TjvD5
qSnBh6Y1JOrTVdjrrGIGzLRrMOVr1dCECMsZjgNFg8QHSpsdFQejz+0KWBHkMnxU
aWwsr1lONttdxMFRdNnugKg60mr79+tjXYRFwSY0L7tpd4LJiRi8V53Mfxv0Nsyu
so/j8b/LAgMBAAECggEBAKSjphqFIjvZZWMBtLvVplfy3Sp15hnoGuJB80RJ3Qu+
P+WlOz9wyVffeUgXSJzi7+up5hN/XHh1gkP9eqy4BntXZiYDcoG0t4ziRfjHRHCB
O9aZEBkMKQr3ASAPuz36wub6T3aJLxgV+rl5dii6kfHI0Lih6JXN4fPmA8QrurDw
xgXow7Nw3pNm/Rj/kZ+z4qvtnhoSq7gO1nUvSWPZ/2ADVxGONjKOHunKDFibVlac
9SJDGiFkT5xy3Isq00GChW04b2caof6cl4eRMuYrp4IdNXgFn/I3xOV2s9OnFj0g
o3qBFrOUTTbyXE1XfYyB/V7iGGDkFyLAoqAxHvTFD1kCgYEA7MQjZ/uvoOujFrHo
bbcYm1MLeE1ReLNRkTFlZiLTf0HZxuEQyevv+Vb3RavfDlmovxMl8SJXQVrBLgsY
uvDqIaTGy3e9luGCWdAvWA4/epV7T4NCUDHmimDgOR5OLdQ7S1I2JY7r+OPC6C/Y
ISI/V345p57JLT4WHjzmgHcqOOUCgYEA3ayYcmwFRhFmX5Wq+3v0akaZ3ruEQsvf
dnCWinviNKXj6UFF+qhpX8VpYzJK2HodGF8WNMYT/ObmhJ6iX6wc2w2OXA7CEe/Y
kg/8y/EIEFkCuMxJOpdPWjRsYqDGjvYAJc2+DudEE+lyRZby6SMZjQQUXPv7NXUq
uCjERFur+u8CgYB4IxXsH1OAjdBVJbTQZwV/WuYJBwJ+Ak8zIyNWbflvKxS7y1vf
eW5s0Gnr2kf2Whw7yBWKg2hO6yP2nv7PbIsAw0Fz4LA8rPSdaft77M7c/phxQiMV
2hwmvv1HPk9hBb2IfJCpAhpOUhOGCTDbrysA1DWhDfr6j/RdJ322VcEA2QKBgHyC
tIIYkIHBxjnMLGTjQ+7pxwWnV+vY7aRuKvCQEwe1YiWjRzY6oC1uCfrwxb+AH5WP
2z47QADehP5ayCNq3i5gF+U3WOSQTpoEJt86fGgKRxAblso1MRoetf5UBhNIs96I
CMgAOGnixw+1cK1ozLI7Z2CvHHPzYtJb+5nVz+y7AoGBAKSQ54Pj4jhg1cN3j4wg
Al3DAw0hAYpmx2VfLZTdEUnzecXPoxH5Yps7UF45NLCSac5NjLigdMO5NPyxuMBz
oZGCO4BAdl48T7UbXDrtr3koOhWil7iwJzZut2jrWzfdGPdxsltg0pIvVcq49o+7
94I6xEE2fGbhVd11gCjwwlWO
-----END PRIVATE KEY-----
</key>
<cert>
-----BEGIN CERTIFICATE-----
MIIDVjCCAj6gAwIBAgIQAeImdq2eZMkLMaR1z6xy3TANBgkqhkiG9w0BAQsFADAW
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yMDEyMTYxNDEwNTdaFw0yMzEyMDEx
NDEwNTdaMBMxETAPBgNVBAMMCHRlc3RzZWMxMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAzQTzVtZo2TwudxT1cAA+e+rgCyTv2EyRJBKHyo6nt47vE6lw
u2PcnGsdu6QHyJqW5D+m88r6yh5lMXQWmaer2Hj9lt9C50pvDu/th957SbJM4iIS
j/4QgUWwvNB/UK7iJZtBCLwFPXcB7a6jk1YiZFLhHUBxRuiE5k/SDaWHhB85X2WJ
C/6EjBtPtMRBerfZ03QxHcO9E47w+akpwYemNSTq01XY66xiBsy0azDla9XQhAjL
GY4DRYPEB0qbHRUHo8/tClgR5DJ8VGlsLK9ZTjbbXcTBUXTZ7oCoOtJq+/frY12E
RcEmNC+7aXeCyYkYvFedzH8b9DbMrrKP4/G/ywIDAQABo4GiMIGfMAkGA1UdEwQC
MAAwHQYDVR0OBBYEFPMNN8qLUE+RG3PH77wVA9ENtmKoMFEGA1UdIwRKMEiAFL67
pDwkJ3ttUt1dql5aUVP4IphdoRqkGDAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQYIU
csL+q0+FLRphy48kqqtVmOim5QEwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0P
BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBAQBdLTltnQylImp33M0XhHE2cXN0GHR5
2lTUzFfbprM8f7//Jnj+HMNYCwmzOa41B0x2GmdO1C1FRt1Kmz2AknwZFsRl+YoD
+Qovj2XlJp2EVs1s88amsaDghCD+VguDiavuAPyub5M/i63f8gjkZ3VStg+2aV2m
1xPN1BUopgWCN2V0zcehZ+f9owjWVuHZLtTSGPJf0w3A3JWtNE+5pNwIfbn8k+dv
pD/4LLkiCoeA3EWlthubGDJY3C/zRqCOdsputgOoVZ1DS3Um3zC6wFrY5qWPpqKG
TpcaEXQihuWajKTgzQ2sT3EpDfhW9QdG1vLybNW4SqdI4/GHsYU/Xtz7
-----END CERTIFICATE-----
</cert>
<ca>
-----BEGIN CERTIFICATE-----
MIIDSzCCAjOgAwIBAgIUcsL+q0+FLRphy48kqqtVmOim5QEwDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjE2MTQwNDU4WhcNMzAx
MjE0MTQwNDU4WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBANGsJopYf1Nq9B5lDoJQFQULQh6c2rnHZS+qL04+
cYAgm/Gb45Ow5wZG3WZ9G1ksO/H0+cormHoYdefNbzmH7K9jlfDzIxqWv3nKu3WN
towbzimuLGA2+uRsLR69jBzP41NVyzquw2bnKTmdPak2Igjo24NQ6oXNssMve6HX
zMzoc+j+8f+sDU3eJ28wBd/sO4xRf9O/UtiwV9+dQF9J456lnHJoWVTgJA9ffdPc
OX0eTtlCH9Q/nlWZs6pRXZ5fuZOPMi60Ebu3Jmec3p5RRkIVPa+XoG4HaxtaNOde
kWv3lO0o+DdpkNYmGs+b6e+zyBbiqv6oaiX7DBugG60Bm8MCAwEAAaOBkDCBjTAd
BgNVHQ4EFgQUvrukPCQne21S3V2qXlpRU/gimF0wUQYDVR0jBEowSIAUvrukPCQn
e21S3V2qXlpRU/gimF2hGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghRywv6r
T4UtGmHLjySqq1WY6KblATAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq
hkiG9w0BAQsFAAOCAQEABNPKuzm19OtcfjdjYe1kC43f9H/2d/gzecnrryefGKfI
0LfQYgPPZ42jTI17GAhWxIFh8rBKeQPRntkS+khBLrDbcNivPCpU6FJWx9WGiqyJ
he/q3zMtaJowKeKBw7MAD4DsWq9j9ut8CdsJa/RhIwMe1QET0BfzmrnPxOqTM68b
0lh9xHxb7dKJCJj6+2rxpnYeh/sZ/DCZuV8resxSOLdCdwlgtuhsJVy094gdgg4w
iqcAIDi8ZQmdV0lUSM63GkjRLNPrwFUn5URDliSJ3zBJZaWnz2/7/5wJhs7rrPlh
HJ3NggoBlmyXcTRABKiKavH7e+Vap1Nhzy3VpzE/aw==
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
763e227713a0f9f0c66fc3aac17507e8
cf4e1668d1c417d57f8ba854c6fea7a5
f96995243f17dcaa0bbd75978e7064d0
602379b06dc955376a97186a2339051b
feec13a3532f4c6b7ca093dae0e2d03e
022b968e360f38127432b9c5724c7931
ad0eb2642d85b6cec0cd4de5d423e13b
9de553ad039cf28dc89e024a67f27590
de56e62ce8396f6644b892f45915c38d
d0dcf018c745587332cfe89a193d465b
6c9d4a2fb8e710862f918efd21945898
53036f0a1814b78d943d37f265fa2272
b5bd1f876c7fd8c634ef4581918966d4
77d789ece3aacf6d74a5bb52146bee09
56a012def292a07abbf9a5131883a9a5
a63feffc680e4f89ea8d0dc2681be2fd
-----END OpenVPN Static key V1-----
</tls-auth>

109
src-local/instance/swarmlab-sec/vpn/testsec2.user

@ -1,109 +0,0 @@
client
nobind
dev tun
comp-lzo
resolv-retry infinite
keepalive 15 60
remote-cert-tls server
remote 192.168.1.9 1194 udp
float
<key>
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcPvwkSyM4mydF
4BPiWKl8n0UprWSVgXwZZb68V+syegPGwg2Y4nubB0niMRy1lmlBHz8xE4PqsOBe
ybFQo+JdLfPPtIAzuQqB230xuuww1GkPts5l/BeHTRXPB4y3my3Jxr+TnT/gn543
BCf65GkSAZp46pUGcLVYEk1kBim9tvaVKh10fL/WMCauGhlqkKSMBw5k9ACpYCmS
MNEdhSOyl9vZ3rBhvROq8KyzCLCFgi5DsGQcZscDVQsqd/eAUwx+9ODFzO8tHfs4
tLVb6AylIUxVzVCtVw/H0JuNcq272VS6QbHJ7i2tCwpV2UT2SWnJjvaI2P4dtsG+
QCR7Z/bJAgMBAAECggEAKAPdha6NGKS/zuc2VaJsMLMzOq5BHxSmemrM66VBmysl
8n+hPsyvTmxVlR39LFTGjMljjsQP7Jz0NuSILbGI2AsYR/1waXVOHmfFaDqg3QJK
kEtTVp4lnDR6KOIjQ9ySxh0xA13HlEUL1s0PgnrrSBU4fo2IQ+JIYFb67phcDxaP
fPmBRTwg//NAuC/YKmORFkDw1f5DyTo0SlXFbIxtC0Y6NfUiltPEZKf8BOGUHq7l
o9RssKvmycxLC6GieajSRQyZVyou6mEVw/kGqz+08M5IHisjzfVIIRNO+RCPWbEL
n2QSxTvWi/lK2iliSYYkQhxbplsr0x8cL1l+Qq2oMQKBgQD3fV2dDuEfJWZO53Nn
GwNrmUwa8vb78GqLkV2yxOB8BrsgqvmQAHrHc+2kzbr6H4uKCQSXj8BgGfzZ84LL
pHdSZa5/GomWqJgT3QNhDdXYPPnb0W+ppJmCivebOY/9bHtCAxHLYsED/S6Fsfjh
1fmVrp8i+JLjyGY+/Nl1Yq/pjQKBgQDj0cuM31qFUcZS8JXgQErdBKkgJSU05LDI
4lCedSfFPX9CrARwrt282BTW/He5MAqLJQTtOi9YyuCXYlR6dNL6XWk+/qDu8Nb/
m9/iae1OhK4CZ/V22cLcPgrQzgPrMWjWfBycb8NoxZnvvkB7fNajUP73sIyTaiu9
PznM6c7NLQKBgQCEGZlvLLMC8e6C7U2O2j9gHmod9FPatD/akVPnCOkdqmYVkM02
jNr8PSe6kMldmprbqeaWk3dGlHh/SVgmJHpAM+AJHfwUu5a4+35DPqRHEHz5VPf6
H86EfHKfmwD9bvr3iDXmTqbh3zEG0bEbsh/PQm7UtsOI672Pn1zfKDbnPQKBgQDU
M3IZwWGblNPaJWY0/y28OL8fxfmmDu3r74GQVye4PNPw0jFAlGDNqaefqIIL6Iep
m82++ddoKXCREXIGrhJmSePiXWKhrYtVg2dCidAUttkuPI8TKTqr0s5YN8zGobs5
LVmpDSFC0evUt61wWJPEg4k6RSRrmxUqrV21VILf8QKBgQDcqyFY0PJgy7V2v5fm
dyRaAiICEjkfSuV9a6chpiQKExz/mx+sV4Bo/wfkP5xoQXl2/nL8QYDe+JzUAw/D
cfSU79bYYdUgrBWYs+lPRxcGpcn4OKJsn9m571cTv9Xfk8l3FWCoVDU7UJal9Wrg
S53oI+8MXNfFg6jtcAOhzkrraQ==
-----END PRIVATE KEY-----
</key>
<cert>
-----BEGIN CERTIFICATE-----
MIIDVjCCAj6gAwIBAgIQbxDqI+aXsxBna8yBpCLcSDANBgkqhkiG9w0BAQsFADAW
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yMDEyMTYxNDI1MjRaFw0yMzEyMDEx
NDI1MjRaMBMxETAPBgNVBAMMCHRlc3RzZWMyMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA3D78JEsjOJsnReAT4lipfJ9FKa1klYF8GWW+vFfrMnoDxsIN
mOJ7mwdJ4jEctZZpQR8/MROD6rDgXsmxUKPiXS3zz7SAM7kKgdt9MbrsMNRpD7bO
ZfwXh00VzweMt5styca/k50/4J+eNwQn+uRpEgGaeOqVBnC1WBJNZAYpvbb2lSod
dHy/1jAmrhoZapCkjAcOZPQAqWApkjDRHYUjspfb2d6wYb0TqvCsswiwhYIuQ7Bk
HGbHA1ULKnf3gFMMfvTgxczvLR37OLS1W+gMpSFMVc1QrVcPx9CbjXKtu9lUukGx
ye4trQsKVdlE9klpyY72iNj+HbbBvkAke2f2yQIDAQABo4GiMIGfMAkGA1UdEwQC
MAAwHQYDVR0OBBYEFGJOBec0w4MboMr2Uf5xxA+j0nubMFEGA1UdIwRKMEiAFL67
pDwkJ3ttUt1dql5aUVP4IphdoRqkGDAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQYIU
csL+q0+FLRphy48kqqtVmOim5QEwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0P
BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBAQBFXrVG4BKJcCldPzSnaLb7C5FM7Qj3
bNWWa8H9XJqXemZS3vgTXTEM3PlRMV+Cwi+tEYuZcGxGl9Fvh8c+zCGgGm4/gdEc
F5mCP7Tg4rXRD3+NAUBkdUgwWyX7+vWrcse0ij1we1fbkKKZX06nWWVkSIFWpDAf
/37WdAELUZiRgH2WaNL9/wc+w772ZidNHrC9MKoH7LDBlodFVbTdZ8vFf6Y4U8sQ
Uk87yZy3HUuKVNvAmZIlN0l6E50/P4gBn11fFKp0vylnUss/f7Twa9pRjK1LQLsU
a1hHyKOqTbT004ZbpS2QS9y8GTXDvPTZS79l0+eahxeOuxh4CjxsTtj9
-----END CERTIFICATE-----
</cert>
<ca>
-----BEGIN CERTIFICATE-----
MIIDSzCCAjOgAwIBAgIUcsL+q0+FLRphy48kqqtVmOim5QEwDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjE2MTQwNDU4WhcNMzAx
MjE0MTQwNDU4WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBANGsJopYf1Nq9B5lDoJQFQULQh6c2rnHZS+qL04+
cYAgm/Gb45Ow5wZG3WZ9G1ksO/H0+cormHoYdefNbzmH7K9jlfDzIxqWv3nKu3WN
towbzimuLGA2+uRsLR69jBzP41NVyzquw2bnKTmdPak2Igjo24NQ6oXNssMve6HX
zMzoc+j+8f+sDU3eJ28wBd/sO4xRf9O/UtiwV9+dQF9J456lnHJoWVTgJA9ffdPc
OX0eTtlCH9Q/nlWZs6pRXZ5fuZOPMi60Ebu3Jmec3p5RRkIVPa+XoG4HaxtaNOde
kWv3lO0o+DdpkNYmGs+b6e+zyBbiqv6oaiX7DBugG60Bm8MCAwEAAaOBkDCBjTAd
BgNVHQ4EFgQUvrukPCQne21S3V2qXlpRU/gimF0wUQYDVR0jBEowSIAUvrukPCQn
e21S3V2qXlpRU/gimF2hGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghRywv6r
T4UtGmHLjySqq1WY6KblATAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq
hkiG9w0BAQsFAAOCAQEABNPKuzm19OtcfjdjYe1kC43f9H/2d/gzecnrryefGKfI
0LfQYgPPZ42jTI17GAhWxIFh8rBKeQPRntkS+khBLrDbcNivPCpU6FJWx9WGiqyJ
he/q3zMtaJowKeKBw7MAD4DsWq9j9ut8CdsJa/RhIwMe1QET0BfzmrnPxOqTM68b
0lh9xHxb7dKJCJj6+2rxpnYeh/sZ/DCZuV8resxSOLdCdwlgtuhsJVy094gdgg4w
iqcAIDi8ZQmdV0lUSM63GkjRLNPrwFUn5URDliSJ3zBJZaWnz2/7/5wJhs7rrPlh
HJ3NggoBlmyXcTRABKiKavH7e+Vap1Nhzy3VpzE/aw==
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
763e227713a0f9f0c66fc3aac17507e8
cf4e1668d1c417d57f8ba854c6fea7a5
f96995243f17dcaa0bbd75978e7064d0
602379b06dc955376a97186a2339051b
feec13a3532f4c6b7ca093dae0e2d03e
022b968e360f38127432b9c5724c7931
ad0eb2642d85b6cec0cd4de5d423e13b
9de553ad039cf28dc89e024a67f27590
de56e62ce8396f6644b892f45915c38d
d0dcf018c745587332cfe89a193d465b
6c9d4a2fb8e710862f918efd21945898
53036f0a1814b78d943d37f265fa2272
b5bd1f876c7fd8c634ef4581918966d4
77d789ece3aacf6d74a5bb52146bee09
56a012def292a07abbf9a5131883a9a5
a63feffc680e4f89ea8d0dc2681be2fd
-----END OpenVPN Static key V1-----
</tls-auth>

69
src-local/llo/new.js

@ -147,7 +147,6 @@ app.get('/getservicesinfo', (req, res, next) => {
RES.instance = req.query["instance"] RES.instance = req.query["instance"]
var services_path = './instance/'+RES.instance var services_path = './instance/'+RES.instance
console.log(services_path) console.log(services_path)
var showexec = 'ls -l /'
if (fs.existsSync(services_path)) { if (fs.existsSync(services_path)) {
var found = 'yes' var found = 'yes'
RES.error = false RES.error = false
@ -164,6 +163,47 @@ app.get('/getservicesinfo', (req, res, next) => {
}); });
app.get('/getservicesstatus', (req, res, next) => {
var RES = new Object();
RES.instance = req.query["instance"]
var showexec = `docker ps --format '{"Names":"{{ .Names }}", "Status":"{{.Status}}"}' | jq . -s `
exec(showexec, (err, stdout, stderr) => {
if (err) {
console.error(`exec error: ${err}`);
return;
}
if (stdout) {
var string = stdout.toString()
var datajson = JSON.parse(string);
console.log(JSON.stringify(datajson.length))
console.log(JSON.stringify(datajson))
var extenderror = new RegExp(RES.instance);
var found = 'no';
for(var i = 0; i < datajson.length; i++) {
var servicename = datajson[i].Names
console.log(JSON.stringify(servicename))
if(extenderror.test(servicename)){
found = 'yes';
}
}
RES.error = false
RES.error_msg = "ok"
RES.test = datajson;
RES.data = found;
res.json(RES)
}else{
var found = 'no'
RES.error = false
RES.error_msg = "ok"
RES.data = found;
res.json(RES)
}
});
});
let child = []; let child = [];
var ppid = '' var ppid = ''
io.on('connection', function(socket) { io.on('connection', function(socket) {
@ -204,33 +244,6 @@ io.on('connection', function(socket) {
}); });
}); });
socket.on('start1', () => {
//const childstart = spawn('/bin/sh ./swarmlab-sec/hybrid//start.sh');
const start = spawn('/bin/sh ./start.sh', {
stdio: 'pipe',
shell: true,
cwd: './swarmlab-sec/hybrid'
});
start.stdout.on('data', function (data) {
var n = {}
n.data = data.toString()
io.emit('message_out', n);
});
start.stderr.on('data', function (data) {
var n = {}
n.data = data.toString()
io.emit('message_err', n);
});
start.on('close', function (code) {
var n = {}
n.data = code
io.emit('message_close', n);
});
console.log('hi from server');
});
socket.on('stop', (service) => { socket.on('stop', (service) => {
var services_path = './instance/'+service+'/'+service var services_path = './instance/'+service+'/'+service

4
src/App.vue

@ -11,12 +11,12 @@
<a class="nav-link" href="#" <a class="nav-link" href="#"
@click="hybrid('services')" @click="hybrid('services')"
> >
Manage Your Services</a> Manage_Your_Lab_Instances</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#" <a class="nav-link" href="#"
@click="hybrid('bootstrap')" @click="hybrid('bootstrap')"
>myNetwork</a> >Containers</a>
</li> </li>
<li class="nav-item my-auto"> <li class="nav-item my-auto">
<a class="nav-link navbar-brand mx-0 d-none d-md-inline" href="">Hybrid</a> <a class="nav-link navbar-brand mx-0 d-none d-md-inline" href="">Hybrid</a>

38
src/components/mynetwork/availableservices.vue

@ -71,7 +71,7 @@
<div slot="actionsenabled" slot-scope="props"> <div slot="actionsenabled" slot-scope="props">
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
<button <button
v-if="testactionrowindex[props.rowIndex] == props.rowIndex" v-if="testactionrowindex[props.rowData.swarmlabname] == props.rowIndex"
class="ti-thumb-up btn btn-info btn-sm" class="ti-thumb-up btn btn-info btn-sm"
title="Stop Lan_Instance" title="Stop Lan_Instance"
round round
@ -79,7 +79,7 @@
> >
</button> </button>
<button <button
v-if="testactionrowindex[props.rowIndex] == props.rowIndex && teststatusindex[props.rowIndex] != props.rowIndex" v-if="testactionrowindex[props.rowData.swarmlabname] != props.rowIndex && testactionrowindex[props.rowIndex] == props.rowIndex"
class="ti-thumb-down btn btn-secondary btn-sm" class="ti-thumb-down btn btn-secondary btn-sm"
title="Stop Lan_Instance" title="Stop Lan_Instance"
round round
@ -298,6 +298,20 @@ export default {
}, },
async checkactionrowindex(data,index){ async checkactionrowindex(data,index){
if(this.testactionrowindex[index] == index){ if(this.testactionrowindex[index] == index){
var obj = {}
obj.token = this.token
obj.instance = data.swarmlabname
var res1 = await store.dispatch('pipelineLLO/getservicesstatus', obj)
console.log('res8 all '+JSON.stringify(res1))
if(res1.data.data == 'yes'){
Vue.set(this.testactionrowindex, data.swarmlabname, index)
console.log('res8 YES '+JSON.stringify(res1.data))
}else{
console.log('res8 NO '+JSON.stringify(res1.data))
Vue.delete(this.testactionrowindex, data.swarmlabname)
}
console.log('is set '+index) console.log('is set '+index)
}else{ }else{
console.log('not set '+index) console.log('not set '+index)
@ -307,10 +321,17 @@ export default {
obj.instance = data.swarmlabname obj.instance = data.swarmlabname
var res = await store.dispatch('pipelineLLO/getservicesinfo', obj) var res = await store.dispatch('pipelineLLO/getservicesinfo', obj)
if(res.data.data == 'yes'){ if(res.data.data == 'yes'){
var obj1 = {} console.log('resi YES '+JSON.stringify(res))
obj1.index = index
Vue.set(this.testactionrowindex, index, index) Vue.set(this.testactionrowindex, index, index)
//console.log('resi yes '+JSON.stringify(this.testactionrowindex)) var res1 = await store.dispatch('pipelineLLO/getservicesstatus', obj)
console.log('res8 all '+JSON.stringify(res1))
if(res1.data.data == 'yes'){
Vue.set(this.testactionrowindex, data.swarmlabname, index)
console.log('res8 YES '+JSON.stringify(res1.data))
}else{
console.log('res8 NO '+JSON.stringify(res1.data))
Vue.delete(this.testactionrowindex, data.swarmlabname)
}
//console.log('resiiiiiiii yes '+JSON.stringify(this.testactionrowindex[index])) //console.log('resiiiiiiii yes '+JSON.stringify(this.testactionrowindex[index]))
}else{ }else{
//Vue.delete(this.testactionrowindex, index) //Vue.delete(this.testactionrowindex, index)
@ -380,16 +401,19 @@ export default {
focusCancel: true, focusCancel: true,
confirmButtonText: 'Yes, Delete it!' confirmButtonText: 'Yes, Delete it!'
}) })
Vue.nextTick( () => this.$refs.vuetable.refresh())
}else if(action == 'run-item' ){ }else if(action == 'run-item' ){
console.log('RUN 1 '+ JSON.stringify(data.swarmlabname)) console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))
// run on mytable.vue // run on mytable.vue
this.$root.$emit('hybrid_start_instance', data.swarmlabname) this.$root.$emit('hybrid_start_instance', data.swarmlabname)
Vue.set(this.teststatusindex, index, index) Vue.set(this.testactionrowindex, data.swarmlabname, index)
Vue.nextTick( () => this.$refs.vuetable.refresh())
}else if(action == 'down-item' ){ }else if(action == 'down-item' ){
console.log('RUN 1 '+ JSON.stringify(data.swarmlabname)) console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))
// run on mytable.vue // run on mytable.vue
this.$root.$emit('hybrid_stop_instance', data.swarmlabname) this.$root.$emit('hybrid_stop_instance', data.swarmlabname)
Vue.delete(this.teststatusindex, index) Vue.delete(this.testactionrowindex, index)
Vue.nextTick( () => this.$refs.vuetable.refresh())
} }
}, },
refreshVuetable() { refreshVuetable() {

2
src/components/mynetwork/mytable.vue

@ -419,6 +419,8 @@ export default {
async message_close(val) { async message_close(val) {
console.log(" socket close "+JSON.stringify(val)) console.log(" socket close "+JSON.stringify(val))
this.$root.$emit('hybrid_log_in',val) this.$root.$emit('hybrid_log_in',val)
// refresh table mynework.vue
this.$root.$emit('hybrid_refresh_table')
} }
}, },

26
src/store/modules/create_pipelineLLO.js

@ -130,6 +130,32 @@ export default {
} }
} }
}, },
async getservicesstatus({commit,rootGetters}, value) {
console.log('value '+JSON.stringify(value))
try {
var token = value.token
var params = {
instance: value.instance
}
var options = {
params: params,
headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },
};
var p = await axios.get('https://localhost:3000/getservicesstatus',options);
return p
} catch (e) {
if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){
//console.log('error '+JSON.stringify(e))
window.location.href = 'https://api-login.swarmlab.io:8089';
}else{
var R = {
ERROR_str: e,
ERROR: 'yes'
}
return R;
}
}
},
async getswarmlabinfo({commit,rootGetters}, value) { async getswarmlabinfo({commit,rootGetters}, value) {
try { try {
var token = rootGetters['pipelineLLO/gettoken'] var token = rootGetters['pipelineLLO/gettoken']

79
viwsession/session1

@ -13,8 +13,8 @@ badd +147 /data/appl/ok/swarmlab-hybrid-agent/src-local/llo/new.js
badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork/mytable.vue badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork/mytable.vue
badd +50 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork/dockerservices.vue badd +50 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork/dockerservices.vue
badd +43 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork/availableservices.vue badd +43 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork/availableservices.vue
badd +0 /data/appl/ok/swarmlab-hybrid-agent/src/App.vue badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork.vue
badd +0 /data/appl/ok/swarmlab-hybrid-agent/src/components/myservices.vue badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/store/modules/create_pipelineLLO.js
argglobal argglobal
silent! argdel * silent! argdel *
$argadd mynetwork.vue $argadd mynetwork.vue
@ -38,13 +38,13 @@ set nosplitright
wincmd t wincmd t
set winminheight=1 winheight=1 winminwidth=1 winwidth=1 set winminheight=1 winheight=1 winminwidth=1 winwidth=1
exe '1resize ' . ((&lines * 22 + 24) / 48) exe '1resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 1resize ' . ((&columns * 99 + 100) / 201) exe 'vert 1resize ' . ((&columns * 99 + 100) / 200)
exe '2resize ' . ((&lines * 22 + 24) / 48) exe '2resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 2resize ' . ((&columns * 99 + 100) / 201) exe 'vert 2resize ' . ((&columns * 99 + 100) / 200)
exe '3resize ' . ((&lines * 22 + 24) / 48) exe '3resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 3resize ' . ((&columns * 101 + 100) / 201) exe 'vert 3resize ' . ((&columns * 100 + 100) / 200)
exe '4resize ' . ((&lines * 22 + 24) / 48) exe '4resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 4resize ' . ((&columns * 101 + 100) / 201) exe 'vert 4resize ' . ((&columns * 100 + 100) / 200)
argglobal argglobal
setlocal fdm=manual setlocal fdm=manual
setlocal fde=0 setlocal fde=0
@ -74,17 +74,17 @@ setlocal fml=1
setlocal fdn=20 setlocal fdn=20
setlocal fen setlocal fen
silent! normal! zE silent! normal! zE
let s:l = 167 - ((12 * winheight(0) + 11) / 22) let s:l = 190 - ((19 * winheight(0) + 11) / 22)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
167 190
normal! 03| normal! 032|
lcd /data/appl/ok/swarmlab-hybrid-agent/src/components lcd /data/appl/ok/swarmlab-hybrid-agent/src/components
wincmd w wincmd w
argglobal argglobal
enew enew
file /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork.vue file /data/appl/ok/swarmlab-hybrid-agent/src/components/myservices.vue
setlocal fdm=manual setlocal fdm=manual
setlocal fde=0 setlocal fde=0
setlocal fmr={{{,}}} setlocal fmr={{{,}}}
@ -96,7 +96,7 @@ setlocal fen
lcd /data/appl/ok/swarmlab-hybrid-agent/src/components lcd /data/appl/ok/swarmlab-hybrid-agent/src/components
wincmd w wincmd w
argglobal argglobal
if bufexists('/data/appl/ok/swarmlab-hybrid-agent/src/components/myservices.vue') | buffer /data/appl/ok/swarmlab-hybrid-agent/src/components/myservices.vue | else | edit /data/appl/ok/swarmlab-hybrid-agent/src/components/myservices.vue | endif if bufexists('/data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork.vue') | buffer /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork.vue | else | edit /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork.vue | endif
setlocal fdm=manual setlocal fdm=manual
setlocal fde=0 setlocal fde=0
setlocal fmr={{{,}}} setlocal fmr={{{,}}}
@ -106,23 +106,22 @@ setlocal fml=1
setlocal fdn=20 setlocal fdn=20
setlocal fen setlocal fen
silent! normal! zE silent! normal! zE
let s:l = 27 - ((9 * winheight(0) + 11) / 22) let s:l = 3 - ((2 * winheight(0) + 11) / 22)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
27 3
normal! 0 normal! 0
lcd /data/appl/ok/swarmlab-hybrid-agent/src/components lcd /data/appl/ok/swarmlab-hybrid-agent/src/components
wincmd w wincmd w
4wincmd w
exe '1resize ' . ((&lines * 22 + 24) / 48) exe '1resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 1resize ' . ((&columns * 99 + 100) / 201) exe 'vert 1resize ' . ((&columns * 99 + 100) / 200)
exe '2resize ' . ((&lines * 22 + 24) / 48) exe '2resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 2resize ' . ((&columns * 99 + 100) / 201) exe 'vert 2resize ' . ((&columns * 99 + 100) / 200)
exe '3resize ' . ((&lines * 22 + 24) / 48) exe '3resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 3resize ' . ((&columns * 101 + 100) / 201) exe 'vert 3resize ' . ((&columns * 100 + 100) / 200)
exe '4resize ' . ((&lines * 22 + 24) / 48) exe '4resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 4resize ' . ((&columns * 101 + 100) / 201) exe 'vert 4resize ' . ((&columns * 100 + 100) / 200)
tabedit /data/appl/ok/swarmlab-hybrid-agent/src-local/llo/new.js tabedit /data/appl/ok/swarmlab-hybrid-agent/src-local/llo/new.js
set splitbelow splitright set splitbelow splitright
wincmd _ | wincmd | wincmd _ | wincmd |
@ -137,11 +136,11 @@ set nosplitbelow
set nosplitright set nosplitright
wincmd t wincmd t
set winminheight=1 winheight=1 winminwidth=1 winwidth=1 set winminheight=1 winheight=1 winminwidth=1 winwidth=1
exe 'vert 1resize ' . ((&columns * 99 + 100) / 201) exe 'vert 1resize ' . ((&columns * 99 + 100) / 200)
exe '2resize ' . ((&lines * 22 + 24) / 48) exe '2resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 2resize ' . ((&columns * 101 + 100) / 201) exe 'vert 2resize ' . ((&columns * 100 + 100) / 200)
exe '3resize ' . ((&lines * 22 + 24) / 48) exe '3resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 3resize ' . ((&columns * 101 + 100) / 201) exe 'vert 3resize ' . ((&columns * 100 + 100) / 200)
argglobal argglobal
setlocal fdm=manual setlocal fdm=manual
setlocal fde=0 setlocal fde=0
@ -152,12 +151,12 @@ setlocal fml=1
setlocal fdn=20 setlocal fdn=20
setlocal fen setlocal fen
silent! normal! zE silent! normal! zE
let s:l = 82 - ((24 * winheight(0) + 22) / 45) let s:l = 172 - ((29 * winheight(0) + 22) / 45)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
82 172
normal! 08| normal! 09|
lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork
wincmd w wincmd w
argglobal argglobal
@ -171,7 +170,7 @@ setlocal fml=1
setlocal fdn=20 setlocal fdn=20
setlocal fen setlocal fen
silent! normal! zE silent! normal! zE
let s:l = 191 - ((2 * winheight(0) + 11) / 22) let s:l = 191 - ((21 * winheight(0) + 11) / 22)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
@ -190,20 +189,20 @@ setlocal fml=1
setlocal fdn=20 setlocal fdn=20
setlocal fen setlocal fen
silent! normal! zE silent! normal! zE
let s:l = 98 - ((21 * winheight(0) + 11) / 22) let s:l = 317 - ((17 * winheight(0) + 11) / 22)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
98 317
normal! 015| normal! 073|
lcd /data/appl/ok/swarmlab-hybrid-agent/src/components lcd /data/appl/ok/swarmlab-hybrid-agent/src/components
wincmd w wincmd w
exe 'vert 1resize ' . ((&columns * 99 + 100) / 201) exe 'vert 1resize ' . ((&columns * 99 + 100) / 200)
exe '2resize ' . ((&lines * 22 + 24) / 48) exe '2resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 2resize ' . ((&columns * 101 + 100) / 201) exe 'vert 2resize ' . ((&columns * 100 + 100) / 200)
exe '3resize ' . ((&lines * 22 + 24) / 48) exe '3resize ' . ((&lines * 22 + 24) / 48)
exe 'vert 3resize ' . ((&columns * 101 + 100) / 201) exe 'vert 3resize ' . ((&columns * 100 + 100) / 200)
tabedit /data/appl/ok/swarmlab-hybrid-agent/src/App.vue tabedit /data/appl/ok/swarmlab-hybrid-agent/src/store/modules/create_pipelineLLO.js
set splitbelow splitright set splitbelow splitright
wincmd _ | wincmd | wincmd _ | wincmd |
vsplit vsplit
@ -213,8 +212,8 @@ set nosplitbelow
set nosplitright set nosplitright
wincmd t wincmd t
set winminheight=1 winheight=1 winminwidth=1 winwidth=1 set winminheight=1 winheight=1 winminwidth=1 winwidth=1
exe 'vert 1resize ' . ((&columns * 100 + 100) / 201) exe 'vert 1resize ' . ((&columns * 100 + 100) / 200)
exe 'vert 2resize ' . ((&columns * 100 + 100) / 201) exe 'vert 2resize ' . ((&columns * 99 + 100) / 200)
argglobal argglobal
setlocal fdm=manual setlocal fdm=manual
setlocal fde=0 setlocal fde=0
@ -225,17 +224,17 @@ setlocal fml=1
setlocal fdn=20 setlocal fdn=20
setlocal fen setlocal fen
silent! normal! zE silent! normal! zE
let s:l = 51 - ((27 * winheight(0) + 22) / 45) let s:l = 1 - ((0 * winheight(0) + 22) / 45)
if s:l < 1 | let s:l = 1 | endif if s:l < 1 | let s:l = 1 | endif
exe s:l exe s:l
normal! zt normal! zt
51 1
normal! 0 normal! 0
lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork
wincmd w wincmd w
argglobal argglobal
enew enew
file /data/appl/ok/swarmlab-hybrid-agent/src/store/modules/create_pipelineLLO.js file /data/appl/ok/swarmlab-hybrid-agent/src/App.vue
setlocal fdm=manual setlocal fdm=manual
setlocal fde=0 setlocal fde=0
setlocal fmr={{{,}}} setlocal fmr={{{,}}}
@ -246,9 +245,9 @@ setlocal fdn=20
setlocal fen setlocal fen
lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork
wincmd w wincmd w
exe 'vert 1resize ' . ((&columns * 100 + 100) / 201) exe 'vert 1resize ' . ((&columns * 100 + 100) / 200)
exe 'vert 2resize ' . ((&columns * 100 + 100) / 201) exe 'vert 2resize ' . ((&columns * 99 + 100) / 200)
tabnext 1 tabnext 3
set stal=1 set stal=1
if exists('s:wipebuf') if exists('s:wipebuf')
silent exe 'bwipe ' . s:wipebuf silent exe 'bwipe ' . s:wipebuf

Loading…
Cancel
Save