2.5 KiB
2.5 KiB
Kenaito Config Center Node.js Client
Node.js client SDK for the Kenaito Config Center.
Features
- Fetch application configs from the config center
- Periodic config sync
- Config change callback listener
- Local file cache (fallback when config center is unavailable)
Installation
Install to Local Repository (Recommended)
Register the package as a global symlink, then reference it from any project via npm link kenaito-conf:
cd kenaito-conf-nodejs-client
npm link
In your project:
npm link kenaito-conf
Direct Reference
# In your project's package.json
"dependencies": {
"kenaito-conf": "file:../kenaito-conf-nodejs-client"
}
npm install
Quick Start
import { Config, ConfigClient } from 'kenaito-conf';
const config = new Config({
baseUrl: 'http://localhost:8080',
appName: 'my-app',
env: 'daily',
syncInterval: 30,
});
const client = new ConfigClient(config);
// Listen for config changes
client.onChange((changed) => {
for (const [k, v] of Object.entries(changed)) {
console.log(`config changed: ${k} = ${v}`);
}
});
// Start client (fetch configs + enable periodic sync)
await client.start();
// Get config
const value = client.get('database.host');
const allConfigs = client.getAll();
// Stop
client.stop();
Configuration
| Parameter | Description | Default |
|---|---|---|
baseUrl |
Config center URL | Required |
appName |
Application name | Required |
env |
Environment (dev/daily/prod) | dev |
version |
Config version | latest |
token |
Auth token | Empty |
syncInterval |
Sync interval (seconds) | 60 |
ignoreGlobal |
Whether to ignore global configs | false |
cacheDir |
Local cache directory | . |
Demo
cd kenaito-conf-nodejs-client-demo
npm install
node app.js
The demo listens on port 8083 by default. Visit http://localhost:8083/ to view configs.
Environment variable overrides:
| Environment Variable | Description | Default |
|---|---|---|
SERVER_PORT |
Server port | 8083 |
KENAITO_BASE_URL |
Config center URL | http://localhost:8080 |
KENAITO_APP_NAME |
Application name | kenaito-nodejs-demo |
KENAITO_PROFILE |
Environment | daily |
KENAITO_VERSION |
Config version | latest |
KENAITO_TOKEN |
Auth token | Empty |
KENAITO_SYNC_INTERVAL |
Sync interval (seconds) | 30 |
KENAITO_CACHE_DIR |
Cache directory | . |