Terraform-provider-digitalocean: Add Support for Spaces

Created on 15 Sep 2017  Â·  15Comments  Â·  Source: digitalocean/terraform-provider-digitalocean

DO just got support for spaces. Spaces are essentially S3 buckets but provided by digital ocean.

enhancement new-resource fixed-in-master

Most helpful comment

I took a stab at adding some partial support in #66. I'm able to spin up and tear down buckets with that resource. My end goal however is to ultimately get a Spaces backend working for remote state files etc.

EDIT: I submitted #77 as an attempt to get this working with the AWS Go SDK. I think that's more likely to be merged over #66.

All 15 comments

Hi, actually DigitalOcean doesn't provide any public api for spaces 😞.
Ref: https://github.com/digitalocean/godo/issues/150

Now it looks like there is an API for spaces.
https://developers.digitalocean.com/documentation/spaces/

I got the phpleague flysystem working by treating digital ocean spaces exactly as s3, took a while but I think DO have matched the api. I will give it a go tonight

@radeksimko Due to DigitalOcean providing an S3 compatible API, would it make sense to just mirror the Amazon S3 implementation for what DigitalOcean supports at this time?

Yes please!

If nobody is currently working on this, I would like to take a swing. Really want spaces usage from tf.

@abaez I don't think anyone has taken a crack at this yet. It is definitely on my to-do list and I was planning on sitting down to try and work something out this weekend.

@nreisb,

That's no problem with me. I was waiting to hear if it was alright to
work on this. I just want the ability as I'm sure others do as well.

On Wed, Oct 25, 2017, at 14:48, nreisb wrote:

@abaez[1] I don't think anyone has taken a crack at this yet. It is
definitely on my to-do list and I was planning on sitting down to try
and work something out this weekend.> — You are receiving this because you were mentioned. Reply to this
email directly, view it on GitHub[2], or mute the thread[3].>

Links:

  1. https://github.com/abaez
  2. https://github.com/terraform-providers/terraform-provider-digitalocean/issues/42#issuecomment-339432389
  3. https://github.com/notifications/unsubscribe-auth/ABVq7h46N6louXl9RmNjlVVnrO1LLXSiks5sv4KTgaJpZM4PY1gk

Hey guys! Any updates about spaces support?

I took a stab at adding some partial support in #66. I'm able to spin up and tear down buckets with that resource. My end goal however is to ultimately get a Spaces backend working for remote state files etc.

EDIT: I submitted #77 as an attempt to get this working with the AWS Go SDK. I think that's more likely to be merged over #66.

FYI using a DO space as an s3 backend works while we wait for #77 to get merged.

You need to create a Spaces access key and a bucket.

terraform {
  backend "s3" {
    skip_requesting_account_id  = true
    skip_credentials_validation = true
    skip_get_ec2_platforms      = true
    skip_metadata_api_check     = true
    access_key                  = ""
    secret_key                  = ""
    endpoint                    = "nyc3.digitaloceanspaces.com"
    region                      = "us-east-1" # Requires any valid AWS region
    bucket                      = "" # Space name
    key                         = "example-folder/terraform.tfstate"
  }
}

Can this be closed? Or is there something more to do?

@andrewsomething is this safe to cut a release and close?

We should probably add custom subdomains for Spaces in a separate issue? godo already has support https://github.com/digitalocean/godo/pull/207

edit: wrong link

@eddiezane We'll likely be cutting a release next week. There is some work in-flight.

Initial support for Spaces is now available in v1.12.0. In order to upgrade an existing project to the latest version, run:

terraform init -upgrade

You can find the full changelog here: https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/CHANGELOG.md#120-april-23-2019

I'm going to go ahead and close this issue out. Let's track any additional feature requests independently.

Was this page helpful?
0 / 5 - 0 ratings