Microservice Interface Library
This is microservice interface library that used to easily connect to other arundo fabric microservice easily.
Implementation Details
How to install it
$ npm install --save-dev arundo/microservice-interface
Rest client
Rest client is used to easily and efficiently call the arundo fabric microservices endpoints without worrying about fetching the auth token. The token can be fetched either from the auth fabric microservice or auth0 directly. You can also cache the token in redis.
const apiBaseUrl = 'https://api.arundo.com';
const authOptions = {
user: 'USER ID',
password: 'USER PASSWORD',
fromAuth0: 'true | false',
auth0BaseUrl: 'AUTH0 BASE URL',
clientId: 'AUTH0 CLIENT ID',
clientSecret: 'AUTH0 CLIENT SECRET',
audience: 'AUTH0 AUDIENCE',
devUrl: 'URL for local service instance for dev purposes, still using auth service to get token'
};
const redisOptions = {
host: 'REDIS HOST',
password: 'REDIS PASSWORD',
name: 'UNIQUE NAME FOR REDIS KEY',
expireTime: 'REDIS EXPIRATION TIME',
};
const restClient = new RestClient(apiBaseUrl, authOptions, redisOptions);
const id = 'YOUR ID HERE';
restClient.callEndPoint('GET', `/v0/services/${id}`)
.then(result => console.log(result))
.catch(err => console.log(err));
Cache client
Cache client is used to cache a document.
const apiBaseUrl = 'https://api.arundo.com';
const authOptions = {
user: 'USER ID',
password: 'USER PASSWORD',
fromAuth0: 'true | false',
auth0BaseUrl: 'AUTH0 BASE URL',
clientId: 'AUTH0 CLIENT ID',
clientSecret: 'AUTH0 CLIENT SECRET',
audience: 'AUTH0 AUDIENCE',
};
const redisOptions = {
host: 'REDIS HOST',
password: 'REDIS PASSWORD',
name: 'UNIQUE NAME FOR REDIS KEY',
expireTime: 'REDIS EXPIRATION TIME',
};
const myClientOptions = {
name: 'pipeline',
url: `${apiBaseUrl}/v0/pipelines/%s/`,
};
const restClient = new RestClient(apiBaseUrl, authOptions, redisOptions);
const cacheClient = new CacheClient(restClient, redisOptions);
const myClient = cacheClient.createClient(myClientOptions);
const id = 'YOUR DOC ID HERE';
myClient.get(id)
.then(doc => console.log(doc))
.catch(err => console.log(err));