node-scc-config
v1.2.1
Published
Configuring a Node.js application based on Spring Cloud Config
Downloads
706
Maintainers
Readme
Configure your Node.js applications using Spring Cloud Config
Benefits
- Server and client data decryption
Installation
npm install node-scc-config
yarn add node-scc-config
Usage
Create a client-side pointer to the Spring Cloud Config service
const client = new SpringCloudConfigClient('your spring cloud config endpoint address...');
Configuring the client before calling
client .beforeLoad(s => ({ your request options... }))
Configuring the client after the call
Chipher marker defaults to '{cipher}'
- Chipher marker
client .afterLoad(d => d .setChipherMarker('your chipher marker...')
- Data replacer by templates
Example: { ['{HOST}']: 'test', ['{SERVICE_NAME}']: 'app-service' }
client .afterLoad(d => d .setReplacer('your template...')
- Data decryption
- client
client .afterLoad(d => d .setDecryptor(new AesDecryptor('your secret key or password...')))
- server
client .afterLoad(d => d .setDecryptor(new ServiceDecryptor('your decryption endpoint address...')))
- client
- Source preparation
- Merge source
Default implementation if no function is specified
client .afterLoad(d => d .setMergeSource<AppServiceApiConfig>((configuration?: TConfiguration<AppServiceApiConfig>) => { your code to merge source... }))
- Prepare source
Default implementation if no function is specified
client .afterLoad(d => d .setPrepareSource<AppServiceApiConfig>((source: Record<string, any>) => { your code to prepare source... }))
- Merge source
Call loading the configuration
await client.load();
Using the loaded configuration
type AppServiceApiConfig = { logLevel: string; options: { service: { url: string; login: string; password: string; }; }; testOptions: { url: string; }; }; const config = getConfiguration<AppServiceApiConfig>();