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
chore(warehouse): validate object storage credentials #2440
chore(warehouse): validate object storage credentials #2440
Conversation
…rlabs/rudder-server into origin/chore.validateObjectStorage
Codecov ReportBase: 44.25% // Head: 45.14% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #2440 +/- ##
==========================================
+ Coverage 44.25% 45.14% +0.89%
==========================================
Files 181 178 -3
Lines 38413 37777 -636
==========================================
+ Hits 17000 17056 +56
+ Misses 20339 19643 -696
- Partials 1074 1078 +4
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
…r along with some other refactorings
} | ||
|
||
// | ||
func ifNotExistThenSet(keyToReplace string, replaceWith interface{}, configMap map[string]interface{}) { |
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's have unit Test for this alter.
|
||
// overrideWithEnv overrides the config keys in the filemanager settings | ||
// with fallback values pulled from env. Only supported for S3 for now. | ||
func overrideWithEnv(settings *filemanager.SettingsT) { |
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's have a unit test for this afterwards.
Config map[string]interface{} `json:"config"` | ||
} | ||
|
||
func validateObjectStorageRequestBody(request *proto.ValidateObjectStorageRequest) (*ObjectStorageValidationRequest, error) { |
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's have a test case for this afterwards.
3fddd6f
to
e2dbaa2
Compare
Description
We store events that are flowing through our systems so that in case of any issues, we can replay them back and get at correct state. We store these events in bucket owned by rudderstack.
Going forward, we will be asking customers if they want to store the events on there own systems and if yes, allow them to add the credentials of the storage. The task is to expose a validation endpoint in warehouse to capture the creds and validate them on account of ability to upload and download.
The outcome of this validation will be presented to the user.
Notion Ticket
https://www.notion.so/rudderstacks/Object-Storage-Validation-Design-0a3300c4754d4271bed53d9ad15d683d
Security