Using Joyent with Juju

Joyent has removed its public cloud offering. Juju is no longer able to create clouds provided by Joyent. This page is being retained to prevent dead links, but will not be updated.

Juju already has knowledge of the Joyent cloud, which means adding your Joyent account to Juju is quick and easy.

More specific information on Juju’s Joyent support (e.g. the supported regions) can be seen locally or, since v.2.6.0, remotely (on a live cloud). Here, we’ll show how to do it locally (client cache):

juju show-cloud --local joyent

In versions prior to v.2.6.0 the show-cloud command only operates locally (there is no --local option).

To ensure that Juju’s information is up to date (e.g. new region support), you can update Juju’s public cloud data by running:

juju update-public-clouds

Adding credentials

The Credentials page offers a full treatment of credential management.

In order to authenticate itself to the Joyent cloud, Juju will need the following information:

  • sdc-user - obtained from the Joyent Dashboard
  • sdc-key-id - The fingerprint of an SSH key uploaded to Joyent (obtained from the Joyent Dashboard)
  • private-key-path - full local path to the actual private key (e.g. ‘/home/ubuntu/.ssh/id_rsa’). See note below.

The first two values are easily obtained from the ‘Account’ section via the Joyent Dashboard

The private key is currently uploaded to the cloud in order to remotely sign requests to the Joyent API. It is highly recommended that the private key used in this way should not be a common SSH key you use for other purposes, but a specific one used for the Joyent cloud.

With the above information, you can now run the command:

juju add-credential joyent

…and supply relevant answers to the questions. Note that the path to the SSH key must be the full system path, not using any bash shortcuts such as ‘~’.

During initial setup if you are having issues deploying charms contact Joyent support at to verify your account is capable of provisioning virtual machines.

Creating a controller

You are now ready to create a Juju controller for cloud ‘joyent’:

juju bootstrap joyent joyent-controller

Above, the name given to the new controller is ‘joyent-controller’. Joyent will provision an instance to run the controller on.

For a detailed explanation and examples of the bootstrap command see the Creating a controller page.

Next steps

A controller is created with two models - the ‘controller’ model, which should be reserved for Juju’s internal operations, and a model named ‘default’, which can be used for deploying user workloads.

See these pages for ideas on what to do next: