diff --git a/services/storage-users/pkg/config/config.go b/services/storage-users/pkg/config/config.go index 6c5d12792d..f250b6e1a6 100644 --- a/services/storage-users/pkg/config/config.go +++ b/services/storage-users/pkg/config/config.go @@ -21,7 +21,8 @@ type Config struct { TokenManager *TokenManager `yaml:"token_manager"` Reva *shared.Reva `yaml:"reva"` - SkipUserGroupsInToken bool `yaml:"skip_user_groups_in_token" env:"STORAGE_USERS_SKIP_USER_GROUPS_IN_TOKEN" desc:"Disables the loading of user's group memberships from the reva access token."` + SkipUserGroupsInToken bool `yaml:"skip_user_groups_in_token" env:"STORAGE_USERS_SKIP_USER_GROUPS_IN_TOKEN" desc:"Disables the loading of user's group memberships from the reva access token."` + GracefulShutdownTimeout int `yaml:"graceful_shutdown_timeout" env:"STORAGE_USERS_GRACEFUL_SHUTDOWN_TIMEOUT" desc:"The number of seconds to wait for the service to shutdown cleanly before exiting with an error. Note: This setting is only applicable when running the 'storage-users' service as a standalone service."` Driver string `yaml:"driver" env:"STORAGE_USERS_DRIVER" desc:"The storage driver which should be used by the service. Defaults to 'ocis', Supported values are: 'ocis', 's3ng' and 'owncloudsql'. The 'ocis' driver stores all data (blob and meta data) in an POSIX compliant volume. The 's3ng' driver stores metadata in a POSIX compliant volume and uploads blobs to the s3 bucket."` Drivers Drivers `yaml:"drivers"` diff --git a/services/storage-users/pkg/config/defaults/defaultconfig.go b/services/storage-users/pkg/config/defaults/defaultconfig.go index f8673c23e1..4674a3b1e8 100644 --- a/services/storage-users/pkg/config/defaults/defaultconfig.go +++ b/services/storage-users/pkg/config/defaults/defaultconfig.go @@ -41,12 +41,13 @@ func DefaultConfig() *config.Config { Service: config.Service{ Name: "storage-users", }, - Reva: shared.DefaultRevaConfig(), - DataServerURL: "http://localhost:9158/data", - DataGatewayURL: "https://localhost:9200/data", - TransferExpires: 86400, - UploadExpiration: 24 * 60 * 60, - Driver: "ocis", + Reva: shared.DefaultRevaConfig(), + DataServerURL: "http://localhost:9158/data", + DataGatewayURL: "https://localhost:9200/data", + TransferExpires: 86400, + UploadExpiration: 24 * 60 * 60, + GracefulShutdownTimeout: 30, + Driver: "ocis", Drivers: config.Drivers{ OwnCloudSQL: config.OwnCloudSQLDriver{ Root: filepath.Join(defaults.BaseDataPath(), "storage", "owncloud"), diff --git a/services/storage-users/pkg/revaconfig/config.go b/services/storage-users/pkg/revaconfig/config.go index 1a486ebf2a..851a38569a 100644 --- a/services/storage-users/pkg/revaconfig/config.go +++ b/services/storage-users/pkg/revaconfig/config.go @@ -1,3 +1,4 @@ +// Package revaconfig contains the config for the reva service package revaconfig import ( @@ -10,11 +11,12 @@ import ( func StorageUsersConfigFromStruct(cfg *config.Config) map[string]interface{} { rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "tracing_enabled": cfg.Tracing.Enabled, - "tracing_exporter": cfg.Tracing.Type, - "tracing_endpoint": cfg.Tracing.Endpoint, - "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": cfg.Service.Name, + "tracing_enabled": cfg.Tracing.Enabled, + "tracing_exporter": cfg.Tracing.Type, + "tracing_endpoint": cfg.Tracing.Endpoint, + "tracing_collector": cfg.Tracing.Collector, + "tracing_service_name": cfg.Service.Name, + "graceful_shutdown_timeout": cfg.GracefulShutdownTimeout, }, "shared": map[string]interface{}{ "jwt_secret": cfg.TokenManager.JWTSecret,