Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶ added in v0.23.0
type API struct { Log *zap.Logger Identity *identity.FullIdentity DB DB Servers *lifecycle.Group Services *lifecycle.Group Dialer rpc.Dialer Server *server.Server ExternalAddress string Version struct { Chore *checker.Chore Service *checker.Service } Debug struct { Listener net.Listener Server *debug.Server } Contact struct { Service *contact.Service Endpoint *contact.Endpoint } Overlay struct { DB overlay.DB Service *overlay.Service } Reputation struct { Service *reputation.Service } Orders struct { DB orders.DB Endpoint *orders.Endpoint Service *orders.Service Chore *orders.Chore } Metainfo struct { Metabase *metabase.DB PieceDeletion *piecedeletion.Service Endpoint *metainfo.Endpoint } Userinfo struct { Endpoint *userinfo.Endpoint } Inspector struct { Endpoint *inspector.Endpoint } Accounting struct { ProjectUsage *accounting.Service } LiveAccounting struct { Cache accounting.Cache } ProjectLimits struct { Cache *accounting.ProjectLimitCache } Mail struct { Service *mailservice.Service } Payments struct { Accounts payments.Accounts DepositWallets payments.DepositWallets StorjscanService *storjscan.Service StorjscanClient *storjscan.Client StripeService *stripecoinpayments.Service StripeClient stripecoinpayments.StripeClient } REST struct { Keys *restkeys.Service } Console struct { Listener net.Listener Service *console.Service Endpoint *consoleweb.Server AuthTokens *consoleauth.Service } NodeStats struct { Endpoint *nodestats.Endpoint } OIDC struct { Service *oidc.Service } SNOPayouts struct { Endpoint *snopayouts.Endpoint Service *snopayouts.Service DB snopayouts.DB } GracefulExit struct { Endpoint *gracefulexit.Endpoint } Analytics struct { Service *analytics.Service } ABTesting struct { Service *abtesting.Service } Buckets struct { Service *buckets.Service } }
API is the satellite API process.
architecture: Peer
func NewAPI ¶ added in v0.23.0
func NewAPI(log *zap.Logger, full *identity.FullIdentity, db DB, metabaseDB *metabase.DB, revocationDB extensions.RevocationDB, liveAccounting accounting.Cache, rollupsWriteCache *orders.RollupsWriteCache, config *Config, versionInfo version.Info, atomicLogLevel *zap.AtomicLevel) (*API, error)
NewAPI creates a new satellite API process.
func (*API) PrivateAddr ¶ added in v0.23.0
PrivateAddr returns the private address.
type Admin ¶ added in v0.33.2
type Admin struct { // core dependencies Log *zap.Logger Identity *identity.FullIdentity DB DB MetabaseDB *metabase.DB Servers *lifecycle.Group Services *lifecycle.Group Debug struct { Listener net.Listener Server *debug.Server } Version struct { Chore *checker.Chore Service *checker.Service } Payments struct { Accounts payments.Accounts Service *stripecoinpayments.Service Stripe stripecoinpayments.StripeClient } Admin struct { Listener net.Listener Server *admin.Server } Buckets struct { Service *buckets.Service } REST struct { Keys *restkeys.Service } FreezeAccounts struct { Service *console.AccountFreezeService } }
Admin is the satellite core process that runs chores.
architecture: Peer
func NewAdmin ¶ added in v0.33.2
func NewAdmin(log *zap.Logger, full *identity.FullIdentity, db DB, metabaseDB *metabase.DB, versionInfo version.Info, config *Config, atomicLogLevel *zap.AtomicLevel) (*Admin, error)
NewAdmin creates a new satellite admin peer.
type Auditor ¶ added in v1.70.1
type Auditor struct { Log *zap.Logger Identity *identity.FullIdentity Servers *lifecycle.Group Services *lifecycle.Group Dialer rpc.Dialer Version struct { Chore *version_checker.Chore Service *version_checker.Service } Debug struct { Listener net.Listener Server *debug.Server } Mail *mailservice.Service Overlay *overlay.Service Reputation *reputation.Service Orders struct { Service *orders.Service } Audit struct { Verifier *audit.Verifier Reverifier *audit.Reverifier VerifyQueue audit.VerifyQueue ReverifyQueue audit.ReverifyQueue Reporter audit.Reporter Worker *audit.Worker ReverifyWorker *audit.ReverifyWorker } }
Auditor is the auditor process.
architecture: Peer
func NewAuditor ¶ added in v1.70.1
func NewAuditor(log *zap.Logger, full *identity.FullIdentity, metabaseDB *metabase.DB, revocationDB extensions.RevocationDB, verifyQueue audit.VerifyQueue, reverifyQueue audit.ReverifyQueue, overlayCache overlay.DB, nodeEvents nodeevents.DB, reputationdb reputation.DB, containmentDB audit.Containment, versionInfo version.Info, config *Config, atomicLogLevel *zap.AtomicLevel, ) (*Auditor, error)
NewAuditor creates a new auditor peer.
type Config ¶
type Config struct { Identity identity.Config Server server.Config Debug debug.Config Admin admin.Config Contact contact.Config Overlay overlay.Config OfflineNodes offlinenodes.Config NodeEvents nodeevents.Config StrayNodes straynodes.Config Metainfo metainfo.Config Orders orders.Config Userinfo userinfo.Config Reputation reputation.Config Checker checker.Config Repairer repairer.Config Audit audit.Config GarbageCollection sender.Config GarbageCollectionBF bloomfilter.Config RangedLoop rangedloop.Config ExpiredDeletion expireddeletion.Config ZombieDeletion zombiedeletion.Config Tally tally.Config Rollup rollup.Config RollupArchive rolluparchive.Config LiveAccounting live.Config ProjectBWCleanup projectbwcleanup.Config Mail mailservice.Config Payments paymentsconfig.Config RESTKeys restkeys.Config Console consoleweb.Config ConsoleAuth consoleauth.Config EmailReminders emailreminders.Config AccountFreeze accountfreeze.Config Version version_checker.Config GracefulExit gracefulexit.Config Metrics metrics.Config Compensation compensation.Config ProjectLimit accounting.ProjectLimitConfig Analytics analytics.Config }
Config is the global config satellite.
type Core ¶ added in v0.25.0
type Core struct { // core dependencies Log *zap.Logger Identity *identity.FullIdentity DB DB Servers *lifecycle.Group Services *lifecycle.Group Dialer rpc.Dialer Version struct { Chore *version_checker.Chore Service *version_checker.Service } Mail struct { Service *mailservice.Service EmailReminders *emailreminders.Chore } Debug struct { Listener net.Listener Server *debug.Server } // services and endpoints Overlay struct { DB overlay.DB Service *overlay.Service OfflineNodeEmails *offlinenodes.Chore DQStrayNodes *straynodes.Chore } NodeEvents struct { DB nodeevents.DB Notifier nodeevents.Notifier Chore *nodeevents.Chore } Metainfo struct { Metabase *metabase.DB SegmentLoop *segmentloop.Service } Reputation struct { Service *reputation.Service } Repair struct { Checker *checker.Checker } Audit struct { VerifyQueue audit.VerifyQueue ReverifyQueue audit.ReverifyQueue Chore *audit.Chore ContainmentSyncChore *audit.ContainmentSyncChore } ExpiredDeletion struct { Chore *expireddeletion.Chore } ZombieDeletion struct { Chore *zombiedeletion.Chore } Accounting struct { Tally *tally.Service NodeTally *nodetally.Service Rollup *rollup.Service RollupArchiveChore *rolluparchive.Chore ProjectBWCleanupChore *projectbwcleanup.Chore } LiveAccounting struct { Cache accounting.Cache } Payments struct { AccountFreeze *accountfreeze.Chore Accounts payments.Accounts BillingChore *billing.Chore StorjscanClient *storjscan.Client StorjscanService *storjscan.Service StorjscanChore *storjscan.Chore } GracefulExit struct { Chore *gracefulexit.Chore } Metrics struct { Chore *metrics.Chore } }
Core is the satellite core process that runs chores.
architecture: Peer
func New ¶
func New(log *zap.Logger, full *identity.FullIdentity, db DB, metabaseDB *metabase.DB, revocationDB extensions.RevocationDB, liveAccounting accounting.Cache, versionInfo version.Info, config *Config, atomicLogLevel *zap.AtomicLevel) (*Core, error)
New creates a new satellite.
type DB ¶
type DB interface { // MigrateToLatest initializes the database MigrateToLatest(ctx context.Context) error // CheckVersion checks the database is the correct version CheckVersion(ctx context.Context) error // Close closes the database Close() error // PeerIdentities returns a storage for peer identities PeerIdentities() overlay.PeerIdentities // OverlayCache returns database for caching overlay information OverlayCache() overlay.DB // NodeEvents returns a database for node event information NodeEvents() nodeevents.DB // Reputation returns database for audit reputation information Reputation() reputation.DB // Attribution returns database for partner keys information Attribution() attribution.DB // StoragenodeAccounting returns database for storing information about storagenode use StoragenodeAccounting() accounting.StoragenodeAccounting // ProjectAccounting returns database for storing information about project data use ProjectAccounting() accounting.ProjectAccounting // RepairQueue returns queue for segments that need repairing RepairQueue() queue.RepairQueue // VerifyQueue returns queue for segments chosen for verification VerifyQueue() audit.VerifyQueue // ReverifyQueue returns queue for pieces that need audit reverification ReverifyQueue() audit.ReverifyQueue // Console returns database for satellite console Console() console.DB // OIDC returns the database for OIDC resources. OIDC() oidc.DB // Orders returns database for orders Orders() orders.DB // Containment returns database for containment Containment() audit.Containment // Buckets returns the database to interact with buckets Buckets() buckets.DB // GracefulExit returns database for graceful exit GracefulExit() gracefulexit.DB // StripeCoinPayments returns stripecoinpayments database. StripeCoinPayments() stripecoinpayments.DB // Billing returns storjscan transactions database. Billing() billing.TransactionsDB // Wallets returns storjscan wallets database. Wallets() storjscan.WalletsDB // SNOPayouts returns database for payouts. SNOPayouts() snopayouts.DB // Compensation tracks storage node compensation Compensation() compensation.DB // Revocation tracks revoked macaroons Revocation() revocation.DB // NodeAPIVersion tracks nodes observed api usage NodeAPIVersion() nodeapiversion.DB // StorjscanPayments stores payments retrieved from storjscan. StorjscanPayments() storjscan.PaymentsDB // Testing provides access to testing facilities. These should not be used in production code. Testing() TestingDB }
DB is the master database for the satellite.
architecture: Master Database
type GarbageCollection ¶ added in v1.1.1
type GarbageCollection struct { Log *zap.Logger Identity *identity.FullIdentity DB DB Servers *lifecycle.Group Services *lifecycle.Group Dialer rpc.Dialer Version struct { Chore *version_checker.Chore Service *version_checker.Service } Debug struct { Listener net.Listener Server *debug.Server } Overlay struct { DB overlay.DB } GarbageCollection struct { Sender *sender.Service } }
GarbageCollection is the satellite garbage collection process.
architecture: Peer
func NewGarbageCollection ¶ added in v1.1.1
func NewGarbageCollection(log *zap.Logger, full *identity.FullIdentity, db DB, metabaseDB *metabase.DB, revocationDB extensions.RevocationDB, versionInfo version.Info, config *Config, atomicLogLevel *zap.AtomicLevel) (*GarbageCollection, error)
NewGarbageCollection creates a new satellite garbage collection process.
func (*GarbageCollection) Close ¶ added in v1.1.1
func (peer *GarbageCollection) Close() error
Close closes all the resources.
func (*GarbageCollection) ID ¶ added in v1.1.1
func (peer *GarbageCollection) ID() storj.NodeID
ID returns the peer ID.
type GarbageCollectionBF ¶ added in v1.63.1
type GarbageCollectionBF struct { Log *zap.Logger DB DB Servers *lifecycle.Group Services *lifecycle.Group Debug struct { Listener net.Listener Server *debug.Server } Overlay struct { DB overlay.DB } Metainfo struct { SegmentLoop *segmentloop.Service } GarbageCollection struct { Config bloomfilter.Config Service *bloomfilter.Service } RangedLoop struct { Service *rangedloop.Service } }
GarbageCollectionBF is the satellite garbage collection process which collects bloom filters.
architecture: Peer
func NewGarbageCollectionBF ¶ added in v1.63.1
func NewGarbageCollectionBF(log *zap.Logger, db DB, metabaseDB *metabase.DB, revocationDB extensions.RevocationDB, versionInfo version.Info, config *Config, atomicLogLevel *zap.AtomicLevel) (*GarbageCollectionBF, error)
NewGarbageCollectionBF creates a new satellite garbage collection peer which collects storage nodes bloom filters.
func (*GarbageCollectionBF) Close ¶ added in v1.63.1
func (peer *GarbageCollectionBF) Close() error
Close closes all the resources.
type RangedLoop ¶ added in v1.68.1
type RangedLoop struct { Log *zap.Logger DB DB Servers *lifecycle.Group Services *lifecycle.Group Audit struct { Observer rangedloop.Observer } Debug struct { Listener net.Listener Server *debug.Server } Metrics struct { Observer rangedloop.Observer } Overlay struct { Service *overlay.Service } Repair struct { Observer rangedloop.Observer } GracefulExit struct { Observer rangedloop.Observer } GarbageCollectionBF struct { Observer rangedloop.Observer } Accounting struct { NodeTallyObserver *nodetally.RangedLoopObserver } RangedLoop struct { Service *rangedloop.Service } }
RangedLoop is the satellite ranged loop process.
architecture: Peer
func NewRangedLoop ¶ added in v1.68.1
func NewRangedLoop(log *zap.Logger, db DB, metabaseDB *metabase.DB, config *Config, atomicLogLevel *zap.AtomicLevel) (_ *RangedLoop, err error)
NewRangedLoop creates a new satellite ranged loop process.
func (*RangedLoop) Close ¶ added in v1.68.1
func (peer *RangedLoop) Close() error
Close closes all the resources.
type Repairer ¶ added in v0.25.0
type Repairer struct { Log *zap.Logger Identity *identity.FullIdentity Servers *lifecycle.Group Services *lifecycle.Group Dialer rpc.Dialer Version struct { Chore *version_checker.Chore Service *version_checker.Service } Debug struct { Listener net.Listener Server *debug.Server } Overlay *overlay.Service Reputation *reputation.Service Orders struct { Service *orders.Service } Audit struct { Reporter audit.Reporter } EcRepairer *repairer.ECRepairer SegmentRepairer *repairer.SegmentRepairer Repairer *repairer.Service }
Repairer is the repairer process.
architecture: Peer
func NewRepairer ¶ added in v0.25.0
func NewRepairer(log *zap.Logger, full *identity.FullIdentity, metabaseDB *metabase.DB, revocationDB extensions.RevocationDB, repairQueue queue.RepairQueue, bucketsDB buckets.DB, overlayCache overlay.DB, nodeEvents nodeevents.DB, reputationdb reputation.DB, containmentDB audit.Containment, versionInfo version.Info, config *Config, atomicLogLevel *zap.AtomicLevel, ) (*Repairer, error)
NewRepairer creates a new repairer peer.
type TestingDB ¶ added in v1.73.4
type TestingDB interface { // RawDB returns the underlying database connection to the primary database. RawDB() tagsql.DB // Schema returns the full schema for the database. Schema() string // TestMigrateToLatest initializes the database for testplanet. TestMigrateToLatest(ctx context.Context) error // ProductionMigration returns the primary migration. ProductionMigration() *migrate.Migration // TestMigration returns the migration used for tests. TestMigration() *migrate.Migration }
TestingDB defines access to database testing facilities.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
live
Package live provides live accounting functionality.
|
Package live provides live accounting functionality. |
Package admin implements administrative endpoints for satellite.
|
Package admin implements administrative endpoints for satellite. |
Package attribution implements value attribution from docs/design/value-attribution.md
|
Package attribution implements value attribution from docs/design/value-attribution.md |
Package gc contains the functions needed to run garbage collection.
|
Package gc contains the functions needed to run garbage collection. |
bloomfilter
Package bloomfilter contains the functions needed to run part of garbage collection process.
|
Package bloomfilter contains the functions needed to run part of garbage collection process. |
Package internalpb contains proto definitions for satellite internal tools.
|
Package internalpb contains proto definitions for satellite internal tools. |
Package metabase implements storing objects and segements.
|
Package metabase implements storing objects and segements. |
zombiedeletion
Package zombiedeletion contains the functions needed to run zombie objects deletion chore.
|
Package zombiedeletion contains the functions needed to run zombie objects deletion chore. |
expireddeletion
Package expireddeletion contains the functions needed to run expired segment deletion
|
Package expireddeletion contains the functions needed to run expired segment deletion |
piecedeletion
Package piecedeletion implements service for deleting pieces that combines concurrent requests.
|
Package piecedeletion implements service for deleting pieces that combines concurrent requests. |
pointerverification
Package pointerverification implements verification of pointers.
|
Package pointerverification implements verification of pointers. |
nodeselection
|
|
uploadselection
Package uploadselection implements node selection logic for uploads.
|
Package uploadselection implements node selection logic for uploads. |
Package oidc provides all the elements needed to support OAuth and OpenID Connect workflows using Storj as an identity provider and resource server.
|
Package oidc provides all the elements needed to support OAuth and OpenID Connect workflows using Storj as an identity provider and resource server. |