tiny-shipyard-client
v1.1.0
Published
A tiny client library for the Shipyard v3 API
Downloads
10
Maintainers
Readme
tiny-shipyard-client
A tiny client library for the Shipyard v3 API
Installation
npm install --save tiny-shipyard-client
Usage Example
var TinyShipyardClient = require('tiny-shipyard-client');
var client = new TinyShipyardClient(
'http://localhost:8080', // your Shipyard URL
'lksjfd98w3ohng89z3dfgp' // your Shipyard service key
);
client.createContainer('tutum/hello-world')
.then(function (id) {
// `id` is the newly deployed container id.
// next, we can scale out the new container by another 2 instances:
return client.scaleContainer(id, 2);
})
.then(function (ids) {
// `ids` is an array of the newly deployed container ids.
});
.catch(function (error) {
console.error(error.message);
});
Reference
TinyShipyardClient(shipyardUrl, serviceKey) [constructor]
- shipyardUrl (string): The Shipyard URL, including protocol and port
- serviceKey (number): The Shipyard service key for authentication
TinyShipyardClient.prototype.getContainers()
- (returns): A promise with an array containing all running containers (with the node's name prepended to the container name)
NOTE: this command will only list running containers!
TinyShipyardClient.prototype.createContainer(imageName, options)
- imageName (string): The name of the image you want to start a container from
- options (object, optional): Additional options (default options, available options)
- (returns): A promise with the ID of the newly started container
NOTE: this command will immediately start the new container!
TinyShipyardClient.prototype.scaleContainer(containerId, instanceCount)
- containerId (string): The ID of the container you want to scale out
- instanceCount (number): The number of additional instances you want to start
- (returns): A promise with an array containing the IDs of the newly started containers
TinyShipyardClient.prototype.destroyContainer(containerId)
- containerId (string): The ID of the container you want kill and destroy
- (returns): A promise resolving to
null
NOTE: this command will also kill and destroy running containers!
Default Options
createContainer
{
'HostConfig': {
'RestartPolicy': {
'Name': 'always'
},
'Links': [],
'Binds': [],
'Privileged': false,
'PublishAllPorts': true,
'PortBindings': {}
},
'Links': [],
'ExposedPorts': {},
'Volumes': {},
'Env': [],
'AttachStdin': false,
'Tty': true,
'Image': '<your image name>',
'CpuShares': null,
'Memory': null
}