Skip to content
Snippets Groups Projects
Select Git revision
  • 146ed59b254fd3275029415d50f83165376f9a50
  • live_exam_os_ubuntu default protected
2 results

secure-solution-for-nexus-infrastructure

Florent Gluck's avatar
Florent Gluck authored
An authentification layer is added on top of spice to authentify whoever is trying to attach to a VM.
Updated server and both nexush and nexus-cli accordingly.
The only visible change for users is that now client credentials to attach to a VM don't include a spice port and password, but only a single password.
Consequently the port column was removed from vmcreds2pdf/vmcreds2csv and the password is now a bit longer.
Server and client versions were bumped to 1.11.0.
WIP: nexus-exam
146ed59b
History
Name Last commit Last update
config
docs
src
tests
tools
.gitignore
LICENSE
Makefile
README.md

Nexus VDI

Introduction

Nexus VDI is a VDI (Virtual Desktop Infrastructure) written from scratch in Go and based on Linux/KVM + QEMU.

Components

Nexus VDI is divided into three components:

nexus-server

  • Documentation about the inner workings of nexus-server is described here
  • The server program (backend) that runs on a server
  • Exposes a REST API to manage users, VMs and templates

nexus-client

  • Documentation about how to use nexus clients is described here
  • The client or end-user program to manage users, VMs 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 commands, functionalities and syntax
  • Most commands accept regular expressions so that many VMs can be created/started/stopped/destroyed/etc. at once
  • The "vmattach" command allows users to interact with their VM's desktop

nexus-exam

  • A minimalistic graphical application used during live exams
  • Doesn't feature any option and only allows a student to connect to her/his running VM
  • Its source code resides within the nexus-client codebase despite technically not being a nexus-client

Installation

Instructions on how to build and install nexus-server for development and production use, as well as building clients, are described here.