{"id":25895414,"url":"https://github.com/diamondlightsource/daq-config-server","last_synced_at":"2025-06-29T23:38:24.003Z","repository":{"id":241379306,"uuid":"804970111","full_name":"DiamondLightSource/daq-config-server","owner":"DiamondLightSource","description":"For storing beamline-specific parameters and constants, feature flags etc.","archived":false,"fork":false,"pushed_at":"2025-06-25T16:25:43.000Z","size":2747,"stargazers_count":1,"open_issues_count":27,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-25T16:53:34.073Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DiamondLightSource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-23T16:15:50.000Z","updated_at":"2025-06-11T09:32:59.000Z","dependencies_parsed_at":"2024-06-12T15:21:00.322Z","dependency_job_id":"2628ab83-3beb-4873-93ed-f0308b17f25a","html_url":"https://github.com/DiamondLightSource/daq-config-server","commit_stats":null,"previous_names":["dperl-dls/config-service","dperl-dls/daq-config-service"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/DiamondLightSource/daq-config-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdaq-config-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdaq-config-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdaq-config-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdaq-config-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DiamondLightSource","download_url":"https://codeload.github.com/DiamondLightSource/daq-config-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdaq-config-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261945394,"owners_count":23234242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-02T22:31:14.528Z","updated_at":"2025-06-29T23:38:23.987Z","avatar_url":"https://github.com/DiamondLightSource.png","language":"Python","readme":"[![Frontend CI](https://github.com/DiamondLightSource/daq-config-server/actions/workflows/gui_ci.yml/badge.svg)](https://github.com/DiamondLightSource/daq-config-server/actions/workflows/gui_ci.yml)\n[![Backend CI](https://github.com/DiamondLightSource/daq-config-server/actions/workflows/ci.yml/badge.svg)](https://github.com/DiamondLightSource/daq-config-server/actions/workflows/backend_ci.yml)\n[![Coverage](https://codecov.io/gh/DiamondLightSource/daq-config-server/branch/main/graph/badge.svg)](https://codecov.io/gh/DiamondLightSource/daq-config-server)\n[![PyPI](https://img.shields.io/pypi/v/daq-config-server.svg)](https://pypi.org/project/daq-config-server)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\n# DAQ Config Server\n\nA 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.\n\n|  Source  |     \u003chttps://github.com/DiamondLightSource/daq-config-server\u003e      |\n| :------: | :----------------------------------------------------------------: |\n|  Docker  |  `docker run ghcr.io/DiamondLightSource/daq-config-server:latest`  |\n| Releases | \u003chttps://github.com/DiamondLightSource/daq-config-server/releases\u003e |\n\nHere is a minimal example to read a file from the centrally hosted service after installing this package\n\n```python\nfrom daq_config_server.client import ConfigServer\n\nconfig_server = ConfigServer(\"https://daq-config.diamond.ac.uk\")\n\nfile_contents = config_server.get_file_contents({ABSOLUTE_PATH_TO_CONFIG_FILE}, desired_return_type=str)\n\n```\nThe 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](https://github.com/DiamondLightSource/daq-config-server/blob/main/whitelist.yaml).\n\n\n## Testing and deployment\n\nTo run unit tests, type `tox -e unit_tests` from within the dev container\n\nThere 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 ghcr. In general we should rely on the CI to be pushing new containers - it should only be done manually for urgent debugging.\n\nTo run 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](https://code.visualstudio.com/docs/debugtest/port-forwarding). Next, in a terminal in the devcontainer, run `pytest .` from the `daq-config-server` directory.\n\nTo test on argus, log in to argus in your namespace and run:\n\n```bash\nhelm install daq-config ./helmchart/ --values dev-values.yaml\n```\n\nfollowed by:\n\n```bash\nkubectl port-forward service/daq-config-server-svc 8555\n```\n\nafter which you should be able to access the API on `http://localhost:8555/docs`\n\n\u003c!-- README only content. Anything below this line won't be included in index.md --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiamondlightsource%2Fdaq-config-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiamondlightsource%2Fdaq-config-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiamondlightsource%2Fdaq-config-server/lists"}