1.1.0 • Published 9 years ago

tiny-shipyard-client v1.1.0

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

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()

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
}