Help us shape the future of Go! Take the 2026 Go Developer Survey

options

package
v2.52.0 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AsyncPropagatorOptions

type AsyncPropagatorOptions struct {
	PropagationDelay time.Duration `mapstructure:"propagation_delay"`
}

AsyncPropagatorOptions holds the configuration for the async propagator

type EventOptions

type EventOptions struct {
	NumConsumers int `mapstructure:"numconsumers"`
}

EventOptions are the configurable options for events

type Option

type Option func(o *Options)

Option defines a single option function.

type Options

type Options struct {

	// the gateway address
	GatewayAddr string `mapstructure:"gateway_addr"`

	// the metadata backend to use, currently supports `xattr` or `ini`
	MetadataBackend string `mapstructure:"metadata_backend"`

	// the propagator to use for this fs. currently only `sync` is fully supported, `async` is available as an experimental feature
	Propagator string `mapstructure:"propagator"`
	// Options specific to the async propagator
	AsyncPropagatorOptions AsyncPropagatorOptions `mapstructure:"async_propagator_options"`

	// ocis fs works on top of a dir of uuid nodes
	Root string `mapstructure:"root"`

	// the upload directory where uploads in progress are stored
	UploadDirectory string `mapstructure:"upload_directory"`

	// UserLayout describes the relative path from the storage's root node to the users home node.
	UserLayout string `mapstructure:"user_layout"`

	// ProjectLayout describes the relative path from the storage's root node to the project spaces root directory.
	ProjectLayout string `mapstructure:"project_layout"`

	// propagate mtime changes as tmtime (tree modification time) to the parent directory when user.ocis.propagation=1 is set on a node
	TreeTimeAccounting bool `mapstructure:"treetime_accounting"`

	// propagate size changes as treesize
	TreeSizeAccounting bool `mapstructure:"treesize_accounting"`

	// permissions service to use when checking permissions
	PermissionsSVC           string `mapstructure:"permissionssvc"`
	PermissionsClientTLSMode string `mapstructure:"permissionssvc_tls_mode"`
	PermTLSMode              pool.TLSMode

	PersonalSpaceAliasTemplate string `mapstructure:"personalspacealias_template"`
	PersonalSpacePathTemplate  string `mapstructure:"personalspacepath_template"`
	GeneralSpaceAliasTemplate  string `mapstructure:"generalspacealias_template"`
	GeneralSpacePathTemplate   string `mapstructure:"generalspacepath_template"`

	AsyncFileUploads bool `mapstructure:"asyncfileuploads"`

	Events EventOptions `mapstructure:"events"`

	Tokens TokenOptions `mapstructure:"tokens"`

	StatCache         cache.Config `mapstructure:"statcache"`
	FileMetadataCache cache.Config `mapstructure:"filemetadatacache"`
	IDCache           cache.Config `mapstructure:"idcache"`

	MaxAcquireLockCycles    int `mapstructure:"max_acquire_lock_cycles"`
	LockCycleDurationFactor int `mapstructure:"lock_cycle_duration_factor"`
	MaxConcurrency          int `mapstructure:"max_concurrency"`

	MaxQuota uint64 `mapstructure:"max_quota"`

	DisableVersioning bool `mapstructure:"disable_versioning"`

	MountID string `mapstructure:"mount_id"`
}

Options defines the available options for this package.

func New

func New(m map[string]interface{}) (*Options, error)

New returns a new Options instance for the given configuration

type TokenOptions

type TokenOptions struct {
	DownloadEndpoint     string `mapstructure:"download_endpoint"`
	DataGatewayEndpoint  string `mapstructure:"datagateway_endpoint"`
	TransferSharedSecret string `mapstructure:"transfer_shared_secret"`
	TransferExpires      int64  `mapstructure:"transfer_expires"`
}

TokenOptions are the configurable option for tokens

Jump to

Keyboard shortcuts

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