mirror of
https://github.com/minio/minio.git
synced 2025-11-09 13:39:46 -05:00
Extend further validation of config values (#8469)
- This PR allows config KVS to be validated properly without being affected by ENV overrides, rejects invalid values during set operation - Expands unit tests and refactors the error handling for notification targets, returns error instead of ignoring targets for invalid KVS - Does all the prep-work for implementing safe-mode style operation for MinIO server, introduces a new global variable to toggle safe mode based operations NOTE: this PR itself doesn't provide safe mode operations
This commit is contained in:
committed by
kannappanr
parent
599aae5ba6
commit
9e7a3e6adc
@@ -370,7 +370,11 @@ func UnstartedTestServer(t TestErrHandler, instanceType string) TestServer {
|
||||
globalPolicySys = NewPolicySys()
|
||||
globalPolicySys.Init(buckets, objLayer)
|
||||
|
||||
globalNotificationSys = NewNotificationSys(globalServerConfig, testServer.Disks)
|
||||
globalNotificationSys, err = NewNotificationSys(globalServerConfig, testServer.Disks)
|
||||
if err != nil {
|
||||
t.Fatalf("Unable to initialize notification system %s", err)
|
||||
}
|
||||
|
||||
globalNotificationSys.Init(buckets, objLayer)
|
||||
|
||||
globalLifecycleSys = NewLifecycleSys()
|
||||
@@ -1636,7 +1640,10 @@ func newTestObjectLayer(endpoints EndpointList) (newObject ObjectLayer, err erro
|
||||
globalIAMSys.Init(xl)
|
||||
|
||||
globalPolicySys = NewPolicySys()
|
||||
globalNotificationSys = NewNotificationSys(globalServerConfig, endpoints)
|
||||
globalNotificationSys, err = NewNotificationSys(globalServerConfig, endpoints)
|
||||
if err != nil {
|
||||
return xl, err
|
||||
}
|
||||
|
||||
return xl, nil
|
||||
}
|
||||
@@ -2168,8 +2175,18 @@ func registerAPIFunctions(muxRouter *mux.Router, objLayer ObjectLayer, apiFuncti
|
||||
// to underlying cache layer to manage object layer operation and disk caching
|
||||
// operation
|
||||
api := objectAPIHandlers{
|
||||
ObjectAPI: newObjectLayerFn,
|
||||
CacheAPI: newCacheObjectsFn,
|
||||
ObjectAPI: func() ObjectLayer {
|
||||
if !globalSafeMode {
|
||||
return globalObjectAPI
|
||||
}
|
||||
return nil
|
||||
},
|
||||
CacheAPI: func() CacheObjectLayer {
|
||||
if !globalSafeMode {
|
||||
return globalCacheObjectAPI
|
||||
}
|
||||
return nil
|
||||
},
|
||||
EncryptionEnabled: func() bool { return true },
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user