zmgr/docs/ai/gap-analysis.md
Till Wegmueller abdce9c927
Add zmgr: illumos zone manager with IPAM and flat-file registry
Rust CLI that creates/destroys/imports illumos zones from KDL template
configs with automatic IP allocation from named pools. Registry lives
under /etc/zmgr as flat KDL files — zone entries double as the IPAM
ledger. Includes default templates for ipkg (OI) and nlipkg (OFL)
brands, matching the existing shell scripts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 12:14:09 +01:00

40 lines
2 KiB
Markdown

# Gap Analysis
## Current Gaps
### Publishers Not Applied During Install
Publishers are stored and listed but not yet passed to `zonecfg`/`zoneadm` during zone creation. Future: configure IPS publishers inside the zone after install via `zlogin` or `sysding`.
### No Zone Boot/Halt Commands
`zmgr` doesn't expose boot/halt/reboot as subcommands. Users must use `zoneadm -z <name> boot` directly. Could add `zmgr boot <name>` / `zmgr halt <name>` as thin wrappers.
### No Template Create/Edit via CLI
Templates must be edited as KDL files directly. Could add `zmgr template create` / `zmgr template edit` commands.
### No Pool Create/Edit via CLI
Same as templates — pools are managed by editing files. Could add CLI commands.
### No ZFS Dataset Management
The original VM scripts create ZFS volumes (`zfs create -V`). zmgr doesn't manage ZFS datasets. For zone brands, `zoneadm install` handles the zonepath ZFS dataset automatically.
### No Cloud-Init / Sysding Integration
The VM scripts generate cloud-init configs (user-data, meta-data, network-config). Zones don't use cloud-init but could benefit from sysding config generation for first-boot setup (hostname, SSH keys, networking).
### No Dry-Run Mode
`zmgr create --dry-run` could show what would happen without executing system commands. Useful for validation.
### No VNIC Naming Customization
VNICs are always `<zonename>0`. Could support custom VNIC naming patterns.
### Import Matching is Best-Effort
Import matches zones to templates by brand and IPs to pools by network containment. Zones with unusual configs may get poor matches. Manual editing of the resulting KDL files may be needed.
### No IPv6 Support
IPAM only handles IPv4 pools. Could extend to dual-stack.
## Future Considerations
- **Zone ordering**: Dependencies between zones (e.g., start DNS zone before app zones)
- **Snapshots**: ZFS snapshot management for zone rollback
- **Migration**: Move zones between hosts
- **Monitoring**: Health checks, resource usage