uplink

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2019 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientConfig

type ClientConfig struct {
	MaxInlineSize  memory.Size   `help:"max inline segment size in bytes" default:"4KiB"`
	SegmentSize    memory.Size   `help:"the size of a segment in bytes" default:"64MiB"`
	RequestTimeout time.Duration `help:"timeout for request" default:"0h2m00s"`
	DialTimeout    time.Duration `help:"timeout for dials" default:"0h2m00s"`
}

ClientConfig is a configuration struct for the uplink that controls how to talk to the rest of the network.

type Config

type Config struct {
	ScopeConfig
	Client ClientConfig
	RS     RSConfig
	Enc    EncryptionConfig
	TLS    tlsopts.Config
}

Config uplink configuration

func (Config) GetEncryptionParameters added in v0.15.0

func (c Config) GetEncryptionParameters() storj.EncryptionParameters

GetEncryptionParameters returns the configured encryption scheme for new uploads Blocksize should align with the stripe size therefore multiples of stripes should fit in every encryption block. Instead of lettings users configure this multiple value, we hardcode stripesPerBlock as 2 for simplicity.

func (Config) GetPathCipherSuite added in v0.13.0

func (c Config) GetPathCipherSuite() storj.CipherSuite

GetPathCipherSuite returns the cipher suite used for path encryption for bucket objects

func (Config) GetRedundancyScheme

func (c Config) GetRedundancyScheme() storj.RedundancyScheme

GetRedundancyScheme returns the configured redundancy scheme for new uploads

func (Config) GetSegmentSize added in v0.13.0

func (c Config) GetSegmentSize() memory.Size

GetSegmentSize returns the segment size set in uplink config

type EncryptionConfig

type EncryptionConfig struct {
	DataType int `help:"Type of encryption to use for content and metadata (2=AES-GCM, 3=SecretBox)" default:"2"`
	PathType int `help:"Type of encryption to use for paths (1=Unencrypted, 2=AES-GCM, 3=SecretBox)" default:"2"`
}

EncryptionConfig is a configuration struct that keeps details about encrypting segments

type Legacy added in v0.17.0

type Legacy struct {
	Client struct {
		APIKey        string `default:"" help:"the api key to use for the satellite (deprecated)" noprefix:"true" deprecated:"true"`
		SatelliteAddr string `` /* 133-byte string literal not displayed */
	}
	Enc struct {
		EncryptionKey     string `help:"the root key for encrypting the data which will be stored in KeyFilePath (deprecated)" setup:"true" deprecated:"true"`
		KeyFilepath       string `help:"the path to the file which contains the root key for encrypting the data (deprecated)" deprecated:"true"`
		EncAccessFilepath string `help:"the path to a file containing a serialized encryption access (deprecated)" deprecated:"true"`
	}
}

Legacy holds deprecated configuration values

type RSConfig

type RSConfig struct {
	MaxBufferMem     memory.Size `help:"maximum buffer memory (in bytes) to be allocated for read buffers" default:"4MiB" hidden:"true"`
	ErasureShareSize memory.Size `help:"the size of each new erasure share in bytes" default:"256B" hidden:"true"`
	MinThreshold     int         `help:"the minimum pieces required to recover a segment. k." releaseDefault:"29" devDefault:"4" hidden:"true"`
	RepairThreshold  int         `help:"the minimum safe pieces before a repair is triggered. m." releaseDefault:"35" devDefault:"6" hidden:"true"`
	SuccessThreshold int         `help:"the desired total pieces for a segment. o." releaseDefault:"80" devDefault:"8" hidden:"true"`
	MaxThreshold     int         `help:"the largest amount of pieces to encode to. n." releaseDefault:"130" devDefault:"10" hidden:"true"`
}

RSConfig is a configuration struct that keeps details about default redundancy strategy information

type ScopeConfig added in v0.17.0

type ScopeConfig struct {
	Scopes map[string]string `internal:"true"`
	Scope  string            `help:"the serialized scope, or name of the scope to use" default:""`

	Legacy // Holds on to legacy configuration values
}

ScopeConfig holds information about which scopes exist and are selected.

func (ScopeConfig) GetScope added in v0.17.0

func (c ScopeConfig) GetScope() (_ *libuplink.Scope, err error)

GetScope returns the appropriate scope for the config.

Directories

Path Synopsis
storage

Jump to

Keyboard shortcuts

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