fix: separate public object store TLS

This commit is contained in:
Codex Local
2026-08-26 10:26:06 +08:00
parent 42e7a82dad
commit f3dc6deb2e
9 changed files with 40 additions and 20 deletions
+5 -4
View File
@@ -26,16 +26,17 @@ type Store struct {
bucket string
}
func New(endpoint, publicEndpoint, accessKey, secretKey, bucket, region string, secure bool) (*Store, error) {
func New(endpoint, publicEndpoint, accessKey, secretKey, bucket, region string, secure, publicSecure bool) (*Store, error) {
if endpoint == "" || publicEndpoint == "" || accessKey == "" || secretKey == "" || bucket == "" || region == "" {
return nil, errors.New("object store endpoints, credentials, bucket and region are required")
}
options := &minio.Options{Creds: credentials.NewStaticV4(accessKey, secretKey, ""), Secure: secure, Region: region}
internalClient, err := minio.New(endpoint, options)
internalOptions := &minio.Options{Creds: credentials.NewStaticV4(accessKey, secretKey, ""), Secure: secure, Region: region}
internalClient, err := minio.New(endpoint, internalOptions)
if err != nil {
return nil, fmt.Errorf("create internal object store client: %w", err)
}
publicClient, err := minio.New(publicEndpoint, options)
publicOptions := &minio.Options{Creds: credentials.NewStaticV4(accessKey, secretKey, ""), Secure: publicSecure, Region: region}
publicClient, err := minio.New(publicEndpoint, publicOptions)
if err != nil {
return nil, fmt.Errorf("create public object store signer: %w", err)
}