diff --git a/satellite/admin.go b/satellite/admin.go index 4767923f9a66..af66c1d8bbc9 100644 --- a/satellite/admin.go +++ b/satellite/admin.go @@ -265,6 +265,8 @@ func NewAdmin(log *zap.Logger, full *identity.FullIdentity, db DB, metabaseDB *m peer.DB.ProjectAccounting(), peer.Accounting.Service, placement, + config.Metainfo.ProjectLimits.MaxBuckets, + config.Metainfo.RateLimiter.Rate, ) adminConfig := config.Admin diff --git a/satellite/admin/back-office/service.go b/satellite/admin/back-office/service.go index d39e34b120ae..e3771e5aedb9 100644 --- a/satellite/admin/back-office/service.go +++ b/satellite/admin/back-office/service.go @@ -11,6 +11,12 @@ import ( "storj.io/storj/satellite/nodeselection" ) +// Defaults contains default values for limits which are not stored in the DB. +type Defaults struct { + MaxBuckets int + RateLimit int +} + // Service provides functionality for administrating satellites. type Service struct { log *zap.Logger @@ -18,6 +24,7 @@ type Service struct { accountingDB accounting.ProjectAccounting accounting *accounting.Service placement nodeselection.PlacementDefinitions + defaults Defaults } // NewService creates a new satellite administration service. @@ -27,6 +34,8 @@ func NewService( accountingDB accounting.ProjectAccounting, accounting *accounting.Service, placement nodeselection.PlacementDefinitions, + defaultMaxBuckets int, + defaultRateLimit float64, ) *Service { return &Service{ log: log, @@ -34,5 +43,9 @@ func NewService( accountingDB: accountingDB, accounting: accounting, placement: placement, + defaults: Defaults{ + MaxBuckets: defaultMaxBuckets, + RateLimit: int(defaultRateLimit), + }, } }