Zero-OS is a stateless and lightweight Linux operating system designed for clustered deployments to host virtual machines and containerized applications.
- Zero-OS is stateless by not needing any locally stored data, not even Zero-OS system files
- Zero-OS is lightweight by only containing the components required to securely run and manage containers and virtual machines
See Getting Started with Zero-OS for the recommended path to quickly get up and running with Zero-OS.
Key components:
All documentation has been tested using v8.2.0rc1 jumpscale_core8 and v1.1.0-alpha-2 of 0-Initramfs Builder, 0-Core, and Zero-OS REST API
0-Initramfs is an assembly of shell scripts for building the Zero-OS Linux kernel and create an 0-initramfs to start 0-Core.
- GitHub repository: g8os/hub
- Documentation: 0-Initramfs Documentation
- Getting started: Getting Started with 0-Initramfs
0-Core is the Zero-OS replacement for systemd, the init system to bootstrap the user space and manage all processes subsequently.
Interacting with 0-Core is done by sending commands through a Redis, allowing you to manage disks, set-up networks and create containers and start virtual machines.
- GitHub repository: zero-os/0-core
- Documentation: 0-Core Documentation
- Getting started: Getting Started with 0-Core
Zero-OS File System is the Zero-OS file system used in containers, which is actually a FUSE file system. Mounting the 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 Zero-OS fetches the required file chunks from a remote store, and caches it locally. This remote store is the Zero-OS Hub, discussed here below.
- GitHub repository: g8os/hub
- Documentation: Documentation
- Getting started: Getting Started with
The Zero-OS Hub is where all container images and and vdisk boot images are stored.
- GitHub repository: g8os/hub
- Documentation: Hub Documentation
- Getting started: Getting Started with the Zero-OS Hub
The Zero-OS Orchestrator is the REST API server for managing a cluster of Zero-OS nodes.
- GitHub repository: zero-os/0-orchestrator
- Documentation: Zero-OS Orchestrator Documentation
- Getting Started: Getting Started with Zero-OS Orchestrator
0-Disk is about the components that allow to create and use block devices (vdisks) from within virtual machines hosted on a Zero-OS node.
- GitHub repository: zero-os/0-disk
- Documentation: 0-Disk Documentation
- Getting Started: Getting Started with NBD Server