app

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2026 License: Apache-2.0, MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcceptanceStorageConfig added in v0.0.18

type AcceptanceStorageConfig struct {
	Dir string
}

AcceptanceStorageConfig contains acceptance-specific storage paths

type AggregatorStorageConfig

type AggregatorStorageConfig struct {
	Dir    string
	DBPath string
}

AggregatorStorageConfig contains aggregator-specific storage paths

type AllocationStorageConfig

type AllocationStorageConfig struct {
	Dir string
}

AllocationStorageConfig contains allocation-specific storage paths

type AppConfig

type AppConfig struct {
	// Identity configuration
	Identity IdentityConfig

	// Server configuration
	Server ServerConfig

	// Storage paths and directories
	Storage StorageConfig

	// Configuration specific for UCAN operations
	UCANService UCANServiceConfig

	// Configuration specific for PDP operations
	PDPService PDPServiceConfig

	// Telemetry configuration
	Telemetry TelemetryConfig

	//
	// Configs below are not exposed to users, they are hard coded with defaults
	// their purpose is to allow configurable configuration injection in tests
	// They may be exposed to users later
	Replicator ReplicatorConfig
}

AppConfig is the root configuration for the entire application

type BlobStorageConfig

type BlobStorageConfig struct {
	Dir    string
	TmpDir string
}

BlobStorageConfig contains blob-specific storage paths

type ClaimStorageConfig

type ClaimStorageConfig struct {
	Dir string
}

ClaimStorageConfig contains claim-specific storage paths

type ContractAddresses added in v0.1.0

type ContractAddresses struct {
	Verifier         common.Address
	ProviderRegistry common.Address
	Service          common.Address
	ServiceView      common.Address
	Payments         common.Address
	USDFCToken       common.Address
}

type Credentials added in v0.1.1

type Credentials struct {
	AccessKeyID     string
	SecretAccessKey string
}

Credentials configures access credentials for Minio.

type EgressTrackerServiceConfig added in v0.0.15

type EgressTrackerServiceConfig struct {
	Connection           client.Connection
	Proofs               delegation.Proofs
	ReceiptsEndpoint     *url.URL
	MaxBatchSizeBytes    int64
	CleanupCheckInterval time.Duration
}

type EgressTrackerStorageConfig added in v0.0.15

type EgressTrackerStorageConfig struct {
	Dir    string
	DBPath string
}

EgressTrackerStorageConfig contains egress tracker store-specific storage paths

type ExternalServicesConfig

type ExternalServicesConfig struct {
	PrincipalMapping map[string]string

	Indexer       IndexingServiceConfig
	EgressTracker EgressTrackerServiceConfig
	Upload        UploadServiceConfig
	Publisher     PublisherServiceConfig
}

type IdentityConfig

type IdentityConfig struct {
	// The principal signer for this service
	Signer principal.Signer
}

IdentityConfig contains identity-related configuration

type IndexingServiceConfig

type IndexingServiceConfig struct {
	Connection client.Connection
	Proofs     delegation.Proofs
}

IndexingServiceConfig contains indexing service connection and proof(s) for using the service

type KeyStoreConfig added in v0.0.13

type KeyStoreConfig struct {
	Dir string
}

type MinioConfig added in v0.1.1

type MinioConfig struct {
	Endpoint    string      // API URL
	Bucket      string      // bucket name
	Credentials Credentials // access credentials
	Insecure    bool        // set to true to disable SSL
}

MinioConfig configures Minio - an S3 compatible object store.

type PDPServiceConfig added in v0.0.13

type PDPServiceConfig struct {
	// Users address, which owns a proof set and sends messages to the ContractAddress
	OwnerAddress common.Address
	// The URL endpoint of a lotus node used for interaction with chain state.
	LotusEndpoint *url.URL
	// Signing service configuration used to sign PDP operations
	SigningService SigningServiceConfig
	// Smart contract addresses
	Contracts ContractAddresses
	// Filecoin chain ID (314 for mainnet, 314159 for calibration)
	ChainID *big.Int
	// PayerAddress is the Storacha Owned address that pays SPs
	PayerAddress common.Address
}

