@nestcfork/consul
v0.7.5
Published
NestCloud is a Node.js micro-service solution, writing by Typescript language and Nest.js.
Downloads
1
Readme
NestCloud - Consul
Description
A NestCloud component for providing consul api based on node-consul.
Installation
$ npm i --save @nestcfork/consul consul
Quick Start
Import Module
import { Module } from '@nestjs/common';
import { ConsulModule } from '@nestcfork/consul';
import { BOOT } from '@nestcfork/common';
@Module({
imports: [
ConsulModule.forRootAsync({ inject: [BOOT] })
],
})
export class AppModule {}
Configurations
consul:
host: localhost
port: 8500
Usage
import { Injectable } from '@nestjs/common';
import * as Consul from 'consul';
import { InjectConsul } from '@nestcfork/consul';
@Injectable()
export class TestService {
constructor(
@InjectConsul() private readonly consul: Consul
) {
}
}
Simple Get Consul KV
import { Injectable } from '@nestjs/common';
import { WatchKV } from '@nestcfork/consul';
@Injectable()
export class TestService {
@WatchKV('test_key', 'yaml', {})
private readonly config: any;
}
API
class ConsulModule
static forRoot(options: Options): DynamicModule
Import consul module.
| field | type | description | | :--------------- | :------- | :-------------------- | | options.host | string | consul host | | options.port | string | consul port | | options.secure | boolean | security or not | | options.ca | string[] | certs | | options.defaults | any | default consul config |
static forRootAsync(options: Options): DynamicModule
Import consul module.
| field | type | description | | :------------- | :------- | :---------- | | options.inject | string[] | BOOT |
class Consul
see node-consul
Decorators
KeyValue(name: string, options?: KeyValueOptions): PropertyDecorator
Inject consul kv to the class attribute, it will update immediately when consul kv update.
| field | type | description | | :--------------- | :------------- | :-------------------- | | name | string | consul key | | options.type | text json yaml | value type | | options.defaults | any | default value |
Stay in touch
- Author - NestCloud
License
NestCloud is MIT licensed.