Go to file
2024-05-17 00:06:14 +03:00
compute fix creating instances from ISO and existing volumes 2024-05-17 00:05:38 +03:00
docs v0.1.0-dev4 2024-01-13 00:45:30 +03:00
extra add PKGBUILD, upd DEB builder 2024-01-16 22:26:59 +03:00
packaging fix build issue 2024-05-17 00:06:14 +03:00
.gitignore add PKGBUILD, upd DEB builder 2024-01-16 22:26:59 +03:00
computed.toml various updates v.dev3 2023-12-13 01:42:50 +03:00
COPYING various improvements 2023-11-23 02:34:02 +03:00
instance.full.yaml upd instance.yaml example 2024-01-16 22:25:12 +03:00
Makefile remove docs from all target 2024-01-16 22:29:56 +03:00
poetry.lock various improvements 2023-12-03 23:25:34 +03:00
pyproject.toml v0.1.0-dev4 2024-01-13 00:45:30 +03:00
README.md v0.1.0-dev4 2024-01-13 00:45:30 +03:00
requirements.txt various improvements 2023-11-23 02:34:02 +03:00

Compute

Compute instances management library.

Docs

Documantation is available here. To build actual 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)
  • MicroVM

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')