mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
[s3] do reload s3 static config (#4923)
* do reload s3 config * print error on reload s3 config * print success msg * Update weed/s3api/s3api_server.go --------- Co-authored-by: Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.co> Co-authored-by: Chris Lu <chrislusf@users.noreply.github.com>
This commit is contained in:
parent
3df0e11ad3
commit
6c82d7ddfc
|
@ -4,7 +4,9 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/seaweedfs/seaweedfs/weed/filer"
|
"github.com/seaweedfs/seaweedfs/weed/filer"
|
||||||
|
"github.com/seaweedfs/seaweedfs/weed/glog"
|
||||||
"github.com/seaweedfs/seaweedfs/weed/pb/s3_pb"
|
"github.com/seaweedfs/seaweedfs/weed/pb/s3_pb"
|
||||||
|
"github.com/seaweedfs/seaweedfs/weed/util/grace"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -61,6 +63,15 @@ func NewS3ApiServer(router *mux.Router, option *S3ApiServerOption) (s3ApiServer
|
||||||
filerGuard: security.NewGuard([]string{}, signingKey, expiresAfterSec, readSigningKey, readExpiresAfterSec),
|
filerGuard: security.NewGuard([]string{}, signingKey, expiresAfterSec, readSigningKey, readExpiresAfterSec),
|
||||||
cb: NewCircuitBreaker(option),
|
cb: NewCircuitBreaker(option),
|
||||||
}
|
}
|
||||||
|
if option.Config != "" {
|
||||||
|
grace.OnReload(func() {
|
||||||
|
if err := s3ApiServer.iam.loadS3ApiConfigurationFromFile(option.Config); err != nil {
|
||||||
|
glog.Errorf("fail to load config file %s: %v", option.Config, err)
|
||||||
|
} else {
|
||||||
|
glog.V(0).Infof("Loaded %s identities from config file %s", len(s3ApiServer.iam.identities), option.Config)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
s3ApiServer.bucketRegistry = NewBucketRegistry(s3ApiServer)
|
s3ApiServer.bucketRegistry = NewBucketRegistry(s3ApiServer)
|
||||||
if option.LocalFilerSocket == "" {
|
if option.LocalFilerSocket == "" {
|
||||||
s3ApiServer.client = &http.Client{Transport: &http.Transport{
|
s3ApiServer.client = &http.Client{Transport: &http.Transport{
|
||||||
|
|
Loading…
Reference in a new issue