**nexus-client** is the client component of the nexus project, a VDI (Virtual Desktop Infrastructure) written from scratch in Go and based on Linux/KVM + QEMU.
## Components
The full project, **nexus_vdi**, is made of three software components:
1.**nexus-server**: the server program (backend) that runs on a server.
- Exposes a REST API to manage VMs and users
1.**nexus-client**: the client or end-user program to manage VMs, users and templates.
- The client uses REST messages to communicate with `nexus-server`
- The client can be run from anywhere (locally or remotely) as long as it can communicate with `nexus-server`
- Two clients have been developed so far:
-`nexush`: an interactive command line client, similar to a shell. It is the most user-friendly way to interact with `nexus-server`, but it is not suited for scripting.
-`nexus-cli`: a collection of commands particularly suited to scripting and automated operations.
- Both clients offer the same features, functionalities and syntax. A nice touch is that commands support regular expressions allowing many VMs to be created/started/stopped/destroyed/etc. at once.
- Both clients feature an "vmattach" command which lets users interact with their VM's desktop.
- this feature requires `remote-viewer` which is part of the [virt-viewer project](https://gitlab.com/virt-viewer/virt-viewer.git)
1.**nexus-exam**: a minimalistic graphical application used during live exams. It doesn't feature any option and only allows a student to connect to her/his running VM.
To obtain a nexus access, please contact Florent Gluck at florent.gluck@hesge.ch.
**nexus-client** is the client component of the Nexus VDI (Virtual Desktop Infrastructure) project.
**nexus-server** is the server component of the nexus project, a VDI (Virtual Desktop Infrastructure) written from scratch in Go and based on Linux/KVM + QEMU.
## Components
The full project, **nexus_vdi**, is made of three software components:
1.**nexus-server**: the server program (backend) that runs on a server.
- Exposes a REST API to manage VMs and users
1.**nexus-client**: the client or end-user program to manage VMs, users and templates.
- The client uses REST messages to communicate with `nexus-server`
- The client can be run from anywhere (locally or remotely) as long as it can communicate with `nexus-server`
- Two clients have been developed so far:
-`nexush`: an interactive command line client, similar to a shell. It is the most user-friendly way to interact with `nexus-server`, but it is not suited for scripting.
-`nexus-cli`: a collection of commands particularly suited to scripting and automated operations.
- Both clients offer the same features, functionalities and syntax. A nice touch is that commands support regular expressions allowing many VMs to be created/started/stopped/destroyed/etc. at once.
- Both clients feature an "vmattach" command which lets users interact with their VM's desktop.
- this feature requires `remote-viewer` which is part of the [virt-viewer project](https://gitlab.com/virt-viewer/virt-viewer.git)
1.**nexus-exam**: a minimalistic graphical application used during live exams. It doesn't feature any option and only allows a student to connect to her/his running VM.
**nexus-server** is the server component of the Nexus VDI (Virtual Desktop Infrastructure) project.