1.2.1 • Published 4 years ago
node-scc-config v1.2.1
Configure your Node.js applications using Spring Cloud Config
Benefits
- Server and client data decryption
Installation
npm install node-scc-configyarn add node-scc-configUsage
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>();