analogsea v0.5.0

0

Monthly downloads

0th

Percentile

Interface to 'Digital Ocean'

Provides a set of functions for interacting with the 'Digital Ocean' API at <https://developers.digitalocean.com/documentation/v2>, including creating images, destroying them, rebooting, getting details on regions, and available images.

Readme

analogsea

Build Status Build status codecov.io rstudio mirror downloads cran version

analogsea is an R client for version 2 of the Digital Ocean API. It allows you to programatically create and destroy droplets (remote computers), and install various R related tools: (these are still a work in progress):

  • R (done)
  • RStudio Server (done)
  • RStudio Shiny Server (done)
  • OpenCPU (not yet)
  • Use packrat to move a project to a droplet (not yet)

Install

Stable version from CRAN

install.packages("analogsea")

Development version from GitHub

devtools::install_github("sckott/analogsea")
library("analogsea")

Create a DO account

If you don't already have one, create a DO account. By using this link, you'll start with $10 in credits (enough for >600 hours of computing on a 1 gb machine), and if you become a digital ocean customer we'll get some DO credits for us to offset our costs for testing. Thanks :)

Authenticate

The best way to authenticate is to generate a personal access token (https://cloud.digitalocean.com/settings/tokens/new) and save it in an environment variable called DO_PAT. If you don't do this, you'll be prompted to authenticate in your browser the first time you use analogsea.

Make sure you provide digitial ocean your public key at https://cloud.digitalocean.com/ssh_keys. Github has some good advice on creating a new public key if you don't already have one: https://help.github.com/articles/generating-ssh-keys/.

Get droplets

All droplets

droplets()
<r> droplets()
$unintrenchable
<droplet>unintrenchable (2724525)
  Status: off
  Region: San Francisco 1
  Image: Ubuntu 14.04 x64
  Size: 512mb ($0.00744 / hr)

$basipterygium
<droplet>basipterygium (2724526)
  Status: active
  Region: San Francisco 1
  Image: Ubuntu 14.04 x64
  Size: 512mb ($0.00744 / hr)

A single droplet. Pass in a single droplet id.

droplet(2724525)
<droplet>unintrenchable (2724525)
  Status: off
  Region: San Francisco 1
  Image: Ubuntu 14.04 x64
  Size: 512mb ($0.00744 / hr)

Spin up a new droplet

To make this as dead simple as possible, you just use one function, without any parameters.

droplet_create()
Using default ssh key: Scott Chamberlain
NB: This costs $0.00744 / hour  until you droplet_delete() it
<droplet>sabaoth (2727258)
  Status: new
  Region: San Francisco 1
  Image: Ubuntu 14.04 x64
  Size: 512mb ($0.00744 / hr)

You can of course pass in lots of options for name of the droplet, RAM size, disk size, ssh keys, etc. See regions() and sizes() to list available regions and sizes.

Delete a droplet

droplet_delete(1707487)

Chaining

Most of the droplet_* functions can be chained together using the %>% function. For example, you can turn a droplet off, snapshot, and then turn it back on with:

d %>%
   droplet_power_off() %>%
   droplet_snapshot() %>%
   droplet_power_on() %>%

R

We're still working on these, but would love feedback.

Install RStudio Server

This requires a "docklet", a droplet with docker installed:

docklet_create() %>%
  docklet_rstudio()

This will install R, RStudio Server and it's dependencies. It will automatically pop open the RStudio server instance in your default browser, with default username/password of rstudio/rstudio.

Meta

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Functions in analogsea

Name Description
action Retrieve an existing action by action id
adjectives Adjectives to use for seeding random word selection when name not given for a droplet
account Get account information
cloud_config Generate cloud config file.
analogsea-package R client for Digital Ocean
actions List actions across all droplets.
do_options Set Digital Ocean options including ssh keys, etc.
docklet_create Docklets: docker on droplets.
as.domain_record List, create and delete domain records.
droplet_actions Retrieve a droplet action or list all actions associatd with a droplet.
droplet_execute Execute R code on a droplet.
droplet_create Create a new droplet.
domains Get information on a single domain or all your domains.
docklets_create Docklets: docker on droplets - create many docklets
droplet_do_actions Perform actions on one or more droplets associated with a tag
droplet_delete Delete a droplet.
droplet_freeze Freeze/thaw droplets.
domain_create Create/delete domains.
droplet_kernels_list List all available kernels for a droplet.
droplet_reuse Reuse a droplet or image by name
droplet_upgrades_list List all droplets that are scheduled to be upgraded.
droplet_ssh Remotely execute ssh code, upload & download files.
droplet Retrieve a single droplet.
droplet_wait Wait for a droplet to be ready.
droplets List all available droplets.
httr-verbs httr wrappers.
droplets_cost Calculate cost across droplets
droplets_create Create many new droplets.
image_delete Rename/delete an image
image_actions Retrieve an action associated with a particular image id.
as.image Get list of images and their metadata, or a single image
keys List your ssh keys, or get a single key
key-crud Create, update, and delete ssh keys.
nouns Nouns to use for seeding random word selection when name not given for a droplet
image_transfer Transfer an image to a specified region.
image_convert Convert an backup image to a snapshot.
neighbors List neighbors
%>% Pipe operator
resize Resize a droplet by power off, snapshot, and create new droplet
sizes Get all the available sizes that can be used to create a droplet.
rate_limit Rate limit information for the authenticated user.
tag_delete Delete a tag
regions Get list of regions and their metadata
tag_rename Rename a tag
tag_create Create a tag
tag_resource_delete Untag a resource
as.snapshot Snapshot operations
standardise_keys Standardise specification of ssh keys.
volume_attach Attach a volume to a droplet
as.volume Block storage operations
tag_resource Tag a resource
tags List tags
words 1000 words to use for seeding random word selection when name not given for a droplet
do_oauth Authorize with Digital Ocean.
debian Helpers for managing a debian droplets.
No Results!

Last month downloads

Details

License MIT + file LICENSE
URL https://github.com/sckott/analogsea
BugReports http://www.github.com/sckott/analogsea/issues
LazyData yes
VignetteBuilder knitr
RoxygenNote 5.0.1
NeedsCompilation no
Packaged 2016-11-11 21:07:29 UTC; sacmac
Repository CRAN
Date/Publication 2016-11-11 23:11:11

Include our badge in your README

[![Rdoc](http://www.rdocumentation.org/badges/version/analogsea)](http://www.rdocumentation.org/packages/analogsea)