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
|
|
```
|
|
|