3.1.0 • Published 11 years ago
coreos-cluster v3.1.0
coreos-cluster 
 
Create a fully functional CoreOs Cluster on Rackspace Cloud from any node.js application. A command-line version of coreos-cluster is available on npm as coreos-cluster-cli.
Quick Example
var cluster = require('coreos-cluster');
cluster.createCluster({
  numNodes: 10,
  type: 'performance',
  release: 'beta',
  keyname: 'my-ssh-keyname',
  credentials: {
    username: 'your-user-name',
    apiKey: 'some-key-here',
    region: 'iad'
  }
}, function(err, results) {
  // will callback with a functional cluster
});Options
numNodes- required. Number of nodes. Clusters must have at least 3 nodestype- Optional.performanceoronMetalservers, defaults toperformancevmsrelease- Optional. coreos release:stable(default),betaoralphakeyname- Optional. Rackspace Cloud Servers SSH keyname. If not provided, will create a new ssh key and include in the resultsflavor- Optional. The Rackspace Cloud Servers flavor. Defaults toperformance1-1flavor forperformanceandonmetal-compute1foronMetalprivateNetwork- Optional. Guid for a rackspace private network. Will configure etcd to use the private network.monitoringToken- Optional. Will configure the nodes for Rackspace cloud monitoring.discoveryServiceUrl- Optional. Url for an existing cluster's discovery service. Will addnumNodesto current cluster instead of create a new cluster.update- Optional. Update strategies.group- The update group, can be "master", "stable", "alpha", "beta", or a UUID for a custom CoreUpdate group.server- Server to get updates from, e.g. https://public.update.core-os.net or https://customer.update.core-os.netrebootStrategy- When to reboot after an update. E.g. best-effort, etcd-lock, reboot, off.
credentials- Required. The credentials for the create cluster callusername- Username for your rackspace accountapiKey- Api key for your rackspace accountregion- Region to create the cluster inuseInternal- Optional, use local service net interface if calling from Rackspace Cloud machines
Advanced Usage Example
var cluster = require('coreos-cluster');
cluster.createCluster({
  numNodes: 10,
  type: 'performance',
  release: 'beta',
  keyname: 'my-ssh-keyname',
  discoveryServiceUrl: 'https://discovery.etcd.io/some-guid-here',
  privateNetwork: '4c371711-44ae-15ab-86af-45438fb96a15',
  monitoringToken: 'your-monitoring-token',
  update: {
      group: '0a809ab1-c01c-4a6b-8ac8-6b17cb9bae09',
      server: 'https://customer.update.core-os.net/v1/update/',
      rebootStrategy: 'best-effort'
  },
  credentials: {
    username: 'your-user-name',
    apiKey: 'some-key-here',
    region: 'iad'
  }
}, function(err, results) {
  // will callback with a details of the added nodes
});Installation
npm install coreos-clusterNext Steps
As coreos-cluster is built on pkgcloud, the next step is to add a provider option that allows you to use different compute providers within pkgcloud.