DiamondLightSource / DiamondLightSource/mx-bluesky
Move Hyperion to BlueAPI
- Dominant language
- Python
- Stars
- 4
- Forks
- 5
- Avg merge
- 1d 30m
- Merged PRs (30d)
- 2
Description
We are increasingly working on Bluesky for beamlines using BlueAPI. Hyperion currently doesn't really use BlueAPI, and this us causing some code duplication and general messiness.
For example,
- We will have two almost identical helmcharts with the same config, but one is for the Hyperion service and one is for mx-bluesky-blueapi
- Device instantiation works differently: https://github.com/DiamondLightSource/mx-bluesky/issues/1116
We should start to call our plans via the BlueAPI server instead of a separate Hyperion one.
Note that relying on BlueAPI fully for Hyperion will make releases more difficult due to its dependence on dodal (see https://github.com/DiamondLightSource/mx-bluesky/issues/922#issuecomment-2813252324). We should probably only begin this issue once https://github.com/DiamondLightSource/dodal/issues/1189 is completed
## Acceptance Criteria
- Hyperion calls its plans via BlueAPI's server
### Subtasks
* DiamondLightSource/blueapi#506 - done as far as we are concerned but core still have this open for their own reasons
* #1364 - Update deployment documentation and scripts to deploy hyperion experiment plans as a blueapi server
* #1365 - Separate out hyperion baton handler into its own service
* DiamondLightSource/bluesky-stomp#14 - External callbacks to communicate via stomp instead of 0mq
* #1366 - `hyperion_restart()` to relaunch the blueapi and/or supervisor process
* ~#1367 - remove obsolete Hyperion experiment plans~
* #840
* DiamondLightSource/dodal#1189
* DiamondLightSource/blueapi#1236
* DiamondLightSource/blueapi#732
* #1376 - Authentication for hyperion-blueapi - probably need client ID, get from UAS request?
* #1377
* #1400
* #1532
* #1674
Contributor guide
Assessment
This issue has not been assessed yet.