https://github.com/lnsp/sox
experimental virtual machine manager
https://github.com/lnsp/sox
Last synced: about 1 year ago
JSON representation
experimental virtual machine manager
- Host: GitHub
- URL: https://github.com/lnsp/sox
- Owner: lnsp
- License: gpl-2.0
- Created: 2021-10-26T23:45:35.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-30T13:59:35.000Z (over 2 years ago)
- Last Synced: 2025-02-11T16:41:44.635Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 678 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

Experimental virtual machine management system.
## Roadmap
- [x] Virtual machine creation and deletion
- [x] Aware of SSH keys, VM images and networks
- [x] Automatic image customization
- [x] IPv4 address assignment, internet access as well as routable from the host machine
- [x] Private IPv4 networks
- [ ] IPv6 address assignment
- [ ] Cross-node networking via VXLAN and dynamic peer resolution via l2miss, l3miss
- [ ] Aggregation mode with sox running on each node in a cluster, including draining and rebalancing nodes
- [ ] Advanced management of SSH keys and networks
- [ ] Advanced management of VM images, including creation of new images from running VMs
- [ ] Support for different users, projects and ACLs
## Design
The core idea is that sox exposes the same gRPC API, no matter if it's running on a single-node or in aggregation mode.
sox knows five core primitives: Machines, images, disks, networks and SSH keys.
Machines are made out of their image, the attached networks and disks and configured SSH keys.
There is a global IP space every machine gets a single IPv4/IPv6 from.