Configuration

Jobmon provides a flexible configuration system that allows you to customize behavior through configuration files, environment variables, or programmatic settings.

Overview

Configuration is loaded from multiple sources in order of precedence:

  1. Values set in code - Parameters passed directly to Jobmon functions

  2. Environment variables - Variables prefixed with JOBMON__

  3. Configuration files - YAML files in standard locations

  4. Default values - Built-in defaults

Configuration Files

Jobmon looks for configuration in these locations (in order):

  1. Path specified by JOBMON_CONFIG_FILE environment variable

  2. ./jobmon.yaml in the current directory

  3. ~/.jobmon.yaml in your home directory

  4. System-wide configuration (varies by installation)

Basic Configuration

A minimal configuration file:

http:
  service_url: "http://jobmon-server.example.com:5000"

Common Settings

# Server connection
http:
  service_url: "http://jobmon-server.example.com:5000"
  retries_attempts: 10
  timeout: 30

# Default distributor settings
distributor:
  cluster_name: "slurm"
  poll_interval: 10

# Telemetry (optional)
telemetry:
  logging:
    enabled: true

Environment Variables

All configuration values can be set via environment variables using the JOBMON__ prefix with double underscores separating nested keys:

# Set server URL
export JOBMON__HTTP__SERVICE_URL="http://jobmon-server.example.com:5000"

# Set default cluster
export JOBMON__DISTRIBUTOR__CLUSTER_NAME="slurm"

Sections

See Also