Skip to main content

VMs Section

Realms

Realms, also known as hypervisors, are a specific type of computer software that is used to create and run virtual machines. These realms can only be managed in the configuration files. Users can view the Realms that exist in the system through the "Realms" tab in management. Associated to each Realm is a Driver. The purpose of this driver is so the backend of the system knows HOW to communicate to the infrastructure. Realms do NOT connect to other realms. Users of tiCrypt cannot create their own realms. they are third

Hosts

Hosts are the actual servers that host the virtual machines. These servers are physical and actually exist somewhere. These hosts actually host the realms which are actually what create and run the VMs. Each of these realms consist of servers and other components....

A Host can be added by selecting the plus icon located at the top right side. A modal will appear that prompts the user to select a Realm, a name, a URI, the hardware Profile, and the state.

A Host has the following actions.

ActionNotes
Edit A user can edit the basic information about a host.
Delete A user can delete a host.

Hardware Profiles

Libvirt Volumes

Libvirt Volumes are essentially the "disk" where the operating system lives. Users cannot populate the volume tab through tiCrypt. Rather, the system backend communicates with the host and requests all of the volumes that have been integrated into the system.

Libvirt volumes listing

VM Images

A Virtual Machine Image is a fully configured virtual machine as a file that is used during deployment. A virtual machine defines the Realm, the volume, and the operating system. When defining the OS upon creating an image, the OS MUST match the OS that is associated with the Volume.

For each Volume, there can only be one VM Image.

Bricks

Bricks are configuration setups for the virtual machines. Specifically, bricks specify:

  • the Realm the VM will use
  • the virtual machine image
  • the number of cores
  • the amount of memory (RAM)
  • the list of devices such as GPUs/FPGAs
  • debug options such as pty and console.

The bricks tab will display the above information together with the brick name, creator and debug state.

The brick actions are:

ActionNotes
Edit Image/InfoChange the brick properties
Edit InstructionsChange displayed usage instructions
Manage AccessChange who can see/use the brick
Clone Create a copy of the brick
Delete Remove the brick from the system
Upon brick creation, a user is prompted to select the realm, and then select the virtual machine image. The vm image is created with a realm and a volume. If the realm of the vm image is NOT the same as the realm used to define the brick, then the brick CANNOT use that VM image. The realms must be the same in both the brick and the VM image.

Virtual Machines

The virtual machines tab allows users to view the virtual machines that are running in the system along with the owner, the team that is associated to the VM, whether it is a debug machine, the brick (the word used in this case is template), the cores, and the memory. If no VM's are running, nothing will appear in this tab.

Drives

The drives tab allows users to view all of the drives that have been created in the "VIRTUAL MACHINES" tab. For each drive, the name, owner, team, size, and format are displayed.

A Drive has the following actions.

ActionNotes
Info A user can view basic information about a drive.
TransferOwnership A user can transfer the ownership of the drive to another user.
Delete A user can delete a drive.

A user may want to transfer the ownership of a drive. This can be thought of, essentially, as someone sharing a USB drive with another person. A VM must not be running. The owner of the drive can "transfer ownership" or give the "USB" to another user so that the user can use that drive in one of their VM's. A user can only transfer ownership of a drive to an individual who already have access to that drive.

The way that the drives work is as follows...

When a user creates a drive, it is encrypted using their public key, and another key that the system generates called a symmetric key. This information is sent and lives on the server. If a user would like to share access of the drive with another user, their private key is used to decrypt the symmetric key. Using the receiver's public key, a version of the symmetric key is created, and another "chunk" of information is sent to the server.

The cryptography used for the drives prevents any type of admin in the system from simply granting themselves access to a drive and taking them over. ONLY users who were added to or created a drive can access them.

Bricks

Bricks are configuration setups for the virtual machines. Specifically, bricks specify:

  • the Realm the VM will use
  • the virtual machine image
  • the number of cores
  • the amount of memory (RAM)
  • the list of devices such as GPUs/FPGAs
  • debug options such as pty and console.

The bricks tab will display the above information together with the brick name, creator and debug state.

The brick actions are:

ActionNotes
Edit Image/InfoChange the brick properties
Edit InstructionsChange displayed usage instructions
Manage AccessChange who can see/use the brick
Clone Create a copy of the brick
Delete Remove the brick from the system
Upon brick creation, a user is prompted to select the realm, and then select the virtual machine image. The vm image is created with a realm and a volume. If the realm of the vm image is NOT the same as the realm used to define the brick, then the brick CANNOT use that VM image. The realms must be the same in both the brick and the VM image.