Documentation
¶
Index ¶
Constants ¶
View Source
const ( Basename = "labstore" DefaultStorageDataDir = "./data" DefaultStorageObjectsDir = "objects" DefaultStorageMetadataDir = "metadata" DefaultStorageKeysDir = "./keys" DefaultMasterKeyFilename = "master.key" DefaultAdminAddressHost = "0.0.0.0" DefaultAdminAddressPort = 6787 DefaultAdminAuthAccessKey = "admin" DefaultIAMAddressHost = "0.0.0.0" DefaultIAMAddressPort = 6788 DefaultIAMDBMaxOpenConns = 3 DefaultIAMDBMaxIdleConns = 3 DefaultIAMWriteChanCap = 32 DefaultIAMDBTimeoutMs = 5000 DefaultIAMDBReadCacheSizeKiB = 65536 DefaultIAMDBWriteCacheSizeKiB = 16384 DefaultS3AddressHost = "0.0.0.0" DefaultS3AddressPort = 6789 DefaultS3PagingMaxKeys = 1000 DefaultS3IOBufferSize = 256 * helper.KiB DefaultWebAddressHost = "0.0.0.0" DefaultWebAddressPort = 6790 DefaultLogDir = "./logs" )
Variables ¶
View Source
var ( DefaultAdminSecretKey string = DefaultAdminAuthAccessKey DisplayDefaultAdminSecretKey bool = false )
Functions ¶
Types ¶
type AddressConfig ¶
type AdminConfig ¶
type AdminConfig struct {
Address *AddressConfig `mapstructure:"address"`
Auth *AuthConfig `mapstructure:"auth"`
}
func (*AdminConfig) Debug ¶
func (config *AdminConfig) Debug()
type AppConfig ¶
type AppConfig struct {
Server *ServerConfig `mapstructure:"server"`
Web *WebConfig `mapstructure:"web"`
Log *LogConfig `mapstructure:"log"`
}
var App *AppConfig
type AuthConfig ¶
type IAMConfig ¶
type IAMConfig struct {
Address *AddressConfig `mapstructure:"address"`
DB *IAMDBConfig `mapstructure:"db"`
}
type IAMDBConfig ¶
type IAMDBConfig struct {
MaxOpenConns int `mapstructure:"max_open_conns"`
MaxIdleConns int `mapstructure:"max_idle_conns"`
WriteChanCap int `mapstructure:"write_chan_cap"`
TimeoutMs int `mapstructure:"timeout_ms"`
ReadCacheSizeKiB int `mapstructure:"read_cache_size_kib"`
WriteCacheSizeKiB int `mapstructure:"write_cache_size_kib"`
}
type PagingConfig ¶
type PagingConfig struct {
MaxKeys int `mapstructure:"max_keys"`
}
type S3Config ¶
type S3Config struct {
Address *AddressConfig `mapstructure:"address"`
Paging *PagingConfig `mapstructure:"paging"`
IO *IOConfig `mapstructure:"io"`
}
type ServerConfig ¶
type ServerConfig struct {
Storage *StorageConfig `mapstructure:"storage"`
Admin *AdminConfig `mapstructure:"admin"`
IAM *IAMConfig `mapstructure:"iam"`
S3 *S3Config `mapstructure:"s3"`
}
func (*ServerConfig) Debug ¶
func (config *ServerConfig) Debug()
type StorageConfig ¶
type StorageConfig struct {
DataDir string `mapstructure:"data_dir"`
ObjectsPath string `mapstructure:"-"`
MetadataPath string `mapstructure:"-"`
KeysDir string `mapstructure:"keys_dir"`
MasterKeyPath string `mapstructure:"-"`
}
func (*StorageConfig) Debug ¶
func (config *StorageConfig) Debug()
func (*StorageConfig) PreparePaths ¶
func (config *StorageConfig) PreparePaths()
Click to show internal directories.
Click to hide internal directories.