Documentation ¶
Index ¶
- Variables
- func New(log *zap.Logger, databaseURL string) (satellite.DB, error)
- type ConsoleDB
- func (db *ConsoleDB) APIKeys() console.APIKeys
- func (db *ConsoleDB) BeginTx(ctx context.Context) (console.DBTx, error)
- func (db *ConsoleDB) ProjectMembers() console.ProjectMembers
- func (db *ConsoleDB) Projects() console.Projects
- func (db *ConsoleDB) RegistrationTokens() console.RegistrationTokens
- func (db *ConsoleDB) ResetPasswordTokens() console.ResetPasswordTokens
- func (db *ConsoleDB) UserCredits() console.UserCredits
- func (db *ConsoleDB) Users() console.Users
- type DB
- func (db *DB) Attribution() attribution.DB
- func (db *DB) Buckets() metainfo.BucketsDB
- func (db *DB) CheckVersion() error
- func (db *DB) Close() error
- func (db *DB) Console() console.DB
- func (db *DB) Containment() audit.Containment
- func (db *DB) CreateTables() error
- func (db *DB) GracefulExit() gracefulexit.DB
- func (db *DB) Irreparable() irreparable.DB
- func (db *DB) Orders() orders.DB
- func (db *DB) OverlayCache() overlay.DB
- func (db *DB) PeerIdentities() overlay.PeerIdentities
- func (db *DB) PostgresMigration() *migrate.Migration
- func (db *DB) ProjectAccounting() accounting.ProjectAccounting
- func (db *DB) RepairQueue() queue.RepairQueue
- func (db *DB) Rewards() rewards.DB
- func (db *DB) StoragenodeAccounting() accounting.StoragenodeAccounting
- func (db *DB) StripeCoinPayments() stripecoinpayments.DB
- func (db *DB) TestDBAccess() *dbx.DB
- type DBTx
- type ProjectAccounting
- func (db *ProjectAccounting) CreateStorageTally(ctx context.Context, tally accounting.BucketStorageTally) (err error)
- func (db *ProjectAccounting) GetAllocatedBandwidthTotal(ctx context.Context, projectID uuid.UUID, from time.Time) (_ int64, err error)
- func (db *ProjectAccounting) GetBucketTotals(ctx context.Context, projectID uuid.UUID, cursor accounting.BucketUsageCursor, ...) (_ *accounting.BucketUsagePage, err error)
- func (db *ProjectAccounting) GetBucketUsageRollups(ctx context.Context, projectID uuid.UUID, since, before time.Time) (_ []accounting.BucketUsageRollup, err error)
- func (db *ProjectAccounting) GetProjectBandwidthLimit(ctx context.Context, projectID uuid.UUID) (_ memory.Size, err error)
- func (db *ProjectAccounting) GetProjectStorageLimit(ctx context.Context, projectID uuid.UUID) (_ memory.Size, err error)
- func (db *ProjectAccounting) GetProjectTotal(ctx context.Context, projectID uuid.UUID, since, before time.Time) (usage *accounting.ProjectUsage, err error)
- func (db *ProjectAccounting) GetStorageTotals(ctx context.Context, projectID uuid.UUID) (inline int64, remote int64, err error)
- func (db *ProjectAccounting) GetTallies(ctx context.Context) (tallies []accounting.BucketTally, err error)
- func (db *ProjectAccounting) SaveTallies(ctx context.Context, intervalStart time.Time, ...) (err error)
- func (db *ProjectAccounting) UpdateProjectBandwidthLimit(ctx context.Context, projectID uuid.UUID, limit memory.Size) (err error)
- func (db *ProjectAccounting) UpdateProjectStorageLimit(ctx context.Context, projectID uuid.UUID, limit memory.Size) (err error)
- type StoragenodeAccounting
- func (db *StoragenodeAccounting) DeleteTalliesBefore(ctx context.Context, latestRollup time.Time) (err error)
- func (db *StoragenodeAccounting) GetBandwidthSince(ctx context.Context, latestRollup time.Time) (_ []*accounting.StoragenodeBandwidthRollup, err error)
- func (db *StoragenodeAccounting) GetTallies(ctx context.Context) (_ []*accounting.StoragenodeStorageTally, err error)
- func (db *StoragenodeAccounting) GetTalliesSince(ctx context.Context, latestRollup time.Time) (_ []*accounting.StoragenodeStorageTally, err error)
- func (db *StoragenodeAccounting) LastTimestamp(ctx context.Context, timestampType string) (_ time.Time, err error)
- func (db *StoragenodeAccounting) QueryPaymentInfo(ctx context.Context, start time.Time, end time.Time) (_ []*accounting.CSVRow, err error)
- func (db *StoragenodeAccounting) QueryStorageNodeUsage(ctx context.Context, nodeID storj.NodeID, start time.Time, end time.Time) (_ []accounting.StorageNodeUsage, err error)
- func (db *StoragenodeAccounting) SaveRollup(ctx context.Context, latestRollup time.Time, stats accounting.RollupStats) (err error)
- func (db *StoragenodeAccounting) SaveTallies(ctx context.Context, latestTally time.Time, nodeData map[storj.NodeID]float64) (err error)
Constants ¶
This section is empty.
Variables ¶
var ( // ErrMigrate is for tracking migration errors ErrMigrate = errs.Class("migrate") // ErrMigrateMinVersion is for migration min version errors ErrMigrateMinVersion = errs.Class("migrate min version") )
var ( // ErrDifferentStorageNodes is returned when ProcessOrders gets orders from different storage nodes. ErrDifferentStorageNodes = errs.Class("different storage nodes") )
var ( // Error is the default satellitedb errs class Error = errs.Class("satellitedb") )
Functions ¶
Types ¶
type ConsoleDB ¶
type ConsoleDB struct {
// contains filtered or unexported fields
}
ConsoleDB contains access to different satellite databases.
func (*ConsoleDB) ProjectMembers ¶
func (db *ConsoleDB) ProjectMembers() console.ProjectMembers
ProjectMembers is a getter for ProjectMembers repository.
func (*ConsoleDB) RegistrationTokens ¶
func (db *ConsoleDB) RegistrationTokens() console.RegistrationTokens
RegistrationTokens is a getter for RegistrationTokens repository.
func (*ConsoleDB) ResetPasswordTokens ¶ added in v0.12.0
func (db *ConsoleDB) ResetPasswordTokens() console.ResetPasswordTokens
ResetPasswordTokens is a getter for ResetPasswordTokens repository.
func (*ConsoleDB) UserCredits ¶ added in v0.14.0
func (db *ConsoleDB) UserCredits() console.UserCredits
UserCredits is a getter for console.UserCredits repository.
type DB ¶
type DB struct {
// contains filtered or unexported fields
}
DB contains access to different database tables
func (*DB) Attribution ¶ added in v0.14.0
func (db *DB) Attribution() attribution.DB
Attribution is a getter for value attribution repository
func (*DB) CheckVersion ¶ added in v0.25.0
CheckVersion confirms the database is at the desired version
func (*DB) Containment ¶ added in v0.12.0
func (db *DB) Containment() audit.Containment
Containment returns database for storing pending audit info
func (*DB) CreateTables ¶
CreateTables is a method for creating all tables for database
func (*DB) GracefulExit ¶ added in v0.22.0
func (db *DB) GracefulExit() gracefulexit.DB
GracefulExit returns database for graceful exit
func (*DB) Irreparable ¶
func (db *DB) Irreparable() irreparable.DB
Irreparable returns database for storing segments that failed repair
func (*DB) OverlayCache ¶
OverlayCache is a getter for overlay cache repository
func (*DB) PeerIdentities ¶ added in v0.19.0
func (db *DB) PeerIdentities() overlay.PeerIdentities
PeerIdentities returns a storage for peer identities
func (*DB) PostgresMigration ¶
PostgresMigration returns steps needed for migrating postgres database.
func (*DB) ProjectAccounting ¶ added in v0.12.0
func (db *DB) ProjectAccounting() accounting.ProjectAccounting
ProjectAccounting returns database for tracking project data use
func (*DB) RepairQueue ¶
func (db *DB) RepairQueue() queue.RepairQueue
RepairQueue is a getter for RepairQueue repository
func (*DB) StoragenodeAccounting ¶ added in v0.12.0
func (db *DB) StoragenodeAccounting() accounting.StoragenodeAccounting
StoragenodeAccounting returns database for tracking storagenode usage
func (*DB) StripeCoinPayments ¶ added in v0.25.0
func (db *DB) StripeCoinPayments() stripecoinpayments.DB
StripeCoinPayments returns database for stripecoinpayments.
func (*DB) TestDBAccess ¶
TestDBAccess for raw database access, should not be used outside of migration tests.
type DBTx ¶
type DBTx struct {
*ConsoleDB
}
DBTx extends Database with transaction scope.
type ProjectAccounting ¶ added in v0.12.0
type ProjectAccounting struct {
// contains filtered or unexported fields
}
ProjectAccounting implements the accounting/db ProjectAccounting interface
func (*ProjectAccounting) CreateStorageTally ¶ added in v0.12.0
func (db *ProjectAccounting) CreateStorageTally(ctx context.Context, tally accounting.BucketStorageTally) (err error)
CreateStorageTally creates a record in the bucket_storage_tallies accounting table
func (*ProjectAccounting) GetAllocatedBandwidthTotal ¶ added in v0.12.0
func (db *ProjectAccounting) GetAllocatedBandwidthTotal(ctx context.Context, projectID uuid.UUID, from time.Time) (_ int64, err error)
GetAllocatedBandwidthTotal returns the sum of GET bandwidth usage allocated for a projectID for a time frame
func (*ProjectAccounting) GetBucketTotals ¶ added in v0.26.0
func (db *ProjectAccounting) GetBucketTotals(ctx context.Context, projectID uuid.UUID, cursor accounting.BucketUsageCursor, since, before time.Time) (_ *accounting.BucketUsagePage, err error)
GetBucketTotals retrieves bucket usage totals for period of time
func (*ProjectAccounting) GetBucketUsageRollups ¶ added in v0.26.0
func (db *ProjectAccounting) GetBucketUsageRollups(ctx context.Context, projectID uuid.UUID, since, before time.Time) (_ []accounting.BucketUsageRollup, err error)
GetBucketUsageRollups retrieves summed usage rollups for every bucket of particular project for a given period
func (*ProjectAccounting) GetProjectBandwidthLimit ¶ added in v0.27.0
func (db *ProjectAccounting) GetProjectBandwidthLimit(ctx context.Context, projectID uuid.UUID) (_ memory.Size, err error)
GetProjectBandwidthLimit returns project bandwidth usage limit.
func (*ProjectAccounting) GetProjectStorageLimit ¶ added in v0.27.0
func (db *ProjectAccounting) GetProjectStorageLimit(ctx context.Context, projectID uuid.UUID) (_ memory.Size, err error)
GetProjectStorageLimit returns project storage usage limit.
func (*ProjectAccounting) GetProjectTotal ¶ added in v0.26.0
func (db *ProjectAccounting) GetProjectTotal(ctx context.Context, projectID uuid.UUID, since, before time.Time) (usage *accounting.ProjectUsage, err error)
GetProjectTotal retrieves project usage for a given period
func (*ProjectAccounting) GetStorageTotals ¶ added in v0.12.0
func (db *ProjectAccounting) GetStorageTotals(ctx context.Context, projectID uuid.UUID) (inline int64, remote int64, err error)
GetStorageTotals returns the current inline and remote storage usage for a projectID
func (*ProjectAccounting) GetTallies ¶ added in v0.21.0
func (db *ProjectAccounting) GetTallies(ctx context.Context) (tallies []accounting.BucketTally, err error)
GetTallies saves the latest bucket info
func (*ProjectAccounting) SaveTallies ¶ added in v0.12.0
func (db *ProjectAccounting) SaveTallies(ctx context.Context, intervalStart time.Time, bucketTallies map[string]*accounting.BucketTally) (err error)
SaveTallies saves the latest bucket info
func (*ProjectAccounting) UpdateProjectBandwidthLimit ¶ added in v1.4.3
func (db *ProjectAccounting) UpdateProjectBandwidthLimit(ctx context.Context, projectID uuid.UUID, limit memory.Size) (err error)
UpdateProjectBandwidthLimit updates project bandwidth usage limit.
func (*ProjectAccounting) UpdateProjectStorageLimit ¶
func (db *ProjectAccounting) UpdateProjectStorageLimit(ctx context.Context, projectID uuid.UUID, limit memory.Size) (err error)
UpdateProjectStorageLimit updates project storage usage limit.
type StoragenodeAccounting ¶ added in v0.12.0
type StoragenodeAccounting struct {
// contains filtered or unexported fields
}
StoragenodeAccounting implements the accounting/db StoragenodeAccounting interface
func (*StoragenodeAccounting) DeleteTalliesBefore ¶ added in v0.12.0
func (db *StoragenodeAccounting) DeleteTalliesBefore(ctx context.Context, latestRollup time.Time) (err error)
DeleteTalliesBefore deletes all raw tallies prior to some time
func (*StoragenodeAccounting) GetBandwidthSince ¶ added in v0.12.0
func (db *StoragenodeAccounting) GetBandwidthSince(ctx context.Context, latestRollup time.Time) (_ []*accounting.StoragenodeBandwidthRollup, err error)
GetBandwidthSince retrieves all storagenode_bandwidth_rollup entires since latestRollup
func (*StoragenodeAccounting) GetTallies ¶ added in v0.12.0
func (db *StoragenodeAccounting) GetTallies(ctx context.Context) (_ []*accounting.StoragenodeStorageTally, err error)
GetTallies retrieves all raw tallies
func (*StoragenodeAccounting) GetTalliesSince ¶ added in v0.12.0
func (db *StoragenodeAccounting) GetTalliesSince(ctx context.Context, latestRollup time.Time) (_ []*accounting.StoragenodeStorageTally, err error)
GetTalliesSince retrieves all raw tallies since latestRollup
func (*StoragenodeAccounting) LastTimestamp ¶ added in v0.12.0
func (db *StoragenodeAccounting) LastTimestamp(ctx context.Context, timestampType string) (_ time.Time, err error)
LastTimestamp records the greatest last tallied time
func (*StoragenodeAccounting) QueryPaymentInfo ¶ added in v0.12.0
func (db *StoragenodeAccounting) QueryPaymentInfo(ctx context.Context, start time.Time, end time.Time) (_ []*accounting.CSVRow, err error)
QueryPaymentInfo queries Overlay, Accounting Rollup on nodeID
func (*StoragenodeAccounting) QueryStorageNodeUsage ¶ added in v0.18.0
func (db *StoragenodeAccounting) QueryStorageNodeUsage(ctx context.Context, nodeID storj.NodeID, start time.Time, end time.Time) (_ []accounting.StorageNodeUsage, err error)
QueryStorageNodeUsage returns slice of StorageNodeUsage for given period
func (*StoragenodeAccounting) SaveRollup ¶ added in v0.12.0
func (db *StoragenodeAccounting) SaveRollup(ctx context.Context, latestRollup time.Time, stats accounting.RollupStats) (err error)
SaveRollup records raw tallies of at rest data to the database
Source Files ¶
- apikeys.go
- attribution.go
- buckets.go
- coinpaymentstxs.go
- consoledb.go
- containment.go
- coupons.go
- customers.go
- database.go
- gracefulexit.go
- invoiceprojectrecords.go
- irreparabledb.go
- migrate.go
- offers.go
- orders.go
- overlaycache.go
- peeridentities.go
- projectaccounting.go
- projectmembers.go
- projects.go
- regtokens.go
- repairqueue.go
- resetpasstokens.go
- storagenodeaccounting.go
- stripecoinpaymentsdb.go
- usercredits.go
- users.go
- utils.go