type PDPStoreConfig added in v0.0.13

type PDPStoreConfig struct {
	Dir   string
	Minio MinioConfig
}

type PublisherServiceConfig added in v0.0.13

type PublisherServiceConfig struct {
	// The public facing multiaddr of the publisher
	PublicMaddr multiaddr.Multiaddr
	// The address put into announce messages to tell indexers where to fetch advertisements from
	AnnounceMaddr multiaddr.Multiaddr
	// Address to tell indexers where to fetch blobs from
	BlobMaddr multiaddr.Multiaddr
	// Indexer URLs to send direct HTTP announcements to
	AnnounceURLs []url.URL
}

type PublisherStorageConfig

type PublisherStorageConfig struct {
	Dir string
}

PublisherStorageConfig contains publisher-specific storage paths

type ReceiptStorageConfig

type ReceiptStorageConfig struct {
	Dir string
}

ReceiptStorageConfig contains receipt-specific storage paths

type ReplicatorConfig added in v0.0.14

type ReplicatorConfig struct {
	// MaxRetries configures the maximum retries allowed by the replication queue
	MaxRetries uint
	// MaxWorkers configures the maximum workers ran by the replication queue
	MaxWorkers uint
	// MaxTimeout configures timeout for jobs before they can be re-evaluated
	MaxTimeout time.Duration
}

func DefaultReplicatorConfig added in v0.0.14

func DefaultReplicatorConfig() ReplicatorConfig

type ReplicatorStorageConfig

type ReplicatorStorageConfig struct {
	DBPath string
}

ReplicatorStorageConfig contains replicator-specific storage paths

type SchedulerConfig added in v0.0.13

type SchedulerConfig struct {
	DBPath string
}

type ServerConfig

type ServerConfig struct {
	Host      string
	Port      uint
	PublicURL url.URL
}

ServerConfig contains HTTP server settings

type SigningServiceConfig added in v0.0.17

type SigningServiceConfig struct {
	// Connection to the signing service backend.
	Connection client.Connection
	// Private key for in-process signing (if using local signer)
	// NB: this should only be used for development purposes
	PrivateKey *ecdsa.PrivateKey
}

SigningServiceConfig configures the signing service for PDP operations

type StashStoreConfig added in v0.0.13

type StashStoreConfig struct {
	Dir string
}

type StorageConfig

type StorageConfig struct {
	// Root directories
	DataDir string
	TempDir string

	// Service-specific storage subdirectories
	Aggregator       AggregatorStorageConfig
	Blobs            BlobStorageConfig
	Claims           ClaimStorageConfig
	Publisher        PublisherStorageConfig
	Receipts         ReceiptStorageConfig
	EgressTracker    EgressTrackerStorageConfig
	Allocations      AllocationStorageConfig
	Acceptance       AcceptanceStorageConfig
	Replicator       ReplicatorStorageConfig
	KeyStore         KeyStoreConfig
	StashStore       StashStoreConfig
	SchedulerStorage SchedulerConfig
	PDPStore         PDPStoreConfig
}

StorageConfig contains all storage paths and directories

type TelemetryCollectorConfig added in v0.2.1

type TelemetryCollectorConfig struct {
	Endpoint        string
	Insecure        bool
	Headers         map[string]string
	PublishInterval time.Duration
}

type TelemetryConfig added in v0.2.1

type TelemetryConfig struct {
	Metrics                  []TelemetryCollectorConfig
	Traces                   []TelemetryCollectorConfig
	DisableStorachaAnalytics bool
}

type UCANServiceConfig added in v0.0.13

type UCANServiceConfig struct {
	Services   ExternalServicesConfig
	ProofSetID uint64
}

type UploadServiceConfig added in v0.0.13

type UploadServiceConfig struct {
	Connection client.Connection
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL