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

A service to read files on Diamond's filesystem from a BlueAPI container. Currently this service is only able to read files on /dls_sw/. Writing to configuration files will come in a future release.

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
Documentation https://DiamondLightSource.github.io/daq-config-server

Here is a minimal example to read a file from the centrally hosted service after installing this package

from daq_config_server import ConfigClient

config_client = ConfigClient("https://daq-config.diamond.ac.uk")

file_contents = config_client.get_file_contents({ABSOLUTE_PATH_TO_CONFIG_FILE}, desired_return_type=str)

The output will come out as a raw string - you should format it as required in your own code. You may also request that the file contents is returned as a dict or in bytes - this will raise an http exception if the file cannot be converted to that type. To be able to read a file, you must first add it to the whitelist.

Testing

To run unit tests, type tox -e unit_tests from within the dev container

There is a convenient script in ./deployment/build_and_push.sh which can be used to easily build and run the container locally for testing, and optionally push the container to a repository. In general we should rely on the CI to be pushing new containers - however it is sometimes useful to push a development image to a private repo for development or debugging.

To run local system tests, start a local container by running ./deployment/build_and_push.sh -r -b. Then, in the dev container, forward port 8555. There are instructions on port forwarding within vscode here. Next, in a terminal in the devcontainer, run tox -e system_tests_local from the daq-config-server directory.

To run a test deployment 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

See https://DiamondLightSource.github.io/daq-config-server for more detailed documentation.

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-1.3.5.tar.gz (232.0 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-1.3.5-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for daq_config_server-1.3.5.tar.gz
Algorithm Hash digest
SHA256 e667b348d97e1e78c0917f911660fe8192019ca59ba27abdf7f3dd2be3ca88af
MD5 0b2b1d398d06890feb855eeed4cb681a
BLAKE2b-256 1c01d1745bc3856fc43f77d75b1de7226bab14f39178e4c72ee1a0727b262041

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daq_config_server-1.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 163fa6501411e8328615907e23b7afc834c1bf1bf76da39f5d5f381149e9bdd0
MD5 66cb903892e6df9b39e0248d620dc6ff
BLAKE2b-256 e88cd4c2ce482aaa5cf73ea91a61126e321afacc75da9211c7c6cec73cf9af7e

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