seems to work a bit
This commit is contained in:
parent
d0a9623a29
commit
97e3b13ac2
21
bin/connect.sh
Executable file
21
bin/connect.sh
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "Pick an host:"
|
||||
awk '/.kube/ { print " - "$2 }' /etc/hosts
|
||||
exit 0
|
||||
fi
|
||||
|
||||
HOST="${1}"
|
||||
PROG="${2:-xterm}"
|
||||
|
||||
if ! grep "$HOST" /etc/hosts >/dev/null
|
||||
then
|
||||
echo "$HOST doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
doas ./start_kube.sh "${HOST%.kube}"
|
||||
ssh-keygen -R "$HOST" >/dev/null 2>/dev/null
|
||||
ssh -o StrictHostKeyChecking=no -Y user@$HOST "$PROG"
|
|
@ -8,20 +8,29 @@ then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
NAME=kube
|
||||
NAME=${1:-kube}
|
||||
DISK=/var/openkubsd/disks/${NAME}.qcow2
|
||||
|
||||
# create a qcow2 file for /home
|
||||
test -f "${DISK}" || vmctl create -s 60G "${DISK}"
|
||||
if test -f "${DISK}"
|
||||
then
|
||||
echo "$DISK already exist, this shouldn't happen"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# generate a MAC address
|
||||
MAC="$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/:$//')"
|
||||
NEXT_IP=$(/var/openkubsd/bin/get_ip.sh)
|
||||
|
||||
# create a derived disk from the template
|
||||
rm -f /var/openkubsd/derived/${NAME}.qcow2
|
||||
vmctl create -b /var/openkubsd/templates/openbsd-template.qcow2 /var/openkubsd/derived/${NAME}.qcow2
|
||||
vmctl create -s 60G "${DISK}"
|
||||
|
||||
# create the vm.conf file
|
||||
cat <<EOF >/var/openkubsd/vm.conf.d/vms/${NAME}.conf
|
||||
vm "${NAME}" {
|
||||
disk /var/openkubsd/templates/openbsd-template.qcow2
|
||||
disk /var/openkubsd/derived/${NAME}.qcow2
|
||||
disk $DISK
|
||||
interface locked lladdr $MAC switch kubes
|
||||
disable
|
||||
|
@ -32,6 +41,7 @@ cat <<EOF >/var/openkubsd/dhcpd.d/${NAME}.conf
|
|||
host ${NAME} {
|
||||
hardware ethernet $MAC;
|
||||
fixed-address $NEXT_IP;
|
||||
option host-name "$NAME";
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
|
@ -71,6 +71,7 @@ cat <<EOF >/var/openkubsd/dhcpd.d/${NAME}.conf
|
|||
host ${NAME} {
|
||||
hardware ethernet $MAC;
|
||||
fixed-address $NEXT_IP;
|
||||
option host-name "$NAME"
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
|
@ -7,11 +7,9 @@ then
|
|||
fi
|
||||
|
||||
cd /var/openkubsd/vm.conf.d/vms/
|
||||
ls *.conf
|
||||
cat *.conf > ../vms.conf
|
||||
|
||||
cd /var/openkubsd/dhcpd.d/
|
||||
ls *.conf
|
||||
cat *.conf > /etc/dhcpd.conf
|
||||
|
||||
HOSTS=$(find /var/openkubsd/dhcpd.d/ -not -name 00_base.conf -type f -exec cat {} + | grep -E "(^host|fixed-address)" | tr -d ';' | paste - - | awk '{ print $5" "$2".kube" }')
|
||||
|
|
20
bin/remove_kube.sh
Executable file
20
bin/remove_kube.sh
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [[ "$(id -u)" -ne "0" ]]
|
||||
then
|
||||
echo "you must run $0 as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NAME=${1:-kube}
|
||||
|
||||
if vmctl show $NAME
|
||||
then
|
||||
rm /var/openkubsd/dhcpd.d/${NAME}.conf
|
||||
rm /var/openkubsd/vm.conf.d/vms/${NAME}.conf
|
||||
rm /var/openkubsd/derived/${NAME}.qcow2
|
||||
rm /var/openkubsd/disks/${NAME}.qcow2
|
||||
/var/openkubsd/bin/recreate_conf.sh
|
||||
else
|
||||
echo "$NAME doesn't exist"
|
||||
fi
|
|
@ -17,6 +17,7 @@ install -d -o root -g wheel -m 755 /var/openkubsd/vm.conf.d/
|
|||
install -d -o root -g wheel -m 755 /var/openkubsd/vm.conf.d/vms/
|
||||
install -d -o root -g wheel -m 700 /var/openkubsd/pf/
|
||||
install -d -o root -g wheel -m 700 /var/openkubsd/disks/
|
||||
install -d -o root -g wheel -m 700 /var/openkubsd/derived/
|
||||
install -d -o root -g wheel -m 755 /var/openkubsd/templates/
|
||||
|
||||
install -o root -g wheel -m 555 ./get_ip.sh /var/openkubsd/bin/
|
||||
|
|
|
@ -6,8 +6,14 @@ then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# create a derived disk from the template
|
||||
rm -f /tmp/kube.qcow2
|
||||
vmctl create -b /var/openkubsd/templates/openbsd.qcow2 /tmp/kube.qcow2
|
||||
NAME=${1:-kube}
|
||||
|
||||
vmctl start -n kube -d /tmp/kube.qcow2 -d /var/openkubsd/disks/kube.qcow2 kube
|
||||
if vmctl status $NAME | grep running >/dev/null
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# create a derived disk from the template
|
||||
rm -f /var/openkubsd/derived/${NAME}.qcow2
|
||||
vmctl create -b /var/openkubsd/templates/openbsd-template.qcow2 /var/openkubsd/derived/${NAME}.qcow2
|
||||
vmctl start $NAME
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [[ "$(id -u)" -ne "0" ]]
|
||||
then
|
||||
echo "you must run $0 as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
vmctl stop -w kube
|
||||
rm -f /tmp/kube.qcow2
|
Loading…
Reference in New Issue
Block a user