ISISComputingGroup / ISISComputingGroup/saluki

`howl`: fill out `nexus_structure` in the run start message

Open
#89 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1
Forks
1
Avg merge
6d 1h
Merged PRs (30d)
1

Description

I would like to be able to test any downstream consumers that rely on the [ `nexus_structure` field of a run start](https://github.com/ISISComputingGroup/streaming-data-types/blob/master/schemas/pl72_run_start.fbs#L19)

this is loosely defined [here](https://github.com/ess-dmsc/kafka-to-nexus/blob/main/documentation/commands.md#defining-a-nexus-structure-in-the-runstart-command) but we need to write our own documentation on this when we start with our filewriter.

for now I think the easiest approach would be to take a json file which has a sensible default, load it and literally just use the contents of that file as the `nexus_structure` field. This default file will evolve over time but should probably contain some [static data](https://github.com/ess-dmsc/kafka-to-nexus/blob/main/documentation/commands.md#static-datasets) and a [placeholder](https://github.com/ess-dmsc/kafka-to-nexus/blob/main/documentation/commands.md#data-streams-alt-writer-modules) for the `ev44` events which we also stream in `howl`

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the howl code that constructs the run-start message and compare its nexus_structure field with the pl72_run_start.fbs schema and the linked kafka-to-nexus documentation. Add a default JSON definition containing static data and an ev44 stream placeholder, load that file for the field, and verify downstream consumers can use the resulting run-start message.

Written by the indexing model from the issue text.

Assessment

Tech stack
json, kafka, rust
Domain
backend, stream-processing
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.