diff --git a/create_tailscale_sysext.sh b/create_tailscale_sysext.sh index 131e850..9a7063c 100755 --- a/create_tailscale_sysext.sh +++ b/create_tailscale_sysext.sh @@ -34,17 +34,33 @@ curl -o "${TMP_DIR}/${TARBALL}" -fsSL "${URL}" tar xf "${TMP_DIR}/${TARBALL}" -C "${TMP_DIR}" --strip-components=1 -mkdir -p "${SYSEXTNAME}"/usr/{bin,sbin,lib/{systemd/system,extension-release.d,tmpfiles.d},share/tailscale} +mkdir -p "${SYSEXTNAME}"/usr/{bin,sbin,lib/{systemd/system,systemd/system/tailscaled.service.d,systemd/network,extension-release.d,tmpfiles.d},share/tailscale} mv "${TMP_DIR}/tailscale" "${SYSEXTNAME}/usr/bin/tailscale" mv "${TMP_DIR}/tailscaled" "${SYSEXTNAME}/usr/sbin/tailscaled" mv "${TMP_DIR}/systemd/tailscaled.service" "${SYSEXTNAME}/usr/lib/systemd/system/tailscaled.service" mv "${TMP_DIR}/systemd/tailscaled.defaults" "${SYSEXTNAME}/usr/share/tailscale/tailscaled.defaults" +cat <"${SYSEXTNAME}"/usr/lib/systemd/system/tailscaled.service.d/10-networkd-reload.conf +# Reload systemd-networkd.service to pick up 50-tailscale.network + +[Service] +ExecStartPre=systemctl reload systemd-networkd.service +EOF + cat <"${SYSEXTNAME}"/usr/lib/tmpfiles.d/10-tailscale.conf C /etc/default/tailscaled - - - - /usr/share/tailscale/tailscaled.defaults EOF +cat <"${SYSEXTNAME}"/usr/lib/systemd/network/50-tailscale.network +[Match] +Kind=tun +Name=tailscale* + +[Link] +Unmanaged=yes +EOF + rm -rf "${TMP_DIR}" RELOAD=1 "${SCRIPTFOLDER}"/bake.sh "${SYSEXTNAME}"