Deploying with Scripts
Last updated
This guide explains how to write and execute deployment scripts using the Rumi Controller.
Deployment scripts automate the provisioning, launching, and lifecycle management of Rumi systems. Scripts are typically packaged inside a XAR and define the sequence of operations needed to bring a system from initial deployment to a running state.
Scripts are composed of commands that target containers within a system. Each command specifies an operation and the containers it applies to.
Commands can target all containers or specific containers by name:
provision all containers
launch the <containerName> container
start the <containerName> containerThe xvm and xvms keywords are still accepted in scripts for backward compatibility.
A typical deployment script follows this sequence:
Provision all containers on their target hosts.
Launch each container's JVM process.
Start the microservices within each container.
A teardown script reverses this:
Stop the microservices.
Shutdown the container JVM processes.
Cleanup provisioned files.
Scripts support parameterized values for environment-specific configuration. Parameters are resolved at execution time, allowing the same script to adapt to different environments (development, staging, production).
When using the Controller standalone, scripts are executed from the command line against a specified system.
Scripts can be executed remotely through the Agent's REST API:
The request body specifies the system name and script to execute. See the REST API Reference for details.
The Admin dashboard provides a visual interface for selecting and executing scripts. See Executing Scripts (Admin).
Script execution is tracked by the Agent with a UUID. The execution status can be queried to monitor progress:
Pending β Queued for execution.
Running β Currently executing.
Success β Completed successfully.
Aborted β Cancelled or failed.
A running script can be cancelled via the Agent:
See the Script Commands Reference for the complete list of available commands and their options.
Last updated
POST /rumi-agent/invoke/scriptPOST /rumi-agent/invoke/cancel?uuid=<executionUUID>