Create a gist now

Instantly share code, notes, and snippets.

@eliza411 /spaces-intro.md Secret
Last active Sep 14, 2017

What would you like to do?
Intro to Spaces

<- Return to the Table of Contents


An Introduction to DigitalOcean Spaces — The Early Access Edition

This is Early Access Documentation. Please note that by signing up to participate in this early access program and receive product documentation, you are agreeing not to blog, tweet or share any content that relates to this product until we announce its general availability. Review the complete legal agreement here.

Introduction

Welcome! We've been developing and testing our new object storage product, Spaces, for some time. Your participation and feedback during this early access period will be of great help as we prepare for launch.

We've prepared early access resources, including this introduction, to help you get started with DigitalOcean Spaces. To get started right now, log into the Control Panel and choose Spaces from the main navigation:

Screenshot highlighting Spaces, the second menu option on the Control Panel's main navigation

DigitalOcean Spaces at a Glance

  • Price: To Be Determined — Early Access users will receive up to 1TB of free storage through October 31, 2017
  • Regional Availability during Early Access: NYC3.
  • Regional Availability at Launch: Spaces will be available in the NYC3 datacenter. However, we have begun the preparations to roll out Spaces out to other datacenters soon after the initial launch.
  • Limits: During early access, storage is limited to 1TB of data per DO user account or Team account.
  • Feedback: Please send feedback, bug reports and feature requests through the Spaces Feedback Form.
  • Known issues: — We'll be adding and updating issues that arise during early access in this document. Jump to Known Issues.

FAQ

When Should I Use Spaces?

Spaces are ideal for storing unstructured data like audio, video, and images as well as large amounts of text storage. For databases, applications written in server-side languages, and mission-critical applications local storage or block storage is required. You can visit Object Storage vs. Block Storage Services to learn more about the differences between the two.

How can I create and manage Spaces?

There are four main ways to create and manage your Spaces.

How do I access Spaces in the Control Panel?

Once you've logged into the DigitalOcean Control Panel, there are three key places to create and manage Spaces:

Screenshot highlighting navigation to spaces

  1. The main Spaces page is the second item of the main navigation of the DigitalOcean Control Panel. From the main page you create new Spaces and manage existing ones.
  2. You can also create Spaces from the Create menu which is accessible from anywhere within the Control Panel.
  3. You can manage access keys to use with third party clients and the API from the API page.

What permissions are available?

At this time, there are two types of users who can access Spaces: owners and everyone else. Granular individual and group-based user access is not available, but multiple owners can be granted access by generating and sharing access keys or adding users to a team account.

  • Owners: Owners have full access to create, view, modify and delete Spaces and their assets when they are logged into the Control Panel or when they have authenticated with access keys via the Spaces API or an S3-compatible third party client.
  • Everyone else The default access granted to unauthenticated users can vary from client to client. In the DigitalOcean Control Panel, the default settings allow everyone to list the contents of a Space but do NOT allow them to view upload files.

How do I change the Control Panel's default permissions?

You can change the default permission for listing the contents of a Space on the Settings tab. At this time, you cannot change the default permission for viewing the files themselves, but you can change permissions for files after they have been created.

How can I share administrative access to my Spaces?

  • Use DigitalOcean Teams:
    Adding people to a Team will give them full administrative access to all of a team's resources, including Spaces. Teams are the only way to share access to the Control Panel's web interface for Spaces. The Community Tutorial How to Use Teams on DigitalOcean can help you get started.

  • Use Access Keys:
    If you want to share access to your Spaces without using Teams, you can provide access keys for collaborators to use with the API or third party clients.

How do access keys work?

Access keys are valid for all Spaces created within an account. When you're using your individual account, the key pairs you generate are valid for all the Spaces. There are no per-Space keys. Anyone you share the keys with has access to all the Spaces.

If you create teams, members have access to all of the Spaces for that team. The keys that you or other members generate grant full access to all the Spaces associated with the team account for anyone who uses them.

How do I generate access keys?

To generate access keys, you can select Manage Keys from the main Spaces page or visit the API page's Spaces access keys section directly.

To generate keys for a different account, first switch to the account, then navigate to the Spaces page and click the Manage Keys button or visit the API page directly.

However you navigate, when you arrive, Find the Generate New Key button: Screenshot of the 'Generate New Key' button

This will begin the procees of generating a new access key and secret key. The first step is to give the key a name. For example, you might want to generate a different key pair for different collaborators so if someone leaves the project, you can regenerate or delete their key pair without affecting others.

Screenshot of the 'Key name' dialogue

When you name the key and click the Generate Key button, both the access key and the secret key are displayed. Be sure to copy and save the secret key. For security reasons it will not be shown again. In the event you lose it, you can regenerate the secret key, but every application that uses it will need to be updated with the new secret.

Screenshot showing the secret key

