82 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Metadata-Version: 2.1
 | 
						|
Name: compute
 | 
						|
Version: 0.1.0.dev1
 | 
						|
Summary: Compute instances management library and tools
 | 
						|
Author: ge
 | 
						|
Author-email: ge@nixhacks.net
 | 
						|
Requires-Python: >=3.11,<4.0
 | 
						|
Classifier: Programming Language :: Python :: 3
 | 
						|
Classifier: Programming Language :: Python :: 3.11
 | 
						|
Requires-Dist: libvirt-python (==9.0.0)
 | 
						|
Requires-Dist: lxml (>=4.9.2,<5.0.0)
 | 
						|
Requires-Dist: pydantic (==1.10.4)
 | 
						|
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
 | 
						|
Description-Content-Type: text/markdown
 | 
						|
 | 
						|
# Compute
 | 
						|
 | 
						|
Compute instances management library and tools.
 | 
						|
 | 
						|
## Docs
 | 
						|
 | 
						|
Run `make serve-docs`. See [Development](#development) below.
 | 
						|
 | 
						|
## Roadmap
 | 
						|
 | 
						|
- [x] Create instances
 | 
						|
- [ ] CDROM
 | 
						|
- [ ] cloud-init for provisioning instances
 | 
						|
- [x] Instance power management
 | 
						|
- [x] Instance pause and resume
 | 
						|
- [x] vCPU hotplug
 | 
						|
- [x] Memory hotplug
 | 
						|
- [x] Hot disk resize [not tested]
 | 
						|
- [ ] CPU topology customization
 | 
						|
- [x] CPU customization (emulation mode, model, vendor, features)
 | 
						|
- [ ] BIOS/UEFI settings
 | 
						|
- [x] Device attaching
 | 
						|
- [x] Device detaching
 | 
						|
- [ ] GPU passthrough
 | 
						|
- [ ] CPU guarantied resource percent support
 | 
						|
- [x] QEMU Guest Agent management
 | 
						|
- [ ] Instance resources usage stats
 | 
						|
- [ ] SSH-keys management
 | 
						|
- [x] Setting user passwords in guest
 | 
						|
- [x] QCOW2 disks support
 | 
						|
- [ ] ZVOL support
 | 
						|
- [ ] Network disks support
 | 
						|
- [ ] Images service integration (Images service is not implemented yet)
 | 
						|
- [ ] Manage storage pools
 | 
						|
- [ ] Idempotency
 | 
						|
- [ ] CLI [in progress]
 | 
						|
- [ ] HTTP API
 | 
						|
- [ ] Instance migrations
 | 
						|
- [ ] Instance snapshots
 | 
						|
- [ ] Instance backups
 | 
						|
- [ ] LXC
 | 
						|
 | 
						|
## Development
 | 
						|
 | 
						|
Python 3.11+ is required.
 | 
						|
 | 
						|
Install [poetry](https://python-poetry.org/), clone this repository and run:
 | 
						|
 | 
						|
```
 | 
						|
poetry install --with dev --with docs
 | 
						|
```
 | 
						|
 | 
						|
# Build Debian package
 | 
						|
 | 
						|
Install Docker first, then run:
 | 
						|
 | 
						|
```
 | 
						|
make build-deb
 | 
						|
```
 | 
						|
 | 
						|
`compute` and `compute-doc` packages will built. See packaging/build directory. Packages can be installed via `dpkg` or `apt-get`:
 | 
						|
 | 
						|
```
 | 
						|
apt-get install ./compute*.deb
 | 
						|
```
 | 
						|
 |