6.0.1 • Published 11 months ago

@microfleet/plugin-consul v6.0.1

Weekly downloads
59
License
MIT
Repository
github
Last release
11 months ago

Microfleet Consul Plugin

Adds consul support to microfleet. This can be used to perform service discovery, leader election and other related tasks Read more about Consul at https://www.consul.io

Install

yarn add @microfleet/plugin-consul

Configuration

To make use of the plugin adjust microfleet configuration in the following way:

exports.plugins = [
  ...,
  'consul',
  ...
]

/* this section is optional */
exports.consul = {
  base: {
    host?: string; // consul-agent host instance
    port?: string; // consul-agent port
    secure?: boolean; // https?
    ca?: string[]; // custom CA
    defaults?: { // used for all queries to consul
      consistent?: boolean;
      dc?: string;
      stale?: boolean;
      token?: string;
      wait?: string;
      wan?: boolean;
      timeout?: number;
    }
  },
  lock: {
    key?: string; // defaults `microfleet/${config.name}/leader`,
    session?: Object | string; // session settings
    value?: string | Buffer; // arbitrary data
    lockwaittime?: string;
    lockretrytime?: string;
  }
}

Interface

Microfleet Consul Plugin extends service interface with the following methods:

service.consul: consul.Consul

Initialized instance. Look at the docs here - https://www.npmjs.com/package/consul#documentation

service.consulLeader: consul.Lock

Initialized leader election lock. Detailed docs here - https://www.npmjs.com/package/consul#lock

service.whenLeader(): Promise

Use this to wait until current instance becomes a leader.

// will lock until instance is a leader
// or until service.close() is called
const isLeader = await service.whenLeader()
if (isLeader === true) {
  ... // means we've acquired leader
} else {
  ... // this means that instance is closing down
}
5.1.4

12 months ago

6.0.1

11 months ago

6.0.0

11 months ago

5.1.3

1 year ago

5.1.2

1 year ago

5.1.1

1 year ago

5.1.0

1 year ago

5.0.5

1 year ago

5.0.4

1 year ago

5.0.3

1 year ago

5.0.2

1 year ago

5.0.1

1 year ago

5.0.0

1 year ago

4.3.0

1 year ago

4.2.14

2 years ago

4.2.13

2 years ago

4.2.9

2 years ago

4.2.10

2 years ago

4.2.11

2 years ago

4.2.12

2 years ago

4.2.2

2 years ago

4.2.5

2 years ago

4.2.4

2 years ago

4.2.7

2 years ago

4.2.6

2 years ago

4.2.8

2 years ago

4.0.0

2 years ago

4.2.0

2 years ago

2.29.0

3 years ago

2.27.0

3 years ago

2.25.0

3 years ago

2.25.2

3 years ago

2.23.2

3 years ago

2.19.0

3 years ago

2.21.0

3 years ago

2.23.0

3 years ago

2.17.0

3 years ago

2.15.2

3 years ago

2.15.0

3 years ago

2.11.4

3 years ago

2.13.0

3 years ago

2.11.2

3 years ago

2.11.0

3 years ago

2.9.2

3 years ago

2.9.0

3 years ago

2.7.4

3 years ago

2.7.6

3 years ago

2.7.8

3 years ago

2.5.0

3 years ago

2.7.0

3 years ago

2.7.2

3 years ago

2.7.10

3 years ago

2.7.14

3 years ago

2.7.12

3 years ago

2.4.1

4 years ago

2.4.0

4 years ago

2.4.3

4 years ago

2.4.2

4 years ago

2.3.0

4 years ago

2.2.13-next.57

4 years ago

2.2.13-next.56

4 years ago

2.2.13-next.51

4 years ago

2.2.14

4 years ago

2.2.13-next.49

4 years ago

2.2.13-next.46

4 years ago

2.2.13-next.39

4 years ago

2.2.13-next.35

4 years ago

2.2.13-next.31

4 years ago

2.2.13

4 years ago

2.2.12

5 years ago

2.2.11

5 years ago

2.2.10

5 years ago

2.2.9

5 years ago

2.2.8

5 years ago

2.2.7

5 years ago

2.2.6

5 years ago

2.2.5

5 years ago

2.2.4

5 years ago

2.2.3

5 years ago

2.2.2

5 years ago

2.2.1

5 years ago

2.2.0

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.4.1

5 years ago

0.4.0

6 years ago

0.3.6

6 years ago

0.3.5

6 years ago

0.3.2

6 years ago

0.3.3

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago