Table of Contents
Fabrial is a virtual machine communication daemon supporting oathgate virtual machines. It provides a pseudo-terminal (PTY) bound to a vhost-vsock socket.
Fabrial is built using only the C stdlib targeting Linux. The only requirement is a C compiler.
- GCC
sudo apt install build-essential
-
Clone the repo
git clone https://github.com/kvnallsn/fabrial.git
-
Build the executables
make
The
fabrial
executable will be located in thebin/
folder.
The binary must be installed inside a virtual machine. For convenience, an OpenRC init script is provided in the dist/openrc
directory.
Running fabrial
is simple, it does not take any arguments (yet). Running this program outside a virtual machine is unsupported.
-
Start a virtual machine with a
vhost-vsock
device. For example, include the following arguments when starting a qemu virtual machine:qemu-system-x86_64 \ -other-qemu-args... \ -device vhost-vsock-pci,guest-cid=4
-
Inside the virtual machine, start the daemon
./bin/fabrial
- Add arguments for port and spawned program
- Add ability to "port forward" to locally-bound TCP/UDP sockets
See the open issues for a full list of proposed features (and known issues).
If using the OpenRC init script, stdout/stderr will be logged to /var/log/fabrial.log
and /var/log/fabrial.err
respectively.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.