Getting Started With Joyent

Joyent is a public cloud host that supports SmartOS, Linux, FreeBSD, and Windows.

Dependencies

This driver requires the Python requests library to be installed.

Configuration

The Joyent cloud requires three configuration parameters. The user name and password that are used to log into the Joyent system, and the location of the private ssh key associated with the Joyent account. The ssh key is needed to send the provisioning commands up to the freshly created virtual machine.

# Note: This example is for /etc/salt/cloud.providers or any file in the
# /etc/salt/cloud.providers.d/ directory.

my-joyent-config:
  driver: joyent
  user: fred
  password: saltybacon
  private_key: /root/mykey.pem
  keyname: mykey

Note

Changed in version 2015.8.0.

The provider parameter in cloud provider definitions was renamed to driver. This change was made to avoid confusion with the provider parameter that is used in cloud profile definitions. Cloud provider definitions now use driver to refer to the Salt cloud module that provides the underlying functionality to connect to a cloud host, while cloud profiles continue to use provider to refer to provider configurations that you define.

Profiles

Cloud Profiles

Set up an initial profile at /etc/salt/cloud.profiles or in the /etc/salt/cloud.profiles.d/ directory:

joyent_512:
  provider: my-joyent-config
  size: g4-highcpu-512M
  image: ubuntu-16.04

Sizes can be obtained using the --list-sizes option for the salt-cloud command:

# salt-cloud --list-sizes my-joyent-config
my-joyent-config:
    ----------
    joyent:
        ----------
        g4-highcpu-512M:
            ----------
            default:
                False
            description:
                Compute Optimized 512M RAM - 1 vCPU - 10 GB Disk
            disk:
                10240
            group:
                Compute Optimized
            id:
                14aea8fc-d0f8-11e5-bfe4-a7458dbc6c99
            lwps:
                4000
            memory:
                512
            name:
                g4-highcpu-512M
            swap:
                2048
            vcpus:
                0
            version:
                1.0.3
...SNIP...

Images can be obtained using the --list-images option for the salt-cloud command:

# salt-cloud --list-images my-joyent-config
my-joyent-config:
    ----------
    joyent:
        ----------
        base:
            ----------
            description:
                A 32-bit SmartOS image with just essential packages
                installed. Ideal for users who are comfortabl e with
                setting up their own environment and tools.
            files:
                |_
                  ----------
                  compression:
                      gzip
                  sha1:
                      b00a77408ddd9aeac85085b68b1cd22a07353956
                  size:
                      106918297
            homepage:
                http://wiki.joyent.com/jpc2/Base+Instance
            id:
                00aec452-6e81-11e4-8474-ebfec9a1a911
            name:
                base
            os:
                smartos
            owner:
                9dce1460-0c4c-4417-ab8b-25ca478c5a78
            public:
                True
            published_at:
                2014-11-17T17:41:46Z
            requirements:
                ----------
            state:
                active
            type:
                smartmachine
            version:
                14.3.0

...SNIP...

SmartDataCenter

This driver can also be used with the Joyent SmartDataCenter project. More details can be found at:

Using SDC requires that an api_host_suffix is set. The default value for this is .api.joyentcloud.com. All characters, including the leading ., should be included:

api_host_suffix: .api.myhostname.com

Miscellaneous Configuration

The following configuration items can be set in either provider or profile configuration files.

use_ssl

When set to True (the default), attach https:// to any URL that does not already have http:// or https:// included at the beginning. The best practice is to leave the protocol out of the URL, and use this setting to manage it.

verify_ssl

When set to True (the default), the underlying web library will verify the SSL certificate. This should only be set to False for debugging.`