Can I use my own domain name?

At this time, only the domain nyc3.digitaloceanspaces.com can be used for Spaces.

What’s my role in the early access program?

You’re helping by testing a product that will eventually be used by millions of DigitalOcean users. If you find bugs, encounter performance issues, or have feature requests, fill the form at https://do.co/SpacesFeedback.

Our engineering team is standing by during the early access period to address issues as they are reported and your feedback is critical in helping us squash bugs and add features.

Additionally, you may be surveyed occasionally throughout early access to gather feedback on your experience with the product. We’d love for you to participate and tell us what you’d like to see and how we can improve Spaces both during the early access and in the future.

Can I use Spaces for production data during early access?

Yes. In fact, DigitalOcean has been using Spaces internally for multiple production use cases. As with any cloud infrastructure you’re relying on to deliver your application in production, we recommend that you have appropriate disaster recovery plans in place to ensure uptime and availability of your applications.

What are the terms for participating in the early access program?

Read the complete legal agreement at https://www.digitalocean.com/legal/terms/, specifically the section that covers Beta Services. By participating in the early access program you are agreeing to these terms. Please understand that there is no guarantee of reliability or Service Level Agreement to fix issues you might encounter.

Are all features available right now?

Some features that are not provided today but that we plan to offer in the future include:

  • Static websites
  • Replication between Spaces regions
  • Access logging Are these features that you find useful? Do you have other features to suggest? Please send us feedback to http://do.co/SpacesFeedback; we would love to hear from you!

Known Issues

Last updated 24 Aug 2017 at 12:05pm EST

Known issues and bugs you may encounter when using Spaces include:

3rd party clients

  • Transmit 5 does not work with Spaces. Please use Transmit 4 as a workaround.

API

  • Deleting CORS policies fails
  • List-objects-v2 pagination does not work
  • Spaces currently supports v2 of pre-signed URL functionality. Tools and libraries that only support v4 of pre-signed URL functionality will not work.

Security History

  • Space actions (create/delete) do not include the IP address that conducted the action

Cloud.digitalocean.com

  • Uploading hundreds or thousands of files via cloud.digitalocean.com may not complete reliably. (For this use case, leverage s3cmd or other 3rd party tools mentioned in this gist)
  • The mouseover on welcome.html file may display a URL with a previously deleted Space name (workaround: manually input Space name into the URL) Fixed 28 Aug 2017.
  • When a change is made to a Space's permissions using a third party tool, it is not reflected on cloud.digitalocean.com even after a manual refresh of page.
  • The Feedback form has a bug in Safari that prevents it from being closed again. Fixed 24 Aug 2017 1:37pm EST

Usability Improvements

There are also areas of the product where we recognize that the user experience could be improved. Our team may look to address issues in an upcoming release:

Cloud.digitalocean.com

  • User experience for first time key creation could be improved
  • Updates made via API are not reflected in cloud.digitalocean.com until manual refresh of page
  • File browser does not allow sorting
  • Moving a folder onto an existing folder with the same name acts as a copy, not an over-write

Teams

  • Billing user’s access to Spaces via cloud and API is equivalent to all other users on a team. This is different than how it works for other DO products.

Please send us feedback to http://do.co/SpacesFeedback if you encounter a bug or issue that’s not listed here.


<- Return to the Table of Contents

DatScreamer commented Sep 1, 2017 edited

DO Spaces Web UI: GET: 413 (Request-URI Too Large)

http://prntscr.com/gfs00o

Owner

eliza411 commented Sep 1, 2017

@DatScreamer Thank you for letting us know (and for including the screenshot). We're looking into it.

Could you add some information about API quotas.

@freearhey I guess it's unlimited as you pay per request and data transfer.

Owner

eliza411 commented Sep 8, 2017 edited

@freearhey, I'm not sure if this directly addresses what you're asking about, but https://developers.digitalocean.com/documentation/v2/#rate-limit discusses the API rate limit. If you were looking for other information, let us know.

Are there plans for v4 of pre-signed URL any time soon?

Owner

eliza411 commented Sep 11, 2017

@Meowbeast, It's likely we'll have support for v4 of the pre-signed URL by the end of year.

bhagwad commented Sep 13, 2017

It's not clear to me how exactly I should use the "Spaces access keys". I want to give access to a third party. I've generated the keys. Now what? Do I e-mail them the key? Where do they paste it?

Owner

eliza411 commented Sep 14, 2017

@bhagwad, Access keys are for use with 3rd party clients like Cyberduck or Transmit, as well as the API. Each client is slightly different as to where you paste them. The 3rd party client guides will show you some programs and how they use the keys.

If you want to share access to Spaces through the Control Panel, you'd use Teams and would not need keys. The guide How to Use Teams on DigitalOcean can help with that.

Hopefully that helps. If you have more questions, let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment