Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::S3BinaryCacheStoreConfig Struct Reference
Inheritance diagram for nix::S3BinaryCacheStoreConfig:
nix::BinaryCacheStoreConfig nix::StoreConfig nix::StoreDirConfig nix::Config nix::AbstractConfig

Public Member Functions

 S3BinaryCacheStoreConfig (std::string_view uriScheme, std::string_view bucketName, const Params &params)
 
const std::string name () override
 
std::string doc () override
 
- Public Member Functions inherited from nix::BinaryCacheStoreConfig
 StoreConfig ()=delete
 
- Public Member Functions inherited from nix::StoreConfig
virtual std::optional< ExperimentalFeatureexperimentalFeature () const
 
 StoreDirConfig ()=delete
 
- Public Member Functions inherited from nix::StoreDirConfig
StorePath parseStorePath (std::string_view path) const
 
std::optional< StorePathmaybeParseStorePath (std::string_view path) const
 
std::string printStorePath (const StorePath &path) const
 
StorePathSet parseStorePathSet (const PathSet &paths) const
 
PathSet printStorePathSet (const StorePathSet &path) const
 
std::string showPaths (const StorePathSet &paths)
 
bool isInStore (PathView path) const
 
bool isStorePath (std::string_view path) const
 
std::pair< StorePath, PathtoStorePath (PathView path) const
 
StorePath makeStorePath (std::string_view type, std::string_view hash, std::string_view name) const
 
StorePath makeStorePath (std::string_view type, const Hash &hash, std::string_view name) const
 
StorePath makeOutputPath (std::string_view id, const Hash &hash, std::string_view name) const
 
StorePath makeFixedOutputPath (std::string_view name, const FixedOutputInfo &info) const
 
StorePath makeFixedOutputPathFromCA (std::string_view name, const ContentAddressWithReferences &ca) const
 
std::pair< StorePath, HashcomputeStorePath (std::string_view name, const SourcePath &path, ContentAddressMethod method=FileIngestionMethod::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references={}, PathFilter &filter=defaultPathFilter) const
 
 Config (StringMap initials={})
 
- Public Member Functions inherited from nix::Config
 Config (StringMap initials={})
 
bool set (const std::string &name, const std::string &value) override
 
void addSetting (AbstractSetting *setting)
 
void getSettings (std::map< std::string, SettingInfo > &res, bool overriddenOnly=false) override
 
void resetOverridden () override
 
nlohmann::json toJSON () override
 
std::string toKeyValue () override
 
void convertToArgs (Args &args, const std::string &category) override
 
- Public Member Functions inherited from nix::AbstractConfig
void applyConfig (const std::string &contents, const std::string &path="<unknown>")
 
void warnUnknownSettings ()
 
void reapplyUnknownSettings ()
 

Static Public Member Functions

static std::set< std::string > uriSchemes ()
 
- Static Public Member Functions inherited from nix::StoreConfig
static StringSet getDefaultSystemFeatures ()
 

Public Attributes

std::string bucketName
 
const Setting< std::string > profile
 
const Setting< std::string > region
 
const Setting< std::string > scheme
 
const Setting< std::string > endpoint
 
const Setting< std::string > narinfoCompression
 
const Setting< std::string > lsCompression {this, "", "ls-compression", "Compression method for `.ls` files."}
 
const Setting< std::string > logCompression
 
const Setting< bool > multipartUpload {this, false, "multipart-upload", "Whether to use multi-part uploads."}
 
const Setting< uint64_t > bufferSize
 
- Public Attributes inherited from nix::BinaryCacheStoreConfig
const Setting< std::string > compression
 
const Setting< bool > writeNARListing
 
const Setting< bool > writeDebugInfo
 
const Setting< PathsecretKeyFile
 
const Setting< PathlocalNarCache
 
const Setting< bool > parallelCompression
 
const Setting< intcompressionLevel
 
- Public Attributes inherited from nix::StoreConfig
const Setting< intpathInfoCacheSize
 
const Setting< bool > isTrusted
 
Setting< intpriority
 
Setting< bool > wantMassQuery
 
Setting< StringSet > systemFeatures
 
- Public Attributes inherited from nix::StoreDirConfig
const PathSetting storeDir_
 
const Path storeDir = storeDir_
 

Static Protected Attributes

static constexpr const chardefaultRegion = "us-east-1"
 

Additional Inherited Members

- Public Types inherited from nix::StoreConfig
using Params = StoreReference::Params
 
- Public Types inherited from nix::Config
using Settings = std::map<std::string, SettingData>
 
- Protected Member Functions inherited from nix::AbstractConfig
 AbstractConfig (StringMap initials={})
 
- Protected Attributes inherited from nix::AbstractConfig
StringMap unknownSettings
 

Member Function Documentation

◆ doc()

std::string nix::S3BinaryCacheStoreConfig::doc ( )
overridevirtual

Documentation for this type of store.

Reimplemented from nix::StoreConfig.

◆ name()

const std::string nix::S3BinaryCacheStoreConfig::name ( )
inlineoverridevirtual

The name of this type of store.

Implements nix::StoreConfig.

Member Data Documentation

◆ bufferSize

const Setting<uint64_t> nix::S3BinaryCacheStoreConfig::bufferSize
Initial value:
{
this, 5 * 1024 * 1024, "buffer-size", "Size (in bytes) of each part in multi-part uploads."}

◆ endpoint

const Setting<std::string> nix::S3BinaryCacheStoreConfig::endpoint
Initial value:
{
this,
"",
"endpoint",
R"(
The URL of the endpoint of an S3-compatible service such as MinIO.
Do not specify this setting if you're using Amazon S3.
> **Note**
>
> This endpoint must support HTTPS and will use path-based
> addressing instead of virtual host based addressing.
)"}

◆ logCompression

const Setting<std::string> nix::S3BinaryCacheStoreConfig::logCompression
Initial value:
{
this,
"",
"log-compression",
R"(
Compression method for `log/*` files. It is recommended to
use a compression method supported by most web browsers
(e.g. `brotli`).
)"}

◆ narinfoCompression

const Setting<std::string> nix::S3BinaryCacheStoreConfig::narinfoCompression
Initial value:
{
this, "", "narinfo-compression", "Compression method for `.narinfo` files."}

◆ profile

const Setting<std::string> nix::S3BinaryCacheStoreConfig::profile
Initial value:
{
this,
"",
"profile",
R"(
The name of the AWS configuration profile to use. By default
Nix will use the `default` profile.
)"}

◆ region

const Setting<std::string> nix::S3BinaryCacheStoreConfig::region
Initial value:
{
this,
defaultRegion,
"region",
R"(
The region of the S3 bucket. If your bucket is not in
`us–east-1`, you should always explicitly specify the region
parameter.
)"}

◆ scheme

const Setting<std::string> nix::S3BinaryCacheStoreConfig::scheme
Initial value:
{
this,
"",
"scheme",
R"(
The scheme used for S3 requests, `https` (default) or `http`. This
option allows you to disable HTTPS for binary caches which don't
support it.
> **Note**
>
> HTTPS should be used if the cache might contain sensitive
> information.
)"}

The documentation for this struct was generated from the following file: