Documentation
¶
Index ¶
Constants ¶
View Source
const ( SharingPolicyShared = "shared" // SharingPolicyIsolated represents the "isolated" sharing policy SharingPolicyIsolated = "isolated" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BoltConfig ¶
type BoltConfig struct {
// ContentSharingPolicy sets the sharing policy for content between
// namespaces.
//
// The default mode "shared" will make blobs available in all
// namespaces once it is pulled into any namespace. The blob will be pulled
// into the namespace if a writer is opened with the "Expected" digest that
// is already present in the backend.
//
// The alternative mode, "isolated" requires that clients prove they have
// access to the content by providing all of the content to the ingest
// before the blob is added to the namespace.
//
// Both modes share backing data, while "shared" will reduce total
// bandwidth across namespaces, at the cost of allowing access to any blob
// just by knowing its digest.
ContentSharingPolicy string `toml:"content_sharing_policy"`
// NoSync enables optimizations that improve database write performance by:
// 1. Disabling fsync calls after every write, which prevents ensuring that data is immediately flushed
// to disk but significantly improves write throughput (NoSync).
// 2. Preventing automatic growth of the memory-mapped file during writes, further improving performance
// in environments where the database size is stable (NoGrowSync).
//
// These settings can improve performance, but introduce a risk of data loss during crashes. Use with care!
NoSync bool `toml:"no_sync"`
}
BoltConfig defines the configuration values for the bolt plugin, which is loaded here, rather than back registered in the metadata package.
func (*BoltConfig) Validate ¶
func (bc *BoltConfig) Validate() error
Validate validates if BoltConfig is valid
Click to show internal directories.
Click to hide internal directories.