#!/bin/execlineb -S2 # SPDX-License-Identifier: EUPL-1.2+ # SPDX-FileCopyrightText: 2023-2024 Alyssa Ross cd $2 elglob -0 names * forx -po0 -E name { $names } backtick -E dir { mktemp -d /run/vm/by-id/XXXXXX } backtick -E id { basename -- $dir } if { ln -s -- ${dir} /run/vm/by-name/${1}.${name} } if { ln -s -- ${2}/${name} ${dir}/config } if { ln -s -- /run/service/vmm/instance/${id} ${dir}/service } if { if -t { elglob -0d " " providers ${name}/providers/net test -n $providers } if { ip link add br-${id} type bridge } if { ip link set br-${id} up } if { ip tuntap add client-${id} mode tap } if { ip link set client-${id} master br-${id} up } if { ip tuntap add router-${id} mode tap } ip link set router-${id} master br-${id} up } if { create-vm-dependencies $id } s6-instance-create -- /run/service/vmm $id