ska-tango-images-rest-server
This image contains TangoRestServer. TangoRestServer is a web
sever which exposes your Tango control system via a REST API.
Summary
Release 0.7.4 of ska-tango-images provides the 1.22.5 tag of the ska-tango-images-rest-server OCI image.
The image uses ska-tango-images-tango-admin as a base image and so
provides the same features, in addition to the TangoRestServer application.
If you are publishing works that rely on the TangoRestServer application, it would be greatly appreciated if you could cite the application using the following DOI:
Included Software
Package |
Version |
|---|---|
TangoRestServer |
1.22 |
tango_admin |
1.27 |
cppTango |
10.1.2 |
ZeroMQ |
4.3.5 |
omniORB |
4.3.3 |
opentelemetry-cpp |
1.19.0 |
Usage Example
To launch the “rest” instance of the TangoRestServer device server, connecting to
TANGO_HOST=localhost:10000 run the following:
docker run --rm --env TANGO_HOST=localhost:10000 --net=host \
--detach --name rest-server \
artefact.skao.int/ska-tango-images-rest-server:1.22.5 \
rest
This will launch a REST server listening on port 10001, to check that this is working run the following curl command:
URL="http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/sys/rest/0"
curl -s -u "tango-cs:tango" $URL | python -m json.tool
Which should output something like the following:
{
"name": "sys/rest/0",
"info": {
"last_exported": "4th February 2025 at 15:42:10",
"last_unexported": "?",
"name": "sys/rest/0",
"ior": <some very long IOR>,
"version": "5",
"exported": true,
"pid": 7,
"server": "TangoRestServer/rest",
"hostname": "localhost",
"classname": "unknown",
"is_taco": false
},
"attributes": "http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/sys/rest/0/attributes",
"commands": "http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/sys/rest/0/commands",
"pipes": "http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/sys/rest/0/pipes",
"properties": "http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/sys/rest/0/properties",
"state": "http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/sys/rest/0/state",
"_links": {
"_self": "http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/sys/rest/0",
"_parent": "http://localhost:10001/tango/rest/rc4/hosts/localhost/10000/devices/"
}
}
The REST server can be stopped with:
docker stop rest-server