Skip to main content

A service to read files on dls_sw from a blueapi container

Project description

Frontend CI Backend CI Coverage PyPI License

DAQ Config Server

IMPORTANT: This repository is currently under a rework, none of the features are production-ready yet.

A service to read files on Diamond's filesystem from a BlueAPI container.

Comprises a FastAPI backend

Currently the scope is JUST reading files on /dls_sw/

Source https://github.com/DiamondLightSource/daq-config-server
Docker docker run ghcr.io/DiamondLightSource/daq-config-server:latest
Releases https://github.com/DiamondLightSource/daq-config-server/releases

Currently the server application always needs to be run with the --dev flag, as it cannot yet look at the DLS filesystem to find the real beamline parameter files.

To use the config values in an experimental application (e.g. Hyperion) you can do:

from daq_config_server.client import ConfigServer

config_server = ConfigServer("<service ip address>", <port>)

use_stub_offsets: bool = config_server.best_effort_get_feature_flag("use_stub_offsets")

Testing and deployment

There is a convenient script in ./deployment/build_and_push.sh, which takes a --dev option to push containers with -dev appended to their names and a --no-push option for local development. This ensures that environment variables for dev or prod builds are included in the built container. To push to the registry you must have identified to gcloud by having loaded a kubernetes module and running gcloud auth login.

To deploy a live version, you can run the above script with no arguments and then while logged in to argus, in the daq-config-server namespace, run kubectl rollout restart deployment. If it is not currently deployed it you can deploy it with helm install daq-config ./helmchart.

To test locally, you can build with ./deployment/build_and_push.sh --dev --no-push and then run the container daq-config-server-dev (with the command daq-config-server --dev), daq-config-server-db-dev, and daq-config-server-gui-dev, all with the --net host option.

To test on argus, log in to argus in your namespace and run:

helm install daq-config ./helmchart/ --values dev-values.yaml

followed by:

kubectl port-forward service/daq-config-server-svc 8555

after which you should be able to access the API on http://localhost:8555/docs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

daq_config_server-0.2.0.tar.gz (107.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

daq_config_server-0.2.0-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file daq_config_server-0.2.0.tar.gz.

File metadata

  • Download URL: daq_config_server-0.2.0.tar.gz
  • Upload date:
  • Size: 107.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for daq_config_server-0.2.0.tar.gz
Algorithm Hash digest
SHA256 987800f230134297fa028abd63c9b27a89ef79535b7d0d84587fb43ccdf36a36
MD5 ced23b735647ccb4489c9020c63059bf
BLAKE2b-256 48bfbb68c0f58e6348ea29b1518fb00f8d7253ebb0bed4692c4773aa66423ea1

See more details on using hashes here.

File details

Details for the file daq_config_server-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for daq_config_server-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5cac86a72be803e460f7a535b9bf6558a6afebeae6103752d836e51d5624ce6
MD5 19cb5983edbea20c60a5a67032d71b06
BLAKE2b-256 aa61c319140aea5c2283c7eba27aabec69f22dec308ffc39f43802e9a446e817

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page