Skip to main content
The Run page lets you dispatch any Salt execution-module function against any target without dropping to the command line. It supports every Salt targeting method, optional positional arguments and keyword arguments, and returns the Salt job ID immediately so you can track the job on the Jobs page. Every run command is recorded in the audit log with the full request payload.
Run command form with fields for target, target type, function, args, and kwargs

Run form showing target, target type, function, args, and kwargs fields

Request shape

When you submit the Run form, Halite sends a POST /api/run request with the following JSON body (defined by RunCommandIn):
string
required
The targeting expression. What this means depends on target_type — a glob pattern, comma-separated minion IDs, a PCRE regex, a grain match, a nodegroup name, or a compound expression.
string
default:"glob"
How to interpret target. One of:
string
required
The execution function in module.function form (e.g. test.ping, pkg.version, state.highstate). The field validates that the value matches the module.function pattern.
array
Positional arguments passed to the function. Each element is a string. Defaults to [].
object
Keyword arguments passed to the function as a key/value object. Defaults to {}.

Response

A successful dispatch returns HTTP 202 Accepted with the following body (defined by RunCommandOut):
  • jid — the Salt job ID; use this to look up results on the Jobs page.
  • minions — the list of minion IDs that were targeted.

Function autocomplete

The function input field is backed by the Salt function catalog, served from GET /api/salt/functions. The catalog lists every execution function the Salt master knows about, cached for one hour to avoid hammering salt-api on every keystroke. Any authenticated user can access the catalog.

Examples

Example 1: ping all minions

  1. Set Target to *
  2. Leave Target type as glob
  3. Set Function to test.ping
  4. Leave Args and Kwargs empty
  5. Click Run

Example 2: check the installed version of nginx on web servers

  1. Set Target to web-*
  2. Leave Target type as glob
  3. Set Function to pkg.version
  4. Add nginx to Args
  5. Click Run
Open the Jobs page and find the JID to see the version string returned by each minion.

Saving as a template

If you run the same command regularly, save it as a Command Template. Click Save as template in the Run form after filling in the fields. Templates can be kept private or shared with your team.

Permissions

The built-in operator role has execute:salt:*. The built-in viewer role does not — viewers can browse results but cannot dispatch jobs. For custom roles and permission scoping, see RBAC.