DiamondLightSource / DiamondLightSource/mx-bluesky
`hyperion-blueapi` requires write permissions to /data in order to create the storage directories
- Dominant language
- Python
- Stars
- 4
- Forks
- 5
- Avg merge
- 1d 30m
- Merged PRs (30d)
- 2
Description
Currently `hyperion-blueapi` contains code in the parameter model validator `validate_directories()` that writes to the data directory whenever the model is validated, in order to ensure that the `storage_directory` exists.
Ideally we would not need to do this so that we can run with reduced privileges, however this will require the callbacks to do this, before we start collection.
Do we also still want to support inline creation for use cases where other non-UDC beamlines don't have to register fiddly callbacks?
## Acceptance Criteria
- `hyperion-blueapi` doesn't create the directories itself
Contributor guide
Research direction
Start at the parameter model validator validate_directories() and trace how storage_directory is handled during validation. Check the callback path that runs before collection, then update the behavior so hyperion-blueapi does not create directories itself and verify the acceptance criterion without relying on unspecified inline creation behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100