@knetik/micro-clustermanager

This package allows config variables to be loaded from clustermanager config json when using [micro-core](https://www.npmjs.com/package/@knetik/micro-core) the multi tenant framework.

Stats

StarsIssuesVersionUpdatedCreatedSize
@knetik/micro-clustermanager
3.1.1a month ago4 years agoMinified + gzip package size for @knetik/micro-clustermanager in KB

Readme

Knetik Micro Clustermanager

This package allows config variables to be loaded from clustermanager config json when using micro-core the multi tenant framework.

Replace the values of your config variables with clustmernanager property key paths.

Customer Index Resolution

Dynamic customer resolution using a simple path convention.

The adaptor loops through each name index looking for the matching app_id. On matching customer, the index is extracted and used for configuration value resolution.

Setup clustermanager access

// config/env.json

{
  "CONNECTION_CONFIG_STRATEGY": "clustermanager",
  "CONNECTION_CONFIG_IDENTIFIER": "customers.configurations[].name",
  "CLUSTER_MANAGER_URL": "https://clustermanager...",
  "CLUSTER_MANAGER_USER": "...",
  "CLUSTER_MANAGER_PASS": "...",
}

Configure your application

Add the clustermanager config keys as values to your adaptor config vars

{
  "MONGOOSE_USERNAME": "customers.configurations[].database.mongo.username",
  "MONGOOSE_PASSWORD": "customers.configurations[].database.mongo.password",
  "MONGOOSE_URL": "customers.configurations[].database.mongo.servers",
  "MONGOOSE_DB": "customers.configurations[].database.mongo.dbName",
  "MONGOOSE_OPTIONS": "customers.configurations[].database.mongo.options",
}

The adaptor will detect a clustermanager path value and use the resolved customer index to apply the correct clustermanager config value to the micro-core config property.

customers.configurations[0].name: "customer1"
customers.configurations[0].database.mongo.dbName

Now your mongo db adaptor will use the clustermanager config data for db connection info.

Any unresolved clustermanager keys will fallback to process.env

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.