@prsm/arc-server v1.3.8
arc-server
arc-server uses @prsm/duplex to create a server that @prsm/arc-client clients can connect to and communicate with.
Quickstart
import { ArcServer } from "@prsm/arc-server";
ArcServer.init({ host: "0.0.0.0", port: 3351, secure: false });User Management
Root User Configuration
By default, the server creates a root user with username "root" and password "root". You can customize this:
// Custom root user credentials
ArcServer.init({
host: "0.0.0.0",
port: 3351,
secure: false,
rootUser: {
username: "admin",
password: "secure-password"
}
});
// Disable root user creation entirely
ArcServer.init({
host: "0.0.0.0",
port: 3351,
secure: false,
rootUser: {
disabled: true
}
});Creating Additional Users
You can create additional users programmatically:
// Create a new user
ArcServer.createUser("username", "password");
// Remove a user
ArcServer.removeUser("username");You can listen to command events.
ArcServer.emitter.on("auth", ({ payload }) => { });
ArcServer.emitter.on("query", ({ payload }) => { });
ArcServer.emitter.on("createUser", ({ payload }) => { });
ArcServer.emitter.on("removeUser", ({ payload }) => { });You can query directly from the server instance.
ArcServer.query({
collection: "planets",
operation: "find",
data: {
query: { name: { $includes: "M" } },
},
});Sharded collections
Normally, when you query for a collection, the server will create a standard Collection instance for you.
If you want to have a ShardedCollection instance instead, you can define a ShardedCollectionDefinition[] and pass it to the server during init.
const shardedCollections = [
{
// Collection name
name: "planets",
// The key to shard on
shardKey: "planet_name",
// How many shards to create
shardCount: 3,
// The adapter to use (not instantiated, just the class)
adapter: FSAdapter,
// The options to pass to the adapter when a shard Collection is created
adapterOptions: {
storagePath: ".data", // where to store the shards
name: "planets", // this is the name of the shard files (planets_shard0, etc)
},
},
];
ArcServer.init({ ..., shardedCollections });For an explanation of the above options, see ShardedCollectionDefinition
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago