Fuses a Payload together with the Components it requires into an Image.

Usage: mvn boxfuse:fuse -Dboxfuse.payload=payload

When run as part of a build, the project artifact will automatically be used as a payload.

> mvn boxfuse:fuse -Dboxfuse.payload=hello-1.0.war

Fusing Image for hello-1.0.war ...
Image fused in 00:07.351s (48147 K) -> axelfontaine/hello:1.0

Supported Payload formats:

  • Executable jar file
  • War file
  • Play dist zip
  • Node.js tgz
  • ELF64 binary
  • Revel tar.gz


Plugin Parameter Maven/System property Default Description
user boxfuse.user Required - Your Boxfuse Client user. Also configurable via the BOXFUSE_USER environment variable or the Maven settings.xml
secret boxfuse.secret Required - Your Boxfuse Client secret. Also configurable via the BOXFUSE_SECRET environment variable or the Maven settings.xml
serverid boxfuse.serverid boxfuse The id of the server in the Maven settings.xml file to load the credentials from.

This is an alternative to passing the credentials in directly through properties.
payload boxfuse.payload The project artifact The Payload to use. Can be either a file, a directory or a URL.
payload.port boxfuse.payload.port autodetected The main port on which the payload starts (usually http or https)
payload.path boxfuse.payload.path / The path where the payload starts
cmd boxfuse.cmd first executable file in image

Generic Linux x64 apps only

The command to start the app including relative path and all necessary arguments
components boxfuse.components.NAME latest version Pins the component with this name onto this version.
Example: -components.tomcat=8.0.9
debug boxfuse.debug false Start the Payload in debug mode when an Instance launches
debug.wait boxfuse.debug.wait false

JVM apps only

Whether the JVM should wait for the remote debugger to connect (Only applicable when debug mode is active)
envvars boxfuse.envvars.NAME Fuses this environment variable into the image and make it available at runtime
Example: boxfuse.envvars.JDBC_URL=jdbc:mydburl
healthcheck boxfuse.healthcheck true Check whether to payload started correctly
healthcheck.port boxfuse.healthcheck.port autodetected The port to check whether to payload started correctly
healthcheck.path boxfuse.healthcheck.path / The path to check whether to payload started correctly
healthcheck.timeout boxfuse.healthcheck.timeout 300 The number of seconds to wait for the Payload to come up
jvm.args boxfuse.jvm.args

JVM apps only

Extra arguments to pass to the JVM
jvm.jmx boxfuse.jvm.jmx false

JVM apps only

Enable the JMX remote management and profiling interface for the JVM
jvm.main.class boxfuse.jvm.main.class autodetected

JVM apps only

Main class to invoke on JVM startup
jvm.main.args boxfuse.jvm.main.args

JVM apps only

Arguments to pass to the main class
live boxfuse.live false Enable live reloading of changes in dev for super fast round-trips. Note that images with live reloading cannot be pushed to the Boxfuse Vault.
newrelic.licensekey boxfuse.newrelic.licensekey Installs and configures the New Relic agents to monitor your instance.
ports boxfuse.ports.NAME http=80

Exposes the port of the app with this name using this definition. Example: boxfuse.ports.jmx=8001

Supported formats:

80TCP port 80, universally accessible
80/tcpTCP port 80, universally accessible
80/udpUDP port 80, universally accessible
80/tcp:@TCP port 80 only accessible from your own IP
80/udp:@/20UDP port 80 only accessible from the IPs in the CIDR /20 block of your own IP
80/udp: port 80 only accessible from
80/tcp: port 80 only accessible from the IPs in the CIDR /31 block of
tmp boxfuse.tmp 1 The amount of temp space to allocate to /tmp in GB
vault boxfuse.vault false Immediately upload the new Image to the Boxfuse Vault

Sample Configuration

    <cmd>-cmd=bin/myapp -with -my args</cmd>
    <jvm.main.args>-abc -def</jvm.main.args>

Dynamically defined properties

After you execute run, Boxfuse will automatically define the following Maven properties

Maven property Description
boxfuse.image The image that was used to launch the instances