From c7b34b275e25123b042acf288e1849a8a040294f Mon Sep 17 00:00:00 2001 From: Cameron Date: Thu, 21 Dec 2023 16:06:30 -0500 Subject: [PATCH] admin/back-offie: add defaults to service Add default max buckets and rate limit to admin service so these values can be returned if the DB value is null. Change-Id: Ic7d2d32b5df9b27995025d3dc81f6167557be382 --- satellite/admin.go | 2 ++ satellite/admin/back-office/service.go | 13 +++++++++++++ 2 files changed, 15 insertions(+) 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), + }, } }