like-rqlited
v1.0.1
Published
RQLited server wrapper to spawn nodes or clusters
Downloads
30
Readme
like-rqlited
RQLited server wrapper to spawn nodes or clusters
npm i like-rqlited
Usage
const RQLited = require('like-rqlited')
const node1 = new RQLited('./data1')
await node1.ready()
const node2 = new RQLited('./data2', { join: node1.id })
await node2.ready()
const response = await fetch(node1.url + '/status')
// ...
await node1.close()
await node2.close()
API
const rqlited = new RQLited(storage, [options])
Creates a new RQLited node.
storage
must be the data directory where you want to save the database.
options
:
{
id: null, // Unique node id within the cluster (defaults to raft adv addr)
join: null, // Raft address to join
auth: null, // Path to JSON file containing authentication credentials
http: {
port: 0, // Defaults to a random port
host: '127.0.0.1', // Bind network address
adv: null, // Advertised address (defaults to http host)
verify: false, // Enable mutual TLS for node-to-node communication
ca: null, // Path to a root certificate authority
cert: null, // Path to a signed certificate
key: null // Path to the private key of the signed certificate
},
raft: {
port: 0, // Defaults to a random port
host: '127.0.0.1', // Bind network address
adv: null, // Advertised address (defaults to raft host)
verify: false, // Enable mutual TLS for HTTPS
ca: null, // Path to a root certificate authority
cert: null, // Path to a signed certificate
key: null // Path to the private key of the signed certificate
}
}
await rqlited.ready()
Fires up the RQLite node and waits for it to be ready.
await rqlited.close()
Gracefully closes the RQLited instance.
rqlited.id
The full Raft address.
rqlited.url
The full HTTP/S address.
rqlited.httpPort
The port number for the HTTP API.
rqlited.raftPort
The port number for Node/Raft communication.
License
MIT