DigitalOcean (since 0.0.6)

DigitalOcean (DO) is a low cost VM provider with various services.

The configuration does as follows:

  type: digitalocean
  apiToken: ""
  spacesKey: ""
  spacesSecret: ""

The apiToken is used to interact with the regular API, while spacesKey and spacesSecret are used to interact with the object storage called "spaces".

Creating credentials

In order to create an API token log on to the DigitalOcean dashboard and go to the API section. Here you can create both an API token and a spaces key and secret.


The DO provider currently supports the following rules:

Development notes

DigitalOcean has a couple of non-trivial quirks. This section serves to document them for the future. Keep in mind that these are anecdotal notes and may / may no longer apply.

Object storage quirks

  • The object storage implementation does not accept object names starting with a slash (/) for putObject. Objects must be specified without a starting slash.
  • The object storage requires the content type and content length to be specified for putObject, otherwise a bad request error will be returned with no further explanation.

Firewall quirks

  • At least one firewall rule must be supplied when a firewall is created. Firewalls with no rules in them are not allowed. However, a rule with no sources/destinations is valid. That's why a dummy firewall rule is supplied in tests.
  • While firewall creation accepts null as a port value, the update does not. This causes issues when updating an existing rule.
  • Even though the documentation states that all is a valid value for ports, it is in fact not. The right value is 1-65535.