-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
feat(storage): Azure backend using thanos.io/objstore #11315
Conversation
Trivy scan found the following vulnerabilities:
|
9953462
to
e394042
Compare
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.
lgtm, the adapter was a great idea!
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.
On pkg/storage/bucket/client.go
we should add to func (cfg *StorageBackendConfig) Validate() error {
if err := cfg.Azure.Validate(); err != nil {
return errors.Wrap(err, "invalid Azure Storage config")
}
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.
lgtm
Tested and it works 👍 |
"github.com/go-kit/log" | ||
"github.com/go-kit/log/level" | ||
"github.com/pkg/errors" | ||
|
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.
Wonder why the linter did not catch this empty newline. Please run make format
func WithRetryableErrFunc(f func(err error) bool) func(*ObjectClientAdapter) { | ||
return func(o *ObjectClientAdapter) { | ||
o.isRetryableErr = f | ||
} | ||
} |
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.
nit: Personally I find this is quite an unusual API.
You are supposed to call bucket.WithRetryableErrFunc(func(err error) bool {})(client)
, right?
return o | ||
} | ||
|
||
type options func(*ObjectClientAdapter) |
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.
type options func(*ObjectClientAdapter) | |
type ClientOptions func(*ObjectClientAdapter) |
What this PR does / why we need it*:
This PR adds support to use the thanos.io/objstore backend for the Azure provider for all components excluding the Ruler since it's similar to the work done in #11132.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Fix how some CLI variables we being passed (some HTTP CLI variables were under.http
while others weren't)CLI Table
Checklist
CONTRIBUTING.md
guide (required)CHANGELOG.md
updatedadd-to-release-notes
labeldocs/sources/setup/upgrade/_index.md
production/helm/loki/Chart.yaml
and updateproduction/helm/loki/CHANGELOG.md
andproduction/helm/loki/README.md
. Example PRdeprecated-config.yaml
anddeleted-config.yaml
files respectively in thetools/deprecated-config-checker
directory. Example PR