Capsule OSv
A caplet that wraps a capsule in an OSv image.
Requirements
In addition to Capsule's:
- Capstan correctly installed.
Usage
The Gradle-style dependency you need to embed in your Capsule JAR, which you can generate with the tool you prefer (f.e. with plain Maven/Gradle as in Photon and capsule-gui-demo or higher-level Capsule build plugins), is co.paralleluniverse:capsule-osv:0.1.0. Also include the caplet class in your Capsule manifest, for example:
Caplets: MavenCapsule OsvCapsule
capsule-osv can also be run as a wrapper capsule without embedding it:
$ java -Dcapsule.log=verbose -jar capsule-osv-0.1.0.jar my-capsule.jar my-capsule-arg1 ...
It can be both run against (or embedded in) plain (e.g. "fat") capsules and Maven-based ones.
Additional Capsule manifest entries
The following additional manifest entries and system properties can be used (see the Capstan docs for further details):
capsule.osv.buildOnlysystem property: builds an image without launching the app (default: false).capsule.osv.hypervisorsystem property: allows to specify a non-default hypervisor to be used by OSV (default: KVM on Linux).Port-Forwardmanifest entry: configure OSv port forwarding (default: none). Thecapsule.osv.portForwardsystem property can override it.Network-Type: configure OSv network type (default: user networking on KVM). Thecapsule.osv.networkTypesystem property can override it.Physical-NIC-Name: configure OSv physical NIC name (needed with VirtualBox). Thecapsule.osv.physicalNICNamesystem property can override it.
Known caveats
At present Java agents don't work (see this OSv issue).
License
MIT