6.0.1 • Published 1 year ago

@microfleet/plugin-consul v6.0.1

Weekly downloads
59
License
MIT
Repository
github
Last release
1 year 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

1 year ago

6.0.1

1 year ago

6.0.0

1 year ago

5.1.3

1 year ago

5.1.2

1 year ago

5.1.1

2 years ago

5.1.0

2 years ago

5.0.5

2 years ago

5.0.4

2 years ago

5.0.3

2 years ago

5.0.2

2 years ago

5.0.1

2 years ago

5.0.0

2 years ago

4.3.0

2 years 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

3 years ago

4.2.0

3 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

4 years ago

2.7.0

4 years ago

2.7.2

4 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

6 years ago

1.0.0

6 years ago

0.4.1

6 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