Description
A component of nestcloud. NestCloud is a nest framework micro-service solution.
This is a Nest module to get configurations from consul kv.
Installation
$ npm i --save nest-consul consul nest-consul-config
Quick Start
Import Module
;;; ;
If you use nest-boot module.
;;;;;
Nest-boot config file
web: serviceId: serviceName: user-serviceconsul: host: localhost port: 8500 config: # available expressions: {serviceName} {serviceId} {env} key: config__{serviceName}__{env} retry: 5
Config Client Injection
In consul kv, the key is "config__user-service__development".
user: info: name: 'test'
;;
Dynamic config update:
;;
API
class ConsulConfigModule
static register(options): DynamicModule
Import nest consul config module.
field | type | description |
---|---|---|
options.dependencies | string[] | if you are using nest-boot module, please set [NEST_BOOT] |
options.key | string | the key of consul kv |
options.retry | number | the max retry count when get configuration fail |
class ConsulConfig
get(path?: string, defaults?: any): any
Get configuration from consul kv.
field | type | description |
---|---|---|
path | string | the path of the configuration |
defaults | any | default value if the specific configuration is not exist |
getKey(): string
Get the current key.
onChange(callback: (configs) => void): void
watch the configurations.
field | type | description |
---|---|---|
callback | (configs) => void | callback function |
async set(path: string, value: any): void
update configuration.
field | type | description |
---|---|---|
path | string | the path of the configuration |
value | any | the configuration |
Stay in touch
- Author - NestCloud
License
NestCloud is MIT licensed.