BFC BFC Docs
Automation

Other Console modes

Understand interactive, JSON, and Python execution modes in BFC Console.

BFC Console selects its operating mode from the command-line arguments and file extension.

Interactive mode

Starting the Console without a script opens its interactive environment:

docker run --rm -it -v /path/to/workspace:/mnt/fog balluff/bfc-console

This mode loads available plugins and lets an operator try supported commands. Successful interactive commands can be recorded into generated JSON scripts under:

_volumes/__json_scripts/generated/

Interactive mode requires a terminal and is not created by the Setup Tool's Upload script action.

JSON scripts

JSON scripts are command sequences divided into lifecycle phases:

  • SETUP runs once.
  • LOOP repeats until a stop request.
  • TEARDOWN runs during shutdown.

Run an included JSON script manually:

docker run --rm -it \
  -v /path/to/workspace:/mnt/fog \
  balluff/bfc-console \
  __json_scripts/o01_init.json

Use the JSON examples as release-specific templates. Command names depend on the loaded plugins and drivers.

Python scripts

Files ending in .py select the Python controller. The release includes _volumes/__python_scripts examples and type stubs, but the Setup Tool file picker and naming workflow are currently Lua-oriented. Treat Python execution as an advanced preview feature and test it manually before relying on it.

Multiple scripts

The Console command scheduler accepts more than one script argument and can run tasks asynchronously. The Setup Tool instead creates one container per selected Lua script. One container per automation is easier to stop, inspect, and replace independently and is the recommended first-release operating model.

Shutdown signals

In a terminal:

  • Ctrl+C requests a graceful stop.
  • Repeated stop signals escalate cancellation and eventually force exit.
  • Ctrl+Break toggles suspension where supported.

In Docker, use docker stop or the Setup Tool Stop button so the configured SIGINT stop signal reaches the runtime.

Built with ASP.NET Core and Markdig. BFC user documentation · preview release