@ -15,7 +15,7 @@ import (
func ( store * FilerEtcStore ) LoadConfiguration ( ctx context . Context ) ( * iam_pb . S3ApiConfiguration , error ) {
s3cfg := & iam_pb . S3ApiConfiguration { }
glog . V ( 1 ) . Infof ( "Loading IAM configuration from %s/%s (using current active filer)" ,
glog . V ( 1 ) . Infof ( "Loading IAM configuration from %s/%s (using current active filer)" ,
filer . IamConfigDirectory , filer . IamIdentityFile )
err := store . withFilerClient ( func ( client filer_pb . SeaweedFilerClient ) error {
@ -25,31 +25,31 @@ func (store *FilerEtcStore) LoadConfiguration(ctx context.Context) (*iam_pb.S3Ap
content , err := filer . ReadInsideFiler ( client , filer . IamConfigDirectory , filer . IamIdentityFile )
if err != nil {
if err == filer_pb . ErrNotFound {
glog . V ( 1 ) . Infof ( "IAM identity file not found at %s/%s, no credentials loaded" ,
glog . V ( 1 ) . Infof ( "IAM identity file not found at %s/%s, no credentials loaded" ,
filer . IamConfigDirectory , filer . IamIdentityFile )
return nil
}
glog . Errorf ( "Failed to read IAM identity file from %s/%s: %v" ,
glog . Errorf ( "Failed to read IAM identity file from %s/%s: %v" ,
filer . IamConfigDirectory , filer . IamIdentityFile , err )
return err
}
if len ( content ) == 0 {
glog . V ( 1 ) . Infof ( "IAM identity file at %s/%s is empty" ,
glog . V ( 1 ) . Infof ( "IAM identity file at %s/%s is empty" ,
filer . IamConfigDirectory , filer . IamIdentityFile )
return nil
}
glog . V ( 2 ) . Infof ( "Read %d bytes from %s/%s" ,
glog . V ( 2 ) . Infof ( "Read %d bytes from %s/%s" ,
len ( content ) , filer . IamConfigDirectory , filer . IamIdentityFile )
if err := filer . ParseS3ConfigurationFromBytes ( content , s3cfg ) ; err != nil {
glog . Errorf ( "Failed to parse IAM configuration from %s/%s: %v" ,
glog . Errorf ( "Failed to parse IAM configuration from %s/%s: %v" ,
filer . IamConfigDirectory , filer . IamIdentityFile , err )
return err
}
glog . V ( 1 ) . Infof ( "Successfully parsed IAM configuration with %d identities and %d accounts" ,
glog . V ( 1 ) . Infof ( "Successfully parsed IAM configuration with %d identities and %d accounts" ,
len ( s3cfg . Identities ) , len ( s3cfg . Accounts ) )
return nil
} )
@ -63,7 +63,7 @@ func (store *FilerEtcStore) LoadConfiguration(ctx context.Context) (*iam_pb.S3Ap
for _ , identity := range s3cfg . Identities {
credCount := len ( identity . Credentials )
actionCount := len ( identity . Actions )
glog . V ( 2 ) . Infof ( " Identity: %s (credentials: %d, actions: %d)" ,
glog . V ( 2 ) . Infof ( " Identity: %s (credentials: %d, actions: %d)" ,
identity . Name , credCount , actionCount )
for _ , cred := range identity . Credentials {
glog . V ( 3 ) . Infof ( " Access Key: %s" , cred . AccessKey )