Repository navigation
Releases: openvcenter/Open-vCenter-Backend
Releases · openvcenter/Open-vCenter-Backend
Release list
0.4.0
Added
- Per-task timeouts computed by the backend (
app/task_timeouts.py) and sent
to the agent asAgentRequest.timeout_seconds(ovc-agent 1.0.8 kills the job
after it; older agents ignore it). Long kinds keep their base and add a disk
budget:vm_create/vm_editfrom the disks in the params (Fixed
size_gb× 10s, minimum 120s; Dynamic 60s),vm_move/vm_rename/
vm_export_template/vm_clonefrom the disks they copy (10s per GB used). - Migration 0007:
tasks.timeout_seconds, the task's own backend deadline
(agent timeout + 300s). The timeout sweeper and the VM-lock TTL use it, so a
large Fixed disk or clone is no longer timed out while the agent still works.
Removed
scripts/fake_agent.pyand the composedemoprofile. The frontend's demo
mode runs Open vCenter without a Hyper-V host.
Changed
- README lists the dependencies instead of the local infra setup.
0.3.0
Added
- Role-based access control. Privileges (
vm.power,vm.console,
host.maintenance,rbac.manage, …) make up roles; a permission grants a
role to an identity-provider group on global, a cluster, a host, a folder or
a VM, optionally propagating to what is below. A VM's own permissions
override the rest, otherwise it gets the union of its folder and its host;
the most specific level wins and No access blocks a path. Built-in roles
Administrator, Read-only and No access, plus editable sample roles. - Every mutating route checks its privilege (VM actions through
VM_ACTION_PRIVILEGES). Lists show only granted objects; the host / cluster
of a visible VM stays readable. Creating, renaming, moving and removing hosts
and clusters needs the privilege globally, and a folder is managed from its
cluster or host - a permission on an object covers what is inside it, not the
object itself. A delegate can't grant a role with privileges they lack. - API:
/rbac/catalog,/roles(CRUD + clone),/permissions(CRUD, direct
and inherited),/rbac/groups,/me/privileges(batched),/rbac/effective
(why a group may do what). Role and permission changes are audited. GET /vms/{id}/console(vm.console) andGET /hosts/{id}/console
(host.console): where a console connects; the frontend tunnel no longer
takes an address from the browser.- Permissions follow deletes of clusters, hosts, folders and VMs, plus an hourly
orphan sweeper in the worker. - Migration 0006:
roles,role_privileges,permissions;users.groups
replacesusers.roles;scope_grantsis dropped.
Changed
- The user's groups are read from the token at
OVC_OIDC_GROUPS_CLAIM
(defaultresource_access.${client_id}.roles, the Keycloak client roles;
groupsfor Keycloak groups, Entra ID, Okta). It replaces
OVC_OIDC_ROLES_CLAIM. Members ofOVC_ADMIN_GROUP(default
ADMINISTRATOR) are superusers; it replacesOVC_ADMIN_ROLE. GET /mereturnsgroups,superuserandglobalPrivilegesinstead of
rolesandscopes.
0.2.1
Changed
- The project moved to the openvcenter GitHub organization: images are now
published asghcr.io/openvcenter/ovc-backend, and the README shows the new
Open vCenter logo. No code changes.
0.2.0
Added
- Audit log: every change made through the API (VM create / clone / delete /
power and management actions / folder move / tags, folders, clusters, host
membership and actions, VLANs, tags, agent binaries, forced lock releases) is
recorded with who, when, the target's name and a before/after diff.
Agent-task events startpendingand the worker settles them to the task's
outcome. VMs that vanish from a host's inventory (deleted outside OVC) are
recorded as system events.GET /audit-events(admin only, filters, cursor
pagination). KeptOVC_AUDIT_RETENTION_DAYS(default 365,0= forever).
Migration 0005. Run the API and the worker from the same release - the
worker is what settles event outcomes.
0.1.1
Added
- VM tags: a global catalog of categories and tags with colours from a fixed
10-name palette (/tag-categories,/tags, admin-only writes), and
PUT /vms/{id}/tagsfor anyone who can see the VM. A VM holds at most one
tag per category. Migrations 0002 and 0003. - Host actions (
POST /hosts/{id}/actions/{action}): Failover Cluster node
pause / resume (with drain and fallback), host restart, forced hardware
and inventory refresh. Disruptive actions are admin-only. - VM guest OS and console thumbnails from the agent's
vm_inventory:
guestOson VMs andGET /vms/{id}/thumbnail(JPEG,X-Captured-At).
Migration 0004. - Richer host hardware: NIC driver / firmware / link details, vSwitch and
SET teaming info, Fibre Channel HBAs. - The app version (OpenAPI
info.version) comes frompyproject.toml.
Changed
- VM placement rules on create, clone and storage move: clustered hosts
accept only Cluster Shared Volumes; standalone hosts rejectC:unless it
holds the Hyper-V default VM path. - Migrating a VM between cluster nodes requires High Availability.
- Python 3.14 and updated dependencies.
Fixed
- Agent binary upload accepts only
.exefiles.