1.0.1 • Published 12 months ago

like-rqlited v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

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

1.0.1

12 months ago

1.0.0

12 months ago

0.0.1

1 year ago