Setyenv · Docs
  • English
  • Spanish
  • Chinese
  • Japanese
  • Arabic
  • German
  • French
  • Hindi
  • Indonesian
  • Italian
  • Dutch
  • Portuguese
  • Russian
  • Turkish

Capabilities

The executor implements exactly six capabilities. Each is opt-in twice: once on the WordPress side (the worker's grants) and once on the executor side (the local allowlist in config.toml). A job only runs if both agree.

KeyWhat it doesTypical use
shell.runExecute a shell command (cmd / powershell / pwsh / bash / sh / auto) with a hard timeout, optional stdin, env overrides, and working directory.Run scripts, scheduled maintenance, build pipelines, anything you would put in cron.
fs.readRead a file as utf-8 or base64, with a max-bytes guard and best-effort MIME detection.Hand a config file, a log fragment or a generated artifact back to the workflow.
fs.writeWrite a file (overwrite / append / create-only), auto-creating parent directories. Base64 input accepted.Drop a generated report, save a downloaded asset, stage a file before another step picks it up.
fs.listDirectory listing, optional recursive, hidden filter, max-entries cap.Inventory a release directory, drive a per-file loop in the workflow.
http.requestArbitrary HTTP call (any method, any headers, JSON or string body) with timeout. Status code is surfaced as the exit code.Hit a LAN-only API, call a self-hosted service, fetch from a private host the WordPress server cannot reach.
system.infoOS, arch, hostname, CPU count, memory, executor version, uptime, advertised capabilities.Health checks, populating workflow metadata, fleet inventory.

Every capability accepts an executor-side timeout, refuses to perform operations outside the configured allowlist, and returns a uniform { exit_code, stdout, stderr, output, duration_ms, error } payload that workflow nodes downstream can switch on.