config

package
v0.13.7 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2024 License: Apache-2.0 Imports: 17 Imported by: 4

Documentation

Index

Constants

View Source
const (
	FsDriverBlockdev string = constant.FsDriverBlockdev
	FsDriverFusedev  string = constant.FsDriverFusedev
	FsDriverFscache  string = constant.FsDriverFscache
	FsDriverNodev    string = constant.FsDriverNodev
	FsDriverProxy    string = constant.FsDriverProxy
)
View Source
const (
	TarfsLayerVerityOnly      string = "layer_verity_only"
	TarfsImageVerityOnly      string = "image_verity_only"
	TarfsLayerBlockDevice     string = "layer_block"
	TarfsImageBlockDevice     string = "image_block"
	TarfsLayerBlockWithVerity string = "layer_block_with_verity"
	TarfsImageBlockWithVerity string = "image_block_with_verity"
)

Variables

This section is empty.

Functions

func GetCacheGCPeriod added in v0.6.0

func GetCacheGCPeriod() time.Duration

func GetConfigRoot added in v0.6.0

func GetConfigRoot() string

func GetDaemonLogRotationSize added in v0.10.0

func GetDaemonLogRotationSize() int

func GetDaemonProfileCPUDuration added in v0.6.0

func GetDaemonProfileCPUDuration() int64

func GetDaemonThreadsNumber added in v0.6.0

func GetDaemonThreadsNumber() int

func GetFsDriver added in v0.5.0

func GetFsDriver() string

func GetLogDir added in v0.6.0

func GetLogDir() string

func GetLogLevel added in v0.6.0

func GetLogLevel() string

func GetLogToStdout added in v0.6.0

func GetLogToStdout() bool

func GetMirrorsConfigDir added in v0.6.0

func GetMirrorsConfigDir() string

func GetRootMountpoint added in v0.9.0

func GetRootMountpoint() string

func GetSkipSSLVerify added in v0.12.0

func GetSkipSSLVerify() bool

func GetSnapshotsRootDir added in v0.6.0

func GetSnapshotsRootDir() string

func GetSocketRoot added in v0.6.0

func GetSocketRoot() string

func GetTarfsExportEnabled added in v0.12.0

func GetTarfsExportEnabled() bool

func GetTarfsExportFlags added in v0.12.0

func GetTarfsExportFlags() (bool, bool, bool)

Returns (wholeImage, generateBlockImage, withVerityInfo) wholeImage: generate tarfs for the whole image instead of of a specific layer. generateBlockImage: generate a block image file. withVerityInfo: generate disk verity information.

func GetTarfsMountOnHost added in v0.12.0

func GetTarfsMountOnHost() bool

func IsBackendSourceEnabled added in v0.13.5

func IsBackendSourceEnabled() bool

func IsFusedevSharedModeEnabled added in v0.10.0

func IsFusedevSharedModeEnabled() bool

func IsSystemControllerEnabled added in v0.6.0

func IsSystemControllerEnabled() bool

func MergeConfig added in v0.6.0

func MergeConfig(to, from *SnapshotterConfig) error

func ParseCgroupConfig added in v0.9.0

func ParseCgroupConfig(config CgroupConfig) (cgroup.Config, error)

func ParseParameters added in v0.6.0

func ParseParameters(args *flags.Args, cfg *SnapshotterConfig) error

Parse command line arguments and fill the nydus-snapshotter configuration Always let options from CLI override those from configuration file.

func ProcessConfigurations added in v0.6.0

func ProcessConfigurations(c *SnapshotterConfig) error

func SetUpEnvironment added in v0.8.0

func SetUpEnvironment(c *SnapshotterConfig) error

func SystemControllerAddress added in v0.6.0

func SystemControllerAddress() string

func SystemControllerPprofAddress added in v0.7.0

func SystemControllerPprofAddress() string

func ValidateConfig added in v0.6.0

func ValidateConfig(c *SnapshotterConfig) error

Types

type AuthConfig added in v0.6.0

