Skip to content

[FEATURE] Add support for use_path_style to S3 syncs. #1961

@iamjvn

Description

@iamjvn

Requirements

The flagd daemon seems to make use of the gocloud library for blob syncs. The documentation for s3blob.URLOpener, https://pkg.go.dev/gocloud.dev/blob/s3blob#URLOpener, states that the argument use_path_style is supported by s3blob. However, the flagd daemon does not seem to offer a clean mechanism to enable the use_path_style option.

I don't have a strong opinion on what such a mechanism should look like, but the following comes to mind:

Consume an environment in flagd similar to how the various "AWS_"-prefixed environment variables are consumed within s3blob.

Or, perhaps allow for query parameter parsing in flagd such that those arguments can be passed onto s3blob. For example,

flagd start --uri "s3://my-bucket/my-flag.json?use_path_style=true"


For reference, the s3blob documentation states the following:

The following S3-specific query options are also supported:

  • ssetype: The type of server side encryption used (AES256, aws:kms, aws:kms:dsse)
  • kmskeyid: The KMS key ID for server side encryption
  • accelerate: A value of "true" uses the S3 Transfer Accleration endpoints
  • use_path_style: A value of true sets the UsePathStyle option.
  • s3ForcePathStyle: Same as use_path_style, for backwards compatibility with V1.
  • disable_https: A value of true disables HTTPS in the Endpoint options.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs TriageThis issue needs to be investigated by a maintainerenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions