Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadAuthorities ¶ added in v1.106.1
func LoadAuthorities(peerIdentity *identity.PeerIdentity, authorityLocations string) (nodetag.Authority, error)
LoadAuthorities loads the authorities from the specified locations.
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
Endpoint *metainfo.Endpoint
}
Userinfo struct {
Endpoint *userinfo.Endpoint
}
Accounting struct {
ProjectUsage *accounting.Service
}
LiveAccounting struct {
Cache accounting.Cache
}
Mail struct {
Service *mailservice.Service
}
Payments struct {
Accounts payments.Accounts
DepositWallets payments.DepositWallets
StorjscanService *storjscan.Service
StorjscanClient *storjscan.Client
StripeService *stripe.Service
StripeClient stripe.Client
}
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
}
KeyManagement struct {
Service *kms.Service
}
HealthCheck struct {
Server *healthcheck.Server
}
SuccessTrackers *metainfo.SuccessTrackers
}
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
}
Analytics struct {
Service *analytics.Service
}
Payments struct {
Accounts payments.Accounts
Service *stripe.Service
Stripe stripe.Client
}
Admin struct {
Listener net.Listener
Server *admin.Server
Service *backoffice.Service
}
Buckets struct {
Service *buckets.Service
}
REST struct {
Keys *restkeys.Service
}
FreezeAccounts struct {
Service *console.AccountFreezeService
}
LiveAccounting struct {
Cache accounting.Cache
}
Accounting struct {
Service *accounting.Service
}
}
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, liveAccounting accounting.Cache, 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
Placement nodeselection.ConfigurablePlacementRule `` /* 283-byte string literal not displayed */
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
RepairQueueCheck repairer.QueueStatConfig
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
ConsoleDBCleanup dbcleanup.Config
Emission emission.Config
AccountFreeze accountfreeze.Config
Version version_checker.Config
GracefulExit gracefulexit.Config
Compensation compensation.Config
Analytics analytics.Config
PieceTracker piecetracker.Config
DurabilityReport durability.ReportConfig
KeyManagement kms.Config
HealthCheck healthcheck.Config
TagAuthorities string `help:"comma-separated paths of additional cert files, used to validate signed node tags"`
}
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
}
Analytics struct {
Service *analytics.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
}
Reputation struct {
Service *reputation.Service
}
Audit struct {
VerifyQueue audit.VerifyQueue
ReverifyQueue audit.ReverifyQueue
ContainmentSyncChore *audit.ContainmentSyncChore
}
ExpiredDeletion struct {
Chore *expireddeletion.Chore
}
ZombieDeletion struct {
Chore *zombiedeletion.Chore
}
Accounting struct {
Tally *tally.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
}
ConsoleDBCleanup struct {
Chore *dbcleanup.Chore
}
GarbageCollection struct {
Sender *sender.Service
}
RepairQueueStat struct {
Chore *repairer.QueueStat
}
}
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
// StripeCoinPayments returns stripecoinpayments database.
StripeCoinPayments() stripe.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
}
GarbageCollection struct {
Config bloomfilter.Config
}
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 *checker.Observer
}
Accounting struct {
NodeTallyObserver *nodetally.Observer
}
PieceTracker struct {
Observer *piecetracker.Observer
}
DurabilityReport struct {
Observer []*durability.Report
}
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.
type UI ¶ added in v1.84.1
type UI struct {
Log *zap.Logger
Identity *identity.FullIdentity
DB DB
Servers *lifecycle.Group
Debug struct {
Listener net.Listener
Server *debug.Server
}
Console struct {
Listener net.Listener
Server *consoleweb.Server
}
}
UI is the satellite UI process.
architecture: Peer
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. |
|
back-office
See LICENSE for copying information.
|
See LICENSE for copying information. |
|
back-office/gen
command
Package main defines the satellite administration API through the API generator and generates source code of the API server handlers and clients and the documentation markdown document.
|
Package main defines the satellite administration API through the API generator and generates source code of the API server handlers and clients and the documentation markdown document. |
|
Package attribution implements value attribution from docs/design/value-attribution.md
|
Package attribution implements value attribution from docs/design/value-attribution.md |
|
consoleweb/consoleapi/gen
command
|
|
|
wasm
command
|
|
|
Package durability helps us to keep segments in healthy state with reporting risks.
|
Package durability helps us to keep segments in healthy state with reporting risks. |
|
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 |
|
pointerverification
Package pointerverification implements verification of pointers.
|
Package pointerverification implements verification of pointers. |
|
Package uploadselection implements node selection logic for uploads.
|
Package uploadselection implements node selection logic for uploads. |
|
genprimes
command
|
|
|
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. |
|
dbx/gen
command
|
|