type AuthConfig struct {
	// based on kubeconfig or ServiceAccount
	EnableKubeconfigKeychain bool   `toml:"enable_kubeconfig_keychain"`
	KubeconfigPath           string `toml:"kubeconfig_path"`
	// CRI proxy mode
	EnableCRIKeychain   bool   `toml:"enable_cri_keychain"`
	ImageServiceAddress string `toml:"image_service_address"`
}

Configure how nydus-snapshotter receive auth information

type CacheManagerConfig added in v0.6.0

type CacheManagerConfig struct {
	Disable bool `toml:"disable"`
	// Trigger GC gc_period after the specified period.
	// Example format: 24h, 120min
	GCPeriod string `toml:"gc_period"`
	CacheDir string `toml:"cache_dir"`
}

Configure cache manager that manages the cache files lifecycle

type CgroupConfig added in v0.9.0

type CgroupConfig struct {
	Enable      bool   `toml:"enable"`
	MemoryLimit string `toml:"memory_limit"`
}

type DaemonConfig

type DaemonConfig struct {
	NydusdPath       string `toml:"nydusd_path"`
	NydusdConfigPath string `toml:"nydusd_config"`
	NydusImagePath   string `toml:"nydusimage_path"`
	RecoverPolicy    string `toml:"recover_policy"`
	FsDriver         string `toml:"fs_driver"`
	ThreadsNumber    int    `toml:"threads_number"`
	LogRotationSize  int    `toml:"log_rotation_size"`
}

Configure how to start and recover nydusd daemons

type DaemonMode added in v0.4.0

type DaemonMode string

Define a policy how to fork nydusd daemon and attach file system instances to serve.

const (
	// Spawn a dedicated nydusd for each RAFS instance.
	DaemonModeMultiple DaemonMode = DaemonMode(constant.DaemonModeMultiple)
	// Spawn a dedicated nydusd for each RAFS instance.
	DaemonModeDedicated DaemonMode = DaemonMode(constant.DaemonModeDedicated)
	// Share a global nydusd to serve all RAFS instances.
	DaemonModeShared DaemonMode = DaemonMode(constant.DaemonModeShared)
	// Do not spawn nydusd for RAFS instances.
	//
	// For tarfs and rund, there's no need to create nydusd to serve RAFS instances,
	// the snapshotter just returns mount slices with additional information for runC/runD
	// to manage those snapshots.
	DaemonModeNone    DaemonMode = DaemonMode(constant.DaemonModeNone)
	DaemonModeInvalid DaemonMode = DaemonMode(constant.DaemonModeInvalid)
)

func GetDaemonMode added in v0.5.0

func GetDaemonMode() DaemonMode

type DaemonRecoverPolicy added in v0.6.0

type DaemonRecoverPolicy int
const (
	RecoverPolicyInvalid DaemonRecoverPolicy = iota
	RecoverPolicyNone
	RecoverPolicyRestart
	RecoverPolicyFailover
)

func ParseRecoverPolicy added in v0.6.0

func ParseRecoverPolicy(p string) (DaemonRecoverPolicy, error)

func (DaemonRecoverPolicy) String added in v0.6.0

func (p DaemonRecoverPolicy) String() string

type DebugConfig added in v0.6.0

type DebugConfig struct {
	ProfileDuration int64  `toml:"daemon_cpu_profile_duration_secs"`
	PprofAddress    string `toml:"pprof_address"`
}

type Experimental added in v0.6.0

type Experimental struct {
	EnableStargz         bool        `toml:"enable_stargz"`
	EnableReferrerDetect bool        `toml:"enable_referrer_detect"`
	TarfsConfig          TarfsConfig `toml:"tarfs"`
	EnableBackendSource  bool        `toml:"enable_backend_source"`
}

type GlobalConfig added in v0.6.0

type GlobalConfig struct {
	SnapshotsDir     string
	DaemonMode       DaemonMode
	SocketRoot       string
	ConfigRoot       string
	RootMountpoint   string
	DaemonThreadsNum int
	CacheGCPeriod    time.Duration
	MirrorsConfig    MirrorsConfig
	// contains filtered or unexported fields
}

Global cached configuration information to help: - access configuration information without passing a configuration object - avoid frequent generation of information from configuration information

type ImageConfig added in v0.6.0

type ImageConfig struct {
	PublicKeyFile     string `toml:"public_key_file"`
	ValidateSignature bool   `toml:"validate_signature"`
}

Nydus image layers additional process

type LoggingConfig added in v0.6.0

type LoggingConfig struct {
	LogToStdout         bool   `toml:"log_to_stdout"`
	LogLevel            string `toml:"level"`
	LogDir              string `toml:"dir"`
	RotateLogMaxSize    int    `toml:"log_rotation_max_size"`
	RotateLogMaxBackups int    `toml:"log_rotation_max_backups"`
	RotateLogMaxAge     int    `toml:"log_rotation_max_age"`
	RotateLogLocalTime  bool   `toml:"log_rotation_local_time"`
	RotateLogCompress   bool   `toml:"log_rotation_compress"`
}

type MetricsConfig added in v0.6.0

type MetricsConfig struct {
	Address string `toml:"address"`
}

type MirrorsConfig added in v0.6.0

type MirrorsConfig struct {
	Dir string `toml:"dir"`
}

type RemoteConfig added in v0.6.0

type RemoteConfig struct {
	AuthConfig         AuthConfig    `toml:"auth"`
	ConvertVpcRegistry bool          `toml:"convert_vpc_registry"`
	SkipSSLVerify      bool          `toml:"skip_ssl_verify"`
	MirrorsConfig      MirrorsConfig `toml:"mirrors_config"`
}

Configure remote storage like container registry

type SnapshotConfig added in v0.6.0

type SnapshotConfig struct {
	EnableNydusOverlayFS bool `toml:"enable_nydus_overlayfs"`
	EnableKataVolume     bool `toml:"enable_kata_volume"`
	SyncRemove           bool `toml:"sync_remove"`
}

Configure containerd snapshots interfaces and how to process the snapshots requests from containerd

type SnapshotterConfig added in v0.4.0

type SnapshotterConfig struct {
	// Configuration format version
	Version int `toml:"version"`
	// Snapshotter's root work directory
	Root       string `toml:"root"`
	Address    string `toml:"address"`
	DaemonMode string `toml:"daemon_mode"`
	// Clean up all the resources when snapshotter is closed
	CleanupOnClose bool `toml:"cleanup_on_close"`

	SystemControllerConfig SystemControllerConfig `toml:"system"`
	MetricsConfig          MetricsConfig          `toml:"metrics"`
	DaemonConfig           DaemonConfig           `toml:"daemon"`
	SnapshotsConfig        SnapshotConfig         `toml:"snapshot"`
	RemoteConfig           RemoteConfig           `toml:"remote"`
	ImageConfig            ImageConfig            `toml:"image"`
	CacheManagerConfig     CacheManagerConfig     `toml:"cache_manager"`
	LoggingConfig          LoggingConfig          `toml:"log"`
	CgroupConfig           CgroupConfig           `toml:"cgroup"`
	Experimental           Experimental           `toml:"experimental"`
}

func LoadSnapshotterConfig added in v0.4.0

func LoadSnapshotterConfig(path string) (*SnapshotterConfig, error)

func (*SnapshotterConfig) FillUpWithDefaults added in v0.6.0

func (c *SnapshotterConfig) FillUpWithDefaults() error

func (*SnapshotterConfig) SetupNydusBinaryPaths added in v0.6.0

func (c *SnapshotterConfig) SetupNydusBinaryPaths() error

type SystemControllerConfig added in v0.6.0

type SystemControllerConfig struct {
	Enable      bool        `toml:"enable"`
	Address     string      `toml:"address"`
	DebugConfig DebugConfig `toml:"debug"`
}

type TarfsConfig added in v0.12.0

type TarfsConfig struct {
	EnableTarfs       bool   `toml:"enable_tarfs"`
	MountTarfsOnHost  bool   `toml:"mount_tarfs_on_host"`
	TarfsHint         bool   `toml:"tarfs_hint"`
	MaxConcurrentProc int    `toml:"max_concurrent_proc"`
	ExportMode        string `toml:"export_mode"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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