Configuration

sorunlib tries to automatically determine as much about the OCS network as it can, however some things still require configuration. This page details the sorunlib configuration file.

Note

This format is still under development and might change. Check back here if in doubt of formatting.

Example

A full configuration file example with comments is shown here:

---
# sorunlib configuration

# minimum number of SMuRFs that must be working to continue operations
smurf_failure_threshold: 3

# voltage in V to apply to the wiregrid motor during rotation
wiregrid_motor_voltage: 12.0
# current in Amps to apply to the wiregrid motor during rotation
wiregrid_motor_current: 3.0

# agents
# sorunlib automatically detects unique agents on the OCS network, so only
# non-unique agents need to be specified here.

# ocs registry agent
registry: 'registry'

# wiregrid agents
wiregrid:
  labjack: 'wg-labjack'

Configuration Selection

Select the configuration file to load by setting the SORUNLIB_CONFIG environment variable:

$ export SORUNLIB_CONFIG=/path/to/sorunlib/config.yaml

In practice, sorunlib is typically run within a Docker container, so it’s quite natural to set this in a compose file. The following example uses the so-daq-sequencer image:

sequencer-backend:
  image: ghcr.io/simonsobs/so-daq-sequencer:latest
  restart: always
  container_name: sequencer-backend
  environment:
    - OCS_CONFIG_DIR=/path/to/ocs/config/
    - SORUNLIB_CONFIG=/path/to/sorunlib/config.yaml