Taranta ArchitectureΒΆ

Taranta is composed of four projects:

  1. Taranta Frontend https://gitlab.com/tango-controls/web/taranta

  2. Taranta Dashboards https://gitlab.com/tango-controls/web/taranta-dashboard

  3. Taranta Auth https://gitlab.com/tango-controls/web/taranta-auth

  4. TangoGQL https://gitlab.com/tango-controls/web/tangogql

The following diagram shows an overview of the architecture:

Block diagram of the architecture

Taranta Frontend is a React client that is used both to browse, inspect and control Tango devices and to create and run dashboards, each composed of widgets. Taranta Frontend accesses the Tango Control Framework through TangoGql, a GraphQL interface to Tango. The communication between Taranta and TangoGQL is managed by an appropriate frontend component.

To use Taranta, an anonymous user can run dashboards and can browse and inspect devices. However, to be able to send commands to devices, to change their attributes and to create or modify dashboards, you need to authenticate with Taranta. Taranta uses taranta-auth to manage users; it accesses an LDAP repository or a JSON file to retrieve user information.

The dashboards created by an authenticated user are stored in a MongoDB database through the dashboard-repo application.