Skip to content

Arranger Service

This core service orchestrates workflow executions.

It exposes no user-facing endpoints.

There are four service-specific configuration file options.

Environment variables

You can set the ARRANGER_DEBUG_LEVEL (all upper-cased) or DEBUG_LEVEL environment variables to DEBUG to add additional information in the console for the launched service. It defaults to INFO. (Please note that setting DEBUG_LEVEL to DEBUG will produce tons of logs.)

The possible values are NOTSET, DEBUG, INFO, WARNING, ERROR, and FATAL. Those values are from the most verbose, NOTSET, which shows all logs, to the least verbose, FATAL, which only shows fatal errors.

If ARRANGER_DEBUG_LEVEL is not defined then the value of DEBUG_LEVEL is used (or INFO if DEBUG_LEVEL is not defined either).

Access logs are only shown at NOTSET and DEBUG levels.

Configuration file

This service has a configuration file (arranger.yaml by default) that describes the host, port, ssl_context, and trusted_authorities to use. It can also enable insecure logins. It can also change the service limits.

If no configuration file is found it will default to the following values:

kind: ServiceConfig
current-context: default
- context:
    port: 443
    ssl_context: adhoc
      token: invalid
    max_jobs: 1024
    max_job_steps: 10240
    max_workers: 4
    default_timeout_minutes: 360
  name: default

The configuration included in the ‘allinone’ image is described in “Common settings.” The listening port is 7781 and the bind address is as the service exposes no user-facing endpoints.

Four service-specific configuration options can be refined.

Workflow limits

All those limits must be integers. If the entry is missing, the default value will be assumed. They must be defined in the currently-used context.

max_jobs limits the number of jobs in a workflow. If a workflow contains or generates more jobs than this limit, the workflow will be canceled. If not specified, defaults to 1024.

max_job_steps limits the number of steps in a workflow. If a job contains or generates more steps than this limit, the job will be canceled. If not specified, defaults to 10240.

max_workers limits the number of jobs in a workflow that can be running at any given time. If not specified, defaults to 4.

default_timeout_minutes is the default maximum duration for a job, in minutes. If not specified, defaults to 360 minutes.


The arranger service subscribes to the following events:

kind apiVersion

The arranger service exposes an /inbox endpoint that is used by the event bus to post relevant events.

Launch command

If you want to manually start the arranger service, use the following command:

python -m opentf.core.arranger [--context context] [--config configfile]

Additional command-line options are available and described in “Command-line options.”