Stand-alone SQLite server

The tdx Volt has built-in support for arbitrary Sqlite databases via the SqliteServerAPI and SqliteDatabaseAPI APIs.

This utility provides the same implementation as the built-in support in a stand-alone executable.

This demonstrates how a 3rd party could provide a database implementation to all tdx Volt clients, either in the form of an augmented Sqlite implementation, or perhaps an implementation of a completely different database.

Since the `sqliteServer` binary implements the SqliteServerAPI and SqliteDatabaseAPI APIs, it is interchangeable with the built-in support in any scenario.

Usage

The sqliteServer connects to the tdx Volt like any other client. In order to connect you will need a tdx Volt configuration, as outlined here. Assuming you have a configuration in a file called db.config.json for example, you can then run the sqliteServer using:

Terminal window
./sqliteServer --config ./db.config.json

When the server first starts, it will create a resource on the tdx Volt that represents it’s internal grpc server, and registers that as a service with the tdx Volt.

Clients can then use DiscoverServices to obtain the details of all running SqliteServers and choose which one to connect to.

In order for the standalone server to be able to create databases in any given folder, it will need `create in` permission on that folder, which you can assign via the fusebox.