Chapter 11. Tungsten REST APIv8

Version 8.0.0 of the Tungsten suite of products introduced an updated version of the Public RESTful API (Referred to as APIv8) Compared to APIv2 found with version 7.x, the v8 API brings simpler, more RESTful-compliant, and reduced number of entry points.

The API will allow quick and easy access to monitoring, cluster manipulation and change of configuration for both humans and software.

Note

This documentation section refers to APIv8 for v8.x Tungsten Releases. To view documentation related to v7, please click here.

The key foundations that influenced the development of APIv8 strengthen the same foundations of APIv2:

  • Security First: It's now mandatory to provide an admin user name and password at installation time, and no longer possible to create them without credentials.

  • Security First: the API is only enabled on localhost (127.0.0.1) by default. Additionally, SSL is enabled by default

  • User/Password Protection: HTTP Basic Auth is required to access most API calls. RBAC will come in a future version.

  • Per-layer API: each component has its own API.

  • Per-host instances: Passwords are stored securely on each host. Of course, the Tungsten installation tool (tpm) allows deployment of identical user/password pairs across nodes, as does the Tungsten Dashboard GUI.

  • The REST API provides read-only information through HTTP GET calls. Creation of resources is made through POST, updates with PUT while deletion require a DELETE HTTP call

For the full developer documentation, listing all available calls, please refer to the following links:

Each layer of the product (Manager, Replicator, Proxy) has its own API, allowing for granular access and control of all cluster operations.

Warning

API calls triggering configuration changes are protected by a flag, i-am-sure=true, in order to avoid unwanted, potentially dramatic, configuration changes. This applies to:

  • datasource and data service state, role and definition (data service and datasource map modification)

  • component state change (replicator and connector offline, online, onhold)

  • replicator service purge and reset

  • connector listener removal

  • user deletion or password change (REST API admin user or user.map entries)