github.com/openweft/weft-driver-plugin

Package weftdriverplugin is the wire contract that lets weft run its hypervisor/network/volume/image drivers as external go-plugin processes instead of linking them in-process. Why this exists: the Apple-VZ driver (weft-driver-vz) binds macOS frameworks via cgo, which forced the whole weft binary to be CGO_ENABLED=1 on darwin. Moving every driver behind a gRPC go-plugin boundary keeps the weft core pure-Go (CGO_ENABLED=0 on every platform); the cgo lives only in the weft-driver-vz plugin executable, and the virtualization entitlement applies to that binary alone. Shape: The public-contract sentinels (drivers.ErrNotApplicable / ErrUnsupported / ErrNotFound) and context cancellation survive the boundary as gRPC status codes, reconstructed host-side so errors.Is keeps working (see convert.go).


License
BSD-3-Clause
Install
go get github.com/openweft/weft-driver-plugin

Documentation

openweft