compute | ||
docs | ||
packaging | ||
.gitignore | ||
computed.toml | ||
COPYING | ||
Makefile | ||
poetry.lock | ||
pyproject.toml | ||
README.md | ||
requirements.txt |
Compute
Compute instances management library.
Docs
Run make serve-docs
. See Development below.
Roadmap
- Create instances
- CDROM
- cloud-init for provisioning instances
- Power management
- Pause and resume
- vCPU hotplug
- Memory hotplug
- Hot disk resize [not tested]
- CPU customization (emulation mode, model, vendor, features)
- CPU topology customization
- BIOS/UEFI settings
- Device attaching
- Device detaching
- GPU passthrough
- CPU guarantied resource percent support
- QEMU Guest Agent management
- Resource usage stats
- SSH-keys management
- Setting user passwords in guest
- 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
- Migrations
- Snapshots
- Backups
- LXC
- Attaching CDROM from sources: block, (http|https|ftp|ftps|tftp)://
- Instance clones (thin, fat)
Development
Python 3.11+ is required.
Install poetry, 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.
Installation
See Installation.
Basic usage
To get help run:
compute --help
See CLI docs for more info.
Also you can use compute
as generic Python library. For example:
import compute
with compute.Session() as session:
instance = session.get_instance('myinstance')
if not instance.is_running():
instance.start()
else:
print('instance is already running')