1. Devin Martin
  2. KeeCloud
  3. Issues
Issue #25 resolved

S3 multi-region support

Jamie Ingilby
created an issue

The KeeCloud S3 module does not currently appear to allow for any Amazon region other than the default. This could be an optional configuration item.

I might be able to give this a go but do you have any preference for how this could be implemented?

Comments (11)

  1. Devin Martin repo owner

    Jamie Ingilby Any insight into the issue is appreciated. I thought I had tried it with a bucket in Ireland. Perhaps I couldn't duplicate your issue because my account was US based. It is also possible that I didn't set up my bucket to properly use another region. Do you have any ideas as to why it doesn't work in other regions?

  2. Jamie Ingilby reporter

    Devin Martin - I believe that by default the S3 client defaults to the US East Region Endpoint unless you set the RegionEndpoint either through the property or via the initialiser. The amazon S3 endpoints page (http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) page has more information about the endpoint and a notice that the AWS SDK's (and the .NET one in particular) require the RegionEndpoint setting. When testing previously, how did you create and test the bucket in Ireland?

    The question, is how should this best be configured by the user and then how can we inject this into the provider?

  3. Devin Martin repo owner

    Jamie Ingilby Ok, that makes sense now. I must not have properly set up an Irish bucket then when I tried it. Thank you for asking how to configure it.

    The intent behind this plugin was to not create any configuration that couldn't be expressed in the native KeePass URL dialog (URL, Username, Password). The configuration wizard boils down to a username and password. Issue #3 if it were ever implemented would simply be a helper to create the URL. The reason for this design decision is because I wanted any native KeePass functionality or even other plugins to be able to leverage this plugin.Therefore it would make sense to me to provide a "Port" on the URL for the region.

    For example s3://mybucket:us-east-1/mydb.kdbx or s3://mybucket:eu-west-1/mydb.kdbx

    I'd like to keep the default where it is if no region is specified so as to not break existing users with the update. Thoughts?

  4. Jamie Ingilby reporter

    Devin Martin This makes the URL a little more complicated as it will no longer be a URL that S3 users are inherently familiar with (an unfounded assumption), but this could be mitigated with education/an intuitive interface.

    I would be more than happy with the proposed approach, but I guess the question is wider than just the s3 provider, are there likely more complex configuration options for other providers that will be unwieldy to put into the url?

  5. Devin Martin repo owner

    Jamie Ingilby I am certainly open to other approaches but it must ultimately boil down to a URL.

    I think that anyway that you put it into the URL it is going to create a non-intuitive way to access files in S3.

    I am certainly open to adding tools to aid in the construction of URLs. Whether that tool reaches out to the provider and creates a file browser or simply asks all of the questions such as what region they are in is fine. We'd have to figure out how to do that.

    In any case, that doesn't need to hinder getting the region switch implemented and working.

  6. Log in to comment