You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

grpc-js-consul

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

grpc-js-consul

![NPM](https://img.shields.io/npm/l/grpc-js-consul) [![npm](https://img.shields.io/npm/v/grpc-js-consul)](https://www.npmjs.com/package/grpc-js-consul) [![Build Status](https://drone.yoshino-s.xyz/api/badges/yoshino-s/grpc-js-consul/status.svg?ref=refs/he

1.3.1
latest
npmnpm
Version published
Weekly downloads
52
62.5%
Maintainers
1
Weekly downloads
 
Created
Source

GRPC consul resolver

NPM npm Build Status

Feature less and easy-to-use resolver which return endpoints for service from the Hashicorp Consul and watch for the changes.

This library is not production ready and may not always save backward-compatibility

Quick Start

For using resolving endpoints from your Hashicorp Consul just import this library with import {register} from "grpc-js-consul", call register() and pass valid connection string to the address.

Connection string

consul://127.0.0.127:8500/my-service?[=]&[wait=]&[near=]&[insecure=]&[limit=]&[tag=]&[token=]

Parameters:

Same as consul api

NameFormatdefaultDescription
tagstringundefinedSelect endpoints only with this tag
passingtrue/falsefalseReturn only endpoints which pass all health-checks
waitas in time.ParseDurationundefinedWait time for watch changes. Due this time period endpoints will be force refreshed
insecuretrue/falseundefinedAllow insecure communication with Consul
nearstringundefinedSort endpoints by response duration. Can be efficient combine with limit parameter default: "_agent"
limitintundefinedLimit number of endpoints for the service
timeoutas in time.ParseDurationundefinedHttp-client timeout
tokenstringundefinedConsul token
dcstringundefinedConsul datacenter to choose
staletrue/falsefalseAllow stale results from the agent. https://www.consul.io/api/features/consistency.html#stale
consistenttrue/falsefalseRequireConsistent forces the read to be fully consistent. This is more expensive but prevents ever performing a stale read.

Example

See here or in test

import { credentials } from "@grpc/grpc-js";

import { register } from "grpc-js-consul";

import { EchoClient } from "./idls/hello_grpc_pb";

register();

const client = new EchoClient("consul://host.docker.internal:8500/hello",
  credentials.createInsecure(),
  {
    "grpc.service_config": JSON.stringify({
      loadBalancingConfig: [
        {
          round_robin: {},
        },
      ],
    }),
  }
);

//...

License

MIT-LICENSE. See LICENSE or the LICENSE file provided in the repository for details.

FAQs

Package last updated on 20 Jan 2023

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