New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

client-clusters-node

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

client-clusters-node

Node.js / ES2017 client sdk for clusters microservice

latest
Source
npmnpm
Version
1.1.1
Version published
Maintainers
1
Created
Source

Pip.Services Logo
Clusters Microservice Client SDK for Node.js

Quick Links:

This is a Node.js client SDK for service-clusters microservice.

It provides an easy to use abstraction over communication protocols:

  • Direct client for monolythic deployments
  • Http client
  • Lambda client for AWS
  • Memory client
  • Proxy http client
  • Null client to be used in testing

Install

Add dependency to the client SDK into package.json file of your project

{
    ...
    "dependencies": {
        ....
        "client-clusters-node": "^1.0.*",
        ...
    }
}

Then install the dependency using npm tool

# Install new dependencies
npm install

# Update already installed dependencies
npm update

Use

Inside your code get the reference to the client SDK

 import { ClustersHttpClientV1 } from 'client-clusters-node';

Define client configuration parameters.

// Client configuration
var httpConfig = ConfigParams.fromTuples(
    "connection.protocol", "http",
    "connection.host", "localhost",
    "connection.port", 3000
);
client.configure(httpConfig);

Instantiate the client and open connection to the microservice

// Create the client instance
client = new ClustersHttpClientV1();

// Connect to the microservice
try {
    await client.open(null);
    // Work with the microservice
    ...
} catch(err) {
    console.error('Connection to the microservice failed');
    console.error(err);
}

Now the client is ready to perform operations:

Create new cluster:

let CLUSTER1: ClusterV1 = {
    id: '1',
    name: 'Cluster #1',
    type: 'root',
    active: true,
    api_host: 'api.mycluster1.com',
    service_ports: { myservice1: 30001, myservice2: 30002 },
    max_tenant_count: 1,
    tenants_count: 1,
    active_tenants: ['1']
};   

try {
    let cluster = await client.createCluster("123", CLUSTER1);
    console.dir('Cluster was created successfull');
} catch(err) {
    console.error('Can\'t create cluster!');
    console.error(err);
}

Update exists cluster:

    CLUSTER1.name = "Cluster #2";
try {
    let cluster = await client.updateCluster("123", CLUSTER1);
    console.dir('Cluster was updated successfull');
} catch(err) {
    console.error('Can\'t update cluster!');
    console.error(err);
}

Delete existing cluster by cluster_id

try {
    let cluster = await client.deleteClusterById("123", 1);
    console.dir('Cluster was delete successfull');
    console.dir('Deleted cluster:');
    console.dir(cluster.toString());
} catch(err) {
    console.error('Can\'t delete cluster!');
    console.error(err);
} 

Add new tenant into active cluster

try {
    let cluster = await client.addTenant("123", "5");
    console.dir('Tenant was added successfull');
    console.dir('Cluster:');
    console.dir(cluster.toString());
} catch(err) {
    console.error('Can\'t add tenant to cluster!');
    console.error(err);
}

Remove existing tenant by tenantId

try {
    let cluster = await client.removeTenant("123", "5");
    console.dir('Tenant was deleted successfull');
    console.dir('Cluster:');
    console.dir(cluster.toString());
} catch(err) {
    console.error('Can\'t delete tenant from cluster!');
    console.error(err);
}

Get list of all clusters:

    let filter = FilterParams.fromTuples(
        'active', true,
        'open', true
    );
try {
    let clusters = await client.getClusters("123", filter, new PagingParams());
    console.dir("Cluster list length:");
    console.dir(clusters.data.length);
} catch(err) {
    console.error('Can\'t find cluster by filter!');
    console.error(err);
}

Get cluster by cluster_id:

try {
    let cluster = await client.getClusterById("123", "1");
    console.dir('Cluster was finded successfull');
    console.dir('Cluster:');
    console.dir(cluster.toString());
} catch(err) {
    console.error('Can\'t find cluster by cluster id!');
    console.error(err);
}

Get cluster by tenant:

try {
    let cluster = await client.getClusterByTenant("123", "5");
    console.dir('Cluster was finded successfull');
    console.dir('Cluster:');
    console.dir(cluster.toString());
} catch(err) {
    console.error('Can\'t find cluster by tenant id!');
    console.error(err);
}

Acknowledgements

This client SDK was created and currently maintained by Sergey Seroukhov.

Keywords

clusters

FAQs

Package last updated on 23 Dec 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts