Compare commits

..

No commits in common. "3d02be1be0d314617ab2c73700a05f9084b36736" and "745f7786e8ca1d3eddf4fcbef82054e79c97ed12" have entirely different histories.

2 changed files with 21 additions and 27 deletions

View File

@ -8,13 +8,11 @@ order they will be implemented.
These items are listed more or less in the order they need to be completed, as These items are listed more or less in the order they need to be completed, as
they generally depend on the items previous to them. they generally depend on the items previous to them.
### Window Support + GUI ### Cross Compilation
Support for Windows is a must. This requirement also includes a simple GUI, Currently the only supported OS/CPU is Linux/amd64. This can be expanded
which would essentially act as a thin layer on top of `daemon.yml` to start _theoretically_ quite easily, using nix's cross compilation tools. First target
with. should be OSX/arm64, but windows would also be quite the get.
Depending on difficulty level, OSX support might be added at this stage as well.
### NATS ### NATS
@ -37,6 +35,14 @@ requiring a passphrase.
Most likely this integration will require NATS as well, to coordinate cache Most likely this integration will require NATS as well, to coordinate cache
invalidation and cert refreshing. invalidation and cert refreshing.
### Web server + interface
Have every `isle daemon` run a webserver as one of its sub-processes. Status and
connectivity information for the local host could be provided via a simple web
interface, which the user can open in their browser. This saves us the effort of
needing to develop UIs for individual OSs. This could also make remotely
debugging hosts easier for admins.
### Invitation code bootstrapping ### Invitation code bootstrapping
Once an HTTP gateway/load-balancer is set up it should be possible to do host Once an HTTP gateway/load-balancer is set up it should be possible to do host
@ -93,14 +99,15 @@ It should theoretically be possible for the internal network IP range to be on
IPv6 rather than IPv4. This may be a simple matter of just testing it to confirm IPv6 rather than IPv4. This may be a simple matter of just testing it to confirm
it works. it works.
### Proper Linux Packages ### DNS resolver settings
Rather than distributing raw binaries for Linux we should instead be The daemon should update the resolver settings of the host, so that it
distributing actual packages, e.g. deb files for debian/ubuntu, PKGBUILD for automatically serves DNS queries, unless set to not do so in `daemon.yml`.
arch, rpm for fedora (if we care), etc... This will allow for properly setting
capabilities for the binary at install time, so that it can be run as non-root, ### Install sub-command
and installing any necessary `.desktop` files so that it can be run as a GUI
application. It would be great to have a `isle install` sub-command which would
auto-detect the installed operating system and install the daemon automatically.
### Mobile app ### Mobile app
@ -123,12 +130,6 @@ necessary ambient capabilities up-front, and then drop down to a specified user.
This is how the tests work. Doing this with other OS's will depend on how they This is how the tests work. Doing this with other OS's will depend on how they
work. work.
### DNS/Firewall Configuration
Ideally Isle could detect the DNS/firewall subsystems being used on a per-OS
basis and configure them as needed. This would be simplify necessary
documentation and setup steps for operators.
### Plugins ### Plugins
It would not be difficult to spec out a plugin system using nix commands. It would not be difficult to spec out a plugin system using nix commands.

View File

@ -1,10 +1,3 @@
Ctrl+A X -> exits Ctrl+A X -> exits
qemu-system-aarch64 -nographic -cdrom tests/alpine-virt-3.18.4-aarch64.iso qemu-system-aarch64 -M virt -nographic -cdrom tests/alpine-virt-3.17.3-aarch64.iso
Ctrl+Alt+G -> Escape mouse capture
qemu-system-x86_64 \
-cdrom tests/virt/Win11_23H2_English_x64.iso \
-m 8G \
-boot order=d \
-drive file=./tests/virt/winblows.qcow2