vm-manager/brand/nebula-vm/config.xml
Till Wegmueller 9dc492f90f
Add vm-manager library and vmctl CLI
Unified VM management consolidating QEMU-KVM (Linux) and Propolis/bhyve
(illumos) backends behind an async Hypervisor trait, with a vmctl CLI for
direct use and a library API for orchestrators.

- Core library: types, async Hypervisor trait, miette diagnostic errors
- QEMU backend: direct process management, raw QMP client, QCOW2 overlays
- Propolis backend: zone-based VMM with REST API control
- Shared infra: cloud-init NoCloud ISO generation, image download/cache,
  SSH helpers with retry
- vmctl CLI: create, start, stop, destroy, list, status, console, ssh,
  suspend, resume, image pull/list/inspect
- nebula-vm zone brand: lifecycle scripts and platform/config XML for
  illumos zone integration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 18:25:17 +01:00

36 lines
1.2 KiB
XML

<?xml version="1.0"?>
<!--
nebula-vm zone brand configuration.
Points to lifecycle scripts and defines required privileges.
-->
<!DOCTYPE brand PUBLIC "-//Sun Microsystems Inc//DTD Zones Brand//EN"
"file:///usr/share/lib/xml/dtd/zone_brand.dtd.1">
<brand name="nebula-vm">
<modname>nebula-vm</modname>
<initname>/sbin/init</initname>
<login_cmd>/usr/bin/login -z %Z %u</login_cmd>
<forcedlogin_cmd>/usr/bin/login -z %Z -f %u</forcedlogin_cmd>
<user_cmd>/usr/bin/getent passwd %u</user_cmd>
<!-- Lifecycle scripts -->
<install>/usr/lib/brand/nebula-vm/install.ksh %z %R</install>
<boot>/usr/lib/brand/nebula-vm/boot.ksh %z %R</boot>
<halt>/usr/lib/brand/nebula-vm/halt.ksh %z %R</halt>
<uninstall>/usr/lib/brand/nebula-vm/uninstall.ksh %z %R</uninstall>
<prestatechange>/usr/lib/brand/nebula-vm/support.ksh prestate %z %R</prestatechange>
<poststatechange>/usr/lib/brand/nebula-vm/support.ksh poststate %z %R</poststatechange>
<!-- Privileges granted to the zone -->
<privilege set="default" name="proc_clock_highres" />
<privilege set="default" name="sys_admin" />
<privilege set="default" name="sys_mount" />
<privilege set="default" name="file_dac_read" />
<privilege set="default" name="net_rawaccess" />
</brand>