Skip to content

Latest commit

 

History

History

docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Introduction to G8OS

G8OS is a stateless and lightweight Linux operating system designed for clustered deployments to host virtual machines and containerized applications.

  • G8OS is stateless by not needing any locally stored data, not even G8OS system files
  • G8OS is lightweight by only containing the components required to securely run and manage containers and virtual machines

See Getting Started with G8OS for the recommended path to quickly get up and running with G8OS.

Key components:

Initramfs Builder

Initramfs Builder is an assembly of shell scripts for building the G8OS Linux kernel and create an initramfs to start Core0.

Core0

Core0 is the G8OS replacement for systemd, the init system to bootstrap the user space and manage all processes subsequently.

Interacting with Core0 is done by sending commands through a Redis, allowing you to manage disks, set-up networks and create containers and start virtual machines.

G8ufs

G8ufs is the G8OS file system used in containers, which is actually a FUSE file system. Mounting the G8ufs is done by using a flist, which is a relatively small RocksDB database file, containing the metadata of the actual files and directories. On accessing a file G8OS fetches the required file chunks from a remote store, and caches it locally. This remote store is the G8OS Hub, discussed here below.

Hub

The G8OS Hub is where all container images and and vdisk boot images are stored.

Resource Pool

A resource pool is a cluster of G8OS nodes, sharing compute and storage capacity.

Block Storage

G8OS Block Storage is about the components that allow to create and use block devices (vdisks) from within virtual machines hosted on a G8OS node.