Configuration#

Applications for bfabric-app-runner are defined in an app.yml file. This file specifies the app runner version, application versions, and the commands to execute for each workflow stage.

Basic Structure#

An app.yml has two top-level sections:

bfabric:
  app_runner: "0.2.1"

versions:
  - version: "1.0.0"
    commands:
      dispatch:
        type: python_env
        pylock: dist/v1.0.0/pylock.toml
        command: -m myapp.dispatch
        local_extra_deps:
          - dist/v1.0.0/myapp-1.0.0-py3-none-any.whl
      process:
        type: python_env
        pylock: dist/v1.0.0/pylock.toml
        command: -m myapp.process
        local_extra_deps:
          - dist/v1.0.0/myapp-1.0.0-py3-none-any.whl
bfabric.app_runner

The app-runner version to pull from PyPI. This ensures reproducible execution regardless of which version is installed locally.

versions

A list of application versions, each with its own commands for dispatch, process, and optionally collect.

Command Types#

Four command types are available: python_env (recommended), exec, docker, and shell (deprecated in favor of exec). See the App specification for the full field reference of each command type, and Creating an App for advanced features like multi-version templates and development versions.

Validation#

Validate your app.yml against the expected schema:

bfabric-app-runner validate app-spec app.yml

Next Steps#