DAQ retrieval http API, contains:
- Retrieval http API to run on the nodes of our facilities (backends).
- Proxy to run on data-api.psi.ch for distribution of requests to facilities.
Tested on RHEL 7 and 8, CentOS 8.
If not yet done, see Setup Toolchain first.
Then run in this directory:
cargo build --release
Executable will be placed by default at: ./target/release/daqbuffer
The latest executable for RHEL 7 can be downloaded here from
https://data-api.psi.ch/distri/daqbuffer-amd64-rhel7
and also be found (e.g. via rsync) on host data-api.psi.ch
at /opt/distri/daqbuffer-amd64-rhel7
daqbuffer proxy --config <CONFIG.JSON>
Example config:
{
"name": "data-api.psi.ch",
"listen": "0.0.0.0",
"port": 8371,
"backends": [
{
"name": "sls-archive",
"url": "http://sls-archiver-api.psi.ch:8380"
},
{
"name": "gls-archive",
"url": "https://gls-data-api.psi.ch"
}
],
"backends_search": [
{
"name": "sf-databuffer",
"url": "https://sf-data-api.psi.ch"
},
{
"name": "sls-archive",
"url": "http://sls-archiver-api.psi.ch:8380"
},
{
"name": "gls-archive",
"url": "https://gls-data-api.psi.ch"
},
{
"name": "hipa-archive",
"url": "https://hipa-data-api.psi.ch"
},
{
"name": "proscan-archive",
"url": "https://proscan-data-api.psi.ch"
}
],
"backends_pulse_map": [
{
"name": "sf-databuffer",
"url": "https://sf-data-api.psi.ch"
}
],
"backends_status": [
{
"name": "sf-databuffer",
"url": "https://sf-data-api.psi.ch"
},
{
"name": "sf-archive",
"url": "https://sf-archiver-api.psi.ch"
},
{
"name": "sls-archive",
"url": "http://sls-archiver-api.psi.ch:8380"
},
{
"name": "gls-archive",
"url": "https://gls-data-api.psi.ch"
},
{
"name": "hipa-archive",
"url": "https://hipa-data-api.psi.ch"
},
{
"name": "proscan-archive",
"url": "https://proscan-data-api.psi.ch"
}
]
}```
## As Retrieval
```bash
daqbuffer retrieval --config <CONFIG.JSON>
Example config:
{
"name": "sf-daqbuf-21.psi.ch",
"cluster": {
"database": {
"host": "sf-daqbuf-33.psi.ch",
"name": "daqbuffer",
"user": "daqbuffer",
"pass": "daqbuffer"
},
"runMapPulse": true,
"nodes": [
{
"host": "sf-daqbuf-21.psi.ch",
"listen": "0.0.0.0",
"port": 8380,
"port_raw": 8390,
"backend": "sf-databuffer",
"cache_base_path": "{{databuffer_base_dir}}",
"sf_databuffer": {
"data_base_path": "{{databuffer_base_dir}}",
"ksprefix": "{{databuffer_ks_prefix}}"
}
},
"... more nodes here ..."
]
}
}
The documentation of the currently running service version is served by the service itself:
https://data-api.psi.ch/api/4/docs/
Install the Rust toolchain. Quoting from https://www.rust-lang.org/tools/install the official installation method:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
This specifically requires a verified TLS connection for the download and then executes the installer.
Installation will by default be done only for the current user. No superuser privileges are required.
You should have the commands cargo
and rustup
now available in your terminal.
GNU General Public License version 3 or later.