DigitalDownConverter — Deployment

Debian Packages

The pipeline is distributed as Debian packages built by CI and hosted in the MPIFR Aptly repository. The edd_dbbc Docker image installs them at build time.

Package

Contents

python3-edd-dbbc

Python library (edd.dbbc)

edd-dbbc-utils

Compiled C++ binaries (ddc_processing, etc.)

Docker Image

Property

Value

Image name

edd_dbbc

Base image

edd_build:cuda12.6.1_ubuntu24.04

Ansible build role

roles/edd_dbbc/

Registry

gitlab-registry.mpcdf.mpg.de/mpifr-bdg/edd/dbbc

The image installs python3-edd-core, python3-edd-dbbc, edd-dbbc-utils, mkrecv, mksend, and psrdadacpp from the MPIFR Aptly repository.

CI Pipeline

Stage

Job

Description

build

build_source

CMake + make, produces release/ artifacts

build

build-deb

Builds Debian packages via .build_template

test

test_cpp

CTest suite against built binaries

test

test_python

Python test suite with coverage

stats

coverage_cpp

lcov C++ coverage badge

stats

coverage_python

Python coverage badge

stats

cpplint

C++ style lint badge

stats

pylint

Python lint

deploy

upload-deb

Uploads packages to Aptly (requires build + tests)

deploy

build_docker

Builds and pushes edd_dbbc image

Ansible Deployment

The pipeline is deployed via the ddc_processor Ansible role:

ansible-playbook provision.yml --tags ddc_processor

The role delegates to EDD.core.common with:

image_name: edd_dbbc
default_container_name: ddc_processor
container_cmd: "edd_ddc_processor --host={{ edd_subnet }} --port={{ bind_port }}"
register_as_pipeline: True
provision_test_imports: "edd.dbbc.ddc_processor_tests"

Provision Tests

Provision tests are imported from edd.dbbc.ddc_processor_tests. They verify that the pipeline starts, accepts configuration, and reaches the configured state before the observation begins.