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

Support specifying self-signed certificate to trust for object storage #2373

Closed
chancez opened this issue Apr 26, 2023 · 1 comment · Fixed by #2407
Closed

Support specifying self-signed certificate to trust for object storage #2373

chancez opened this issue Apr 26, 2023 · 1 comment · Fixed by #2407
Labels
good first issue Good for newcomers

Comments

@chancez
Copy link
Contributor

chancez commented Apr 26, 2023

Is your feature request related to a problem? Please describe.
I'd like to use Tempo with a self-hosted S3 compatible object storage solution that's configured with TLS, without having to resort to insecureSkipVerify.

Describe the solution you'd like
I need to be able to configure tempo to use a specific CA bundle file with the list of certificates it should use when verifying the certificate for the S3 endpoint.

Describe alternatives you've considered
insecureSkipVerify

Additional context

Relevant code:

customTransport, err := minio.DefaultTransport(!cfg.Insecure)
if err != nil {
return nil, errors.Wrap(err, "create minio.DefaultTransport")
}
if cfg.InsecureSkipVerify {
customTransport.TLSClientConfig.InsecureSkipVerify = true
}
// add instrumentation
transport := instrumentation.NewTransport(customTransport)
var stats *hedgedhttp.Stats
if hedge && cfg.HedgeRequestsAt != 0 {
transport, stats, err = hedgedhttp.NewRoundTripperAndStats(cfg.HedgeRequestsAt, cfg.HedgeRequestsUpTo, transport)
if err != nil {
return nil, err
}
instrumentation.PublishHedgedMetrics(stats)
}
opts := &minio.Options{
Region: cfg.Region,
Secure: !cfg.Insecure,
Creds: creds,
Transport: transport,
}
if cfg.ForcePathStyle {
opts.BucketLookup = minio.BucketLookupPath
} else {
opts.BucketLookup = minio.BucketLookupType(cfg.BucketLookupType)
}
return minio.NewCore(cfg.Endpoint, opts)

@joe-elliott
Copy link
Member

This is likely just wiring up some config to the minio transport. We would be glad to accept this PR is someone has time to work on it.

@joe-elliott joe-elliott added the good first issue Good for newcomers label Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants