vultr

package module
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2017 License: MIT Imports: 14 Imported by: 5

README

Docker Machine driver plugin for Vultr

Latest Version Github All Releases CircleCI License

Provision Vultr cloud instances using the docker-machine command line tool.

Installation

You need to have installed Docker Machine v0.5.1 or later.

Download the Vultr driver matching your platform from the release page.

If you are running on macOS:

$ curl -L https://github.com/janeczku/docker-machine-vultr/releases/download/v1.3.0/docker-machine-driver-vultr-`uname -s`-`uname -m` \
  -o /usr/local/bin/docker-machine-driver-vultr && chmod +x /usr/local/bin/docker-machine-driver-vultr

If you are running on Linux:

$ curl -L https://github.com/janeczku/docker-machine-vultr/releases/download/v1.3.0/docker-machine-driver-vultr-`uname -s`-`uname -m` \
  -o /tmp/docker-machine-driver-vultr && chmod +x /tmp/docker-machine-driver-vultr &&
  sudo cp /tmp/docker-machine-driver-vultr /usr/local/bin/docker-machine-driver-vultr

Otherwise, download the binary from the release page directly.

Usage instructions

Grab your API key from the Vultr control panel and pass that to docker-machine create with the --vultr-api-key option.

Example for creating a new machine running RancherOS:

docker-machine create --driver vultr --vultr-api-key=abc123 rancheros-machine

Example for creating a new machine running Ubuntu 16.04:

docker-machine create --driver vultr --vultr-api-key=abc123 --vultr-os-id=215 ubuntu-machine

Command line flags:

  • --vultr-api-key: required Your Vultr API key.
  • --vultr-ssh-user: SSH username.
  • --vultr-region-id: Region the VPS will be created in (DCID). See available Region IDs.
  • --vultr-plan-id: Plan to use for this VPS (VPSPLANID). See available Plan IDs.
  • --vultr-os-id: Operating system ID to use (OSID). See available OS IDs.
  • --vultr-ros-version: RancherOS version to use if an OSID was not specified (e.g. 'v1.0.1', 'latest').
  • --vultr-pxe-script: PXE script ID. Requires the 'Custom OS' ('--vultr-os-id=159')
  • --vultr-boot-script: Boot script ID. Mutually exclusive of '--vultr-pxe-script'.
  • --vultr-ssh-key-id: Use an existing SSH key in your Vultr account instead of generating a new one.
  • --vultr-ipv6: Enable IPv6 support for the VPS.
  • --vultr-private-networking: Enable private networking support for the VPS.
  • --vultr-backups: Enable automatic backups for the VPS.
  • --vultr-userdata: Path to file with cloud-init user-data.
  • --vultr-snapshot-id: ID of an existing Snapshot in your Vultr account.
  • --vultr-reserved-ip: ID of a reserved IP in your Vultr account.
  • --vultr-tag: Tag to assign to the VPS.
  • --vultr-firewall-group: ID of existing firewall group to assign.
  • --vultr-api-endpoint: Override default Vultr API endpoint URL.

If the OS ID is not specified, RancherOS will be used as operating system for the instance. You can select a specific RancherOS version by specifying the --vultr-ros-version flag.

PXE deployment

You can boot a custom OS using a PXE boot script that you created in your Vultr account panel by passing it's ID with the --vultr-pxe-script flag and setting --vultr-os-id to 159. The operating system must support cloud-init and be configured to use the ec2 datasource type.

Environment variables and default values:

CLI option Environment variable Default
--vultr-api-key VULTR_API_KEY -
--vultr-ssh-user VULTR_SSH_USER root
--vultr-region-id VULTR_REGION 1 (New Jersey)
--vultr-plan-id VULTR_PLAN 201 (1024 MB, 25 GB SSD)
--vultr-os-id VULTR_OS -
--vultr-ros-version VULTR_ROS_VERSION v1.0.2
--vultr-pxe-script VULTR_PXE_SCRIPT -
--vultr-boot-script VULTR_BOOT_SCRIPT -
--vultr-ssh-key-id VULTR_SSH_KEY -
--vultr-ipv6 VULTR_IPV6 false
--vultr-private-networking VULTR_PRIVATE_NETWORKING false
--vultr-backups VULTR_BACKUPS false
--vultr-userdata VULTR_USERDATA -
--vultr-snapshot-id VULTR_SNAPSHOT -
--vultr-reserved-ip VULTR_RESERVED_IP -
--vultr-tag VULTR_TAG -
--vultr-firewall-group VULTR_FIREWALL_GROUP -
--vultr-api-endpoint VULTR_API_ENDPOINT -
Find available plans for all Vultr locations

Check out vultr-status.appspot.com for a live listing of the available plans per region. Get the corresponding --vultr-region-id and --vultr-plan-id parameters with the click of a button.

vultr-status website

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Driver

type Driver struct {
	*drivers.BaseDriver
	APIKey            string
	APIEndpoint       string
	MachineID         string
	PrivateIP         string
	OSID              int
	RegionID          int
	PlanID            int
	SSHKeyID          string
	VultrPublicKey    string
	ROSVersion        string
	ReservedIP        string
	IPv6              bool
	Backups           bool
	PrivateNetworking bool
	PxeScriptID       int
	BootScriptID      int
	CustomPxeScript   bool
	UserDataFile      string
	SnapshotID        string
	VultrTag          string
	FirewallGroupID   string
	// contains filtered or unexported fields
}

func NewDriver

func NewDriver(hostName, storePath string) *Driver

func (*Driver) Create

func (d *Driver) Create() error

func (*Driver) DriverName

func (d *Driver) DriverName() string

DriverName returns the name of the driver

func (*Driver) GetCreateFlags

func (d *Driver) GetCreateFlags() []mcnflag.Flag

GetCreateFlags registers the flags this driver adds to "docker hosts create"

func (*Driver) GetIP

func (d *Driver) GetIP() (string, error)

func (*Driver) GetSSHHostname

func (d *Driver) GetSSHHostname() (string, error)

func (*Driver) GetSSHKeyPath added in v1.1.0

func (d *Driver) GetSSHKeyPath() string

func (*Driver) GetState

func (d *Driver) GetState() (state.State, error)

func (*Driver) GetURL

func (d *Driver) GetURL() (string, error)

func (*Driver) Kill

func (d *Driver) Kill() error

func (*Driver) PreCreateCheck

func (d *Driver) PreCreateCheck() error

func (*Driver) Remove

func (d *Driver) Remove() error

func (*Driver) Restart

func (d *Driver) Restart() error

func (*Driver) SetConfigFromFlags

func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error

func (*Driver) Start

func (d *Driver) Start() error

func (*Driver) Stop

func (d *Driver) Stop() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL