# FieldSystemInterface — Deployment ## Docker Image | Property | Value | |---|---| | Image name | `field_system_interface` | | Base image | EDD base (non-GPU) | | Ansible build role | `roles/field_system_interface/` | | Registry | `gitlab-registry.mpcdf.mpg.de/mpifr-bdg/edd/dbbc` | The image installs `python3-edd-dbbc` and `python3-edd-core` from the MPIFR Aptly repository. ## Ansible Deployment The service is deployed via the `field_system_interface` role: ```bash ansible-playbook provision.yml --tags field_system_interface ``` The role: 1. Creates the config directory at `fs_interface_data_path` (default `/etc/edd/field_system_interface/`) 2. Renders `config.json` from the Jinja2 template 3. Starts the container via `EDD.core.common` with: ```yaml image_name: field_system_interface default_container_name: field_system_interface register_as_pipeline: False launch_on_deploy: True restart_policy: "on-failure" volumes: - ":/etc/edd/field_system_interface/" ``` ## Key Ansible Variables Defined in `roles/field_system_interface/defaults/main.yml`: | Variable | Default | Description | |---|---|---| | `fs_interface_port` | 7150 | KATCP server port | | `fs_interface_dbbc_port` | 5000 | DBBC TCP port | | `fs_interface_mark5_port` | 2620 | Mark5b port | | `fs_interface_n_if` | 4 | Number of IFs | | `fs_interface_n_bbc` | 16 | Number of BBCs | | `fs_interface_command_timeout` | 10.0 | Command timeout (s) | | `fs_interface_sensor_cache_ttl` | 1.0 | Sensor cache TTL (s) | | `fs_interface_data_path` | `/etc/edd/field_system_interface/` | Config mount path | | `master_controller_host` | `localhost` | Master Controller address | | `master_controller_port` | 7147 | Master Controller KATCP port |