-
Notifications
You must be signed in to change notification settings - Fork 683
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
[flyteadmin] Add support for KMS SSE to S3 backend #4897
Conversation
Thank you for opening this pull request! 🙌 These tips will help get your PR across the finish line:
|
f72d2d4
to
b76c42b
Compare
Signed-off-by: ddl-rliu <[email protected]>
This reverts commit 1110d29. Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
Signed-off-by: ddl-rliu <[email protected]>
a6a51cb
to
23ac61d
Compare
@@ -84,6 +84,7 @@ type ConnectionConfig struct { | |||
SecretKey string `json:"secret-key" pflag:",Secret to use when accesskey is set."` | |||
Region string `json:"region" pflag:",Region to connect to."` | |||
DisableSSL bool `json:"disable-ssl" pflag:",Disables SSL connection. Should only be used for development."` | |||
ExtraArgs string `json:"extra-args" pflag:",Extra arguments, as a JSON object of key/value pairs, passed to S3 upload."` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this need to be surfaced in the Helm chart in any way? Or can this already be handled through the configmap values as they're currently defined?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me know if I missed the question, but what I did to get this to work in my deployment was to manually edit the flyte-admin-base-config
configmap - key storage.yaml storage.connection.extra-args
and value "{\"ServerSideEncryption\": \"aws:kms\", \"SSEKMSKeyId\": \"kmsId\"}"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool, if it automatically flowed in through the config map without anything special, that's great!
I think you might want to add it to the values.yaml for documentation IFF all the other possible settings are there. If there's just a link to the Go config struct already then you probably don't need to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/ddl-rliu/flyte/pull/1/files Drafted this PR with what I think would be the right changes to the documentation/values.yaml/etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a reminder to bump to latest stow
@@ -13,7 +13,6 @@ require ( | |||
github.com/spf13/pflag v1.0.5 | |||
golang.org/x/sync v0.3.0 | |||
gorm.io/driver/postgres v1.5.3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you need to go get
to update the stow version once https://github.com/flyteorg/stow/pull/11/files merges, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, will hold off on this PR until the stow change merges
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to add this to flyte propeller too + associated configmap storage.yaml changes
Filed #4949 to discuss the ETags aren't MD5 issue |
Tracking issue
Part of a group:
Why are the changes needed?
S3 Stow implementation does not yet support setting ServerSideEncryption (SSE). We are particularly interested in the AWS Key Management Service (KMS) case.
What changes were proposed in this pull request?
Adds a new
extra_args
key (optional string field) to the stow config, which contains the keys/value likeServerSideEncryption: x, SSEKMSKeyId: x
. It is passed through thestorage.yaml
section.How was this patch tested?
See flyteorg/stow#11
Tested on a Flyte deployment, against an S3 bucket with policy denying any request without
"s3:x-amz-server-side-encryption": "aws:kms"
.Related PRs
Docs link