Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AWS Bindings S3] Adds Component Metadata Schema #2904

Merged
merged 30 commits into from
Aug 1, 2023
Merged
Changes from 3 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4d38f8f
Adds AWS Bindings S3 Component Metadata Schema
robertojrojas Jun 10, 2023
4cd9c90
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jun 13, 2023
4542e73
Merge branch 'master' into comp-bindings-aws-s3-2568
artursouza Jun 19, 2023
8c0cec4
Merge branch 'master' into comp-bindings-aws-s3-2568
artursouza Jun 21, 2023
6acb0a5
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jun 24, 2023
f3fc65f
update as per pr review
robertojrojas Jun 25, 2023
4459c18
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jun 25, 2023
86f47a5
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jun 26, 2023
91fc323
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 11, 2023
d3c5bc8
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 11, 2023
a90dc28
uses builtinAuthenticationProfiles
robertojrojas Jul 11, 2023
ad7fba6
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
fee2964
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
8c3f792
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
839d394
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
4ec6841
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
7b58ec3
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
39fa315
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
268c72d
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
9f19be9
Update bindings/aws/s3/metadata.yaml
ItalyPaleAle Jul 11, 2023
c516ad2
changes as per review
robertojrojas Jul 11, 2023
216ebe1
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 14, 2023
1c84571
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 17, 2023
d726117
updates as per pr review
robertojrojas Jul 18, 2023
922c802
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 21, 2023
e399e07
Update bindings/aws/s3/metadata.yaml
ItalyPaleAle Jul 21, 2023
3f42fd2
Merge branch 'master' into comp-bindings-aws-s3-2568
artursouza Jul 24, 2023
0955e8e
updates as pr review
robertojrojas Jul 24, 2023
324c0a5
Merge branch 'master' into comp-bindings-aws-s3-2568
artursouza Aug 1, 2023
a16415f
Merge branch 'master' into comp-bindings-aws-s3-2568
ItalyPaleAle Aug 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 125 additions & 0 deletions bindings/aws/s3/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# yaml-language-server: $schema=../../../component-metadata-schema.json
schemaVersion: v1
type: bindings
name: aws.s3
version: v1
status: stable
title: "AWS S3 Bindings"
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
urls:
- title: Reference
url: https://docs.dapr.io/reference/components-reference/supported-bindings/s3/
binding:
output: true
operations:
- name: create
description: "Create blob."
- name: get
description: "Get blob."
- name: delete
description: "Delete blob."
- name: list
description: "List blob."
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
capabilities: []
authenticationProfiles:
- title: "AccessKey and secretKey"
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
description: "Authenticate using accessKey and secretKey."
metadata:
- name: accessKey
type: string
required: false
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
sensitive: true
description: |
ID of the AWS account with appropriate permissions to SNS and SQS.
Can be secretKeyRef to use a secret reference.
example: "AKIAIOSFODNN7EXAMPLE"
default: ""
- name: secretKey
type: string
required: false
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
sensitive: true
description: |
Secret for the AWS user. Can be secretKeyRef to use a secret
reference.
example: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
default: ""
metadata:
- name: bucket
required: true
description: |
The name of the S3 bucket to write to.
example: '"bucket"'
type: string
- name: region
required: true
description: |
The AWS region to the instance. See this page for valid regions:
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html.
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
Ensure that DynamoDB are available in that region.
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
example: '"us-east-1"'
type: string
- name: endpoint
required: false
description: |
AWS endpoint for the component to use. Only used for local development.
The endpoint is unncessary when running against production AWS.
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
example: '"http://localhost:4566"'
type: string
- name: sessionToken
required: false
sensitive: true
description: |
AWS session token to use. A session token is only required if you are using
temporary security credentials.
example: '"TOKEN"'
type: string
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this, and should this be a separate authentication profile?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to these docs, it appears to be used for Short-term authentication along side with the accessKey and secretKey. I'll add it to the builtin Auth Profile.

- name: forcePathStyle
description: |
Currently Amazon S3 SDK supports virtual hosted-style and path-style access.
true is path-style format like https://<endpoint>/<your bucket>/<key>.
false is hosted-style format like https://<your bucket>.<endpoint>/<key>.
ItalyPaleAle marked this conversation as resolved.
Show resolved Hide resolved
type: bool
default: 'false'
example: '"true", "false"'
- name: decodeBase64
description: |
Configuration to decode base64 file content before saving to bucket storage.
(In case of saving a file with binary content). true is the only allowed
positive value. Other positive variations like "True", "1" are not acceptable.
ItalyPaleAle marked this conversation as resolved.
Show resolved Hide resolved
type: bool
default: 'false'
example: '"true", "false"'
- name: encodeBase64
description: |
Configuration to encode base64 file content before return the content.
(In case of opening a file with binary content). true is the only allowed
positive value. Other positive variations like "True", "1" are not acceptable.
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
type: bool
default: 'false'
example: '"true", "false"'
- name: disableSSL
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
description: |
Allows to connect to non https:// endpoints.
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
type: bool
default: 'false'
example: '"true", "false"'
- name: insecureSSL
description: |
When connecting to https:// endpoints, accepts invalid or self-signed certificates.
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
type: bool
default: 'false'
example: '"true", "false"'
- name: filePath
required: false
description: |
To upload a file from a supplied path (relative or absolute), use the filePath
metadata key on a create request that contains empty data fields.
example: '"mydir/my-test-file.txt"'
type: string
- name: presignTTL
required: false
description: |
To presign an object with a specified time-to-live, use the presignTTL metadata
key on a create request. Valid values for presignTTL are Go duration strings:
https://pkg.go.dev/maze.io/x/duration#:~:text=A%20duration%20string%20is%20a,w%22%2C%20%22y%22
example: '"2h45m"'
type: string
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved