New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@pixul/node-rancher-api

Package Overview
Dependencies
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pixul/node-rancher-api - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

lib/eventApi.js

158

lib/lib.js

@@ -6,9 +6,13 @@ 'use strict';

const Promise = require('bluebird');
const {URL} = require('url');
const EventApi = require('./eventApi');
const internals = {};
internals.schema = Joi.object({
url : Joi.string().required(),
access_key : Joi.string().required(),
secret_key : Joi.string().required()
url : Joi.string().required(),
access_key: Joi.string().required(),
secret_key: Joi.string().required()
});

@@ -19,7 +23,13 @@

Joi.assert(config, internals.schema);
this.config = config;
if ((new URL(config.url)).protocol === 'https') {
this.config.enableSsl = true;
}
this.request = request.defaults({
baseUrl : `${config.url}`,
headers : {
Authorization : `Basic ${new Buffer(`${config.access_key}:${config.secret_key}`).toString('base64')}`,
'Content-Type' : 'application/json'
baseUrl: `${config.url}`,
headers: {
Authorization : `Basic ${new Buffer(`${config.access_key}:${config.secret_key}`).toString('base64')}`,
'Content-Type': 'application/json'
}

@@ -34,3 +44,3 @@ });

}
if (res.statusCode < 200 || res.statusCode >= 300) {

@@ -42,3 +52,3 @@ const e = new Error(`Invalid response code: ${res.statusCode}`);

}
return resolve(typeof json === 'string' ? JSON.parse(json) : json);

@@ -48,9 +58,9 @@ });

}
createContainer(container) {
return this._request('POST', '/container', {
json : container
json: container
});
}
getContainer(containerId) {

@@ -60,16 +70,16 @@ Joi.assert(containerId, Joi.string().required(), 'Must specify container id');

}
updateContainer(container) {
return this._request('POST', `/container/${container.id}`, {
json : container
json: container
});
}
stopContainer(containerId, stopParams) {
Joi.assert(containerId, Joi.string().required(), 'Must specify container id');
return this._request('POST', `/container/${containerId}/?action=stop`, {
json : stopParams
json: stopParams
});
}
startContainer(containerId) {

@@ -79,3 +89,3 @@ Joi.assert(containerId, Joi.string().required(), 'Must specify container id');

}
restartContainer(containerId) {

@@ -85,3 +95,3 @@ Joi.assert(containerId, Joi.string().required(), 'Must specify container id');

}
removeContainer(containerId) {

@@ -91,3 +101,3 @@ Joi.assert(containerId, Joi.string().required(), 'Must specify container id');

}
purgeContainer(containerId) {

@@ -97,3 +107,3 @@ Joi.assert(containerId, Joi.string().required(), 'Must specify container id');

}
getContainerLogs(containerId) {

@@ -103,9 +113,9 @@ Joi.assert(containerId, Joi.string().required(), 'Must specify container id');

}
createStack(stack) {
return this._request('POST', '/stacks', {
json : stack
json: stack
});
}
getStacks(query) {

@@ -120,3 +130,3 @@ return new Promise((resolve, reject) => {

}
getStack(stackId) {

@@ -126,3 +136,3 @@ Joi.assert(stackId, Joi.string().required(), 'Must specify stack id');

}
getStackServices(stackId) {

@@ -132,3 +142,3 @@ Joi.assert(stackId, Joi.string().required(), 'Must specify stack id');

}
removeStack(stackId) {

@@ -138,7 +148,7 @@ Joi.assert(stackId, Joi.string().required(), 'Must specify stack id');

}
getPorts() {
return this._request('GET', '/ports');
}
getHosts(query) {

@@ -153,15 +163,15 @@ return new Promise((resolve, reject) => {

}
getHost(hostId) {
return this._request('GET', `/hosts/${hostId}`);
}
deleteHost(hostId) {
return this._request('DELETE', `/hosts/${hostId}`);
}
evacuateHost(hostId) {
return this._request('POST', `/hosts/${hostId}/?action=evacuate`);
}
getRegistrationToken() {

@@ -180,3 +190,3 @@ return new Promise((resolve, reject) => {

}
getServices(query) {

@@ -191,3 +201,3 @@ return new Promise((resolve, reject) => {

}
getService(serviceId) {

@@ -197,3 +207,3 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
getServiceStats(serviceId) {

@@ -203,3 +213,3 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
stopService(serviceId) {

@@ -209,3 +219,3 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
startService(serviceId) {

@@ -215,23 +225,33 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
createService(service) {
return this._request('POST', '/services', {
json: service
})
}
restartService(serviceId, restartParams) {
Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');
return this._request('POST', `/services/${serviceId}/?action=restart`, {
json : restartParams
json: restartParams
});
}
upgradeService(serviceId, upgradeParams) {
Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');
return this._request('POST', `/services/${serviceId}/?action=upgrade`, {
json : upgradeParams
json: upgradeParams
});
}
finishUpgradeService(serviceId){
return this._request('POST', `/services/${serviceId}?action=finishupgrade`);
}
createLoadBalancer(createParams) {
return this._request('POST', '/loadBalancerServices', {
json : createParams
json: createParams
});
}
deleteLoadBalancer(serviceId) {

@@ -241,17 +261,17 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
updateLoadBalancer(serviceId, updateParams) {
Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');
return this._request('PUT', `/loadBalancerServices/${serviceId}`, {
json : updateParams
json: updateParams
});
}
upgradeLoadBalancer(serviceId, upgradeParams) {
Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');
return this._request('POST', `/loadBalancerServices/${serviceId}/?action=upgrade`, {
json : upgradeParams
json: upgradeParams
});
}
activateLoadBalancer(serviceId) {

@@ -261,10 +281,10 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
addServiceLinkLoadBalancer(serviceId, params) {
Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');
return this._request('POST', `/loadBalancerServices/${serviceId}/?action=addservicelink`, {
json : params
json: params
});
}
cancelUpgradeLoadBalancer(serviceId) {

@@ -274,3 +294,3 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
continueUpgradeLoadBalancer(serviceId) {

@@ -280,3 +300,3 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
deactivateLoadBalancer(serviceId) {

@@ -286,3 +306,3 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
finishUpgradeLoadBalancer(serviceId) {

@@ -292,10 +312,10 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
removeServiceLinkLoadBalancer(serviceId, params) {
Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');
return this._request('POST', `/loadBalancerServices/${serviceId}/?action=removeservicelink`, {
json : params
json: params
});
}
rollbackLoadBalancer(serviceId, params) {

@@ -305,9 +325,9 @@ Joi.assert(serviceId, Joi.string().required(), 'Must specify service id');

}
createVolume(volume) {
return this._request('POST', '/volume', {
json : volume
json: volume
});
}
getVolume(volumeId) {

@@ -317,3 +337,3 @@ Joi.assert(volumeId, Joi.string().required(), 'Must specify volumeId');

}
removeVolume(volumeId) {

@@ -323,4 +343,16 @@ Joi.assert(volumeId, Joi.string().required(), 'Must specify volumeId');

}
getCertificates() {
return this._request('GET', '/certificates')
}
getVolumes() {
return this._request('GET', '/volumes?limit=0')
}
EventApi() {
return new EventApi(this.config);
}
}
module.exports = RancherClient;
{
"name": "@pixul/node-rancher-api",
"version": "1.1.0",
"version": "1.2.0",
"description": "Rancher API client",

@@ -31,3 +31,4 @@ "main": "lib/lib.js",

"joi": "10.x",
"request": "2.x"
"request": "2.x",
"ws": "^3.3.1"
},

@@ -34,0 +35,0 @@ "devDependencies": {

@@ -138,1 +138,54 @@ # node-rancher-api

## Event API
```js
const Rancher = require('@pixul/node-rancher-api');
const rancher = new Rancher({
url: 'https://try.rancher.com/v2-beta/projects/XXXXXXXX/',
access_key: 'SoMeToKeN',
secret_key: 'someSecRetToken'
});
const eventApi = new Rancher.EventApi();
eventApi.on('error', err => {
console.log(err);
});
eventApi.on('resource.change.host.1h874.active', event => {
const hostId = event.data.resource.id;
});
eventApi.on('resource.change.host.1h874.transitioning', event => {
const hostId = event.data.resource.id;
});
eventApi.on('resource.change.host.1h874.active.transitioning', event => { // Will never be trigger, never
const hostId = event.data.resource.id;
});
```
### Event filters
#### Basic
* `resource.change`
* `resource.change.<type>`
* `resource.change.<type>.<id>`
#### State filter
If the resource got a `state` attribute set and a `transitioning` value to `no`
* `resource.change.<state>`
* `resource.change.<type>.<state>`
* `resource.change.<type>.<id>.<state>`
### Transitioning resource
If the resource got `transitioning` set to `yes`
* `resource.change.transitioning`
* `resource.change.<type>.transitioning`
* `resource.change.<type>.<id>.transitioning`
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc