diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-12-06 23:16:20 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-12-06 23:16:20 -0800 |
| commit | 01e2da5782f7fb14fb4ba1350e0c1fa097557dcf (patch) | |
| tree | 102f66a8b15a1eb56df36df77f9cf14e6ccd5657 /weed/s3api/auth_credentials.go | |
| parent | 77286f8bea1389aa17555f0b3dc244b07b938643 (diff) | |
| download | seaweedfs-01e2da5782f7fb14fb4ba1350e0c1fa097557dcf.tar.xz seaweedfs-01e2da5782f7fb14fb4ba1350e0c1fa097557dcf.zip | |
refactoring
Diffstat (limited to 'weed/s3api/auth_credentials.go')
| -rw-r--r-- | weed/s3api/auth_credentials.go | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/weed/s3api/auth_credentials.go b/weed/s3api/auth_credentials.go index de1a0e3a1..9fcd016e2 100644 --- a/weed/s3api/auth_credentials.go +++ b/weed/s3api/auth_credentials.go @@ -3,15 +3,12 @@ package s3api import ( "bytes" "fmt" - "github.com/chrislusf/seaweedfs/weed/pb" - "github.com/chrislusf/seaweedfs/weed/pb/filer_pb" - "google.golang.org/grpc" + "github.com/chrislusf/seaweedfs/weed/filer" "io/ioutil" "net/http" xhttp "github.com/chrislusf/seaweedfs/weed/s3api/http" "github.com/chrislusf/seaweedfs/weed/s3api/s3err" - "github.com/chrislusf/seaweedfs/weed/s3iam" "github.com/golang/protobuf/jsonpb" "github.com/chrislusf/seaweedfs/weed/glog" @@ -65,17 +62,17 @@ func NewIdentityAccessManagement(option *S3ApiServerOption) *IdentityAccessManag func (iam *IdentityAccessManagement) loadS3ApiConfigurationFromFiler(option *S3ApiServerOption) error { s3ApiConfiguration := &iam_pb.S3ApiConfiguration{} - return pb.WithCachedGrpcClient(func(grpcConnection *grpc.ClientConn) error { - client := filer_pb.NewSeaweedFilerClient(grpcConnection) - store := s3iam.NewIAMFilerStore(&client) - if err := store.LoadIAMConfig(s3ApiConfiguration); err != nil { - return nil - } - if err := iam.loadS3ApiConfiguration(s3ApiConfiguration); err != nil { - return err - } - return nil - }, option.FilerGrpcAddress, option.GrpcDialOption) + content, err := filer.ReadContent(option.Filer, filer.IamConfigDirecotry, filer.IamIdentityFile) + if err != nil { + return fmt.Errorf("read S3 config: %v", err) + } + if err = filer.ParseS3ConfigurationFromBytes(content, s3ApiConfiguration); err != nil { + return fmt.Errorf("parse S3 config: %v", err) + } + if err := iam.loadS3ApiConfiguration(s3ApiConfiguration); err != nil { + return fmt.Errorf("laod S3 config: %v", err) + } + return nil } func (iam *IdentityAccessManagement) loadS3ApiConfigurationFromFile(fileName string) error { |
