commons

package
v0.9.5 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: BSD-3-Clause Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PortDefault                     int           = 1247
	ReadAheadMaxDefault             int           = 1024 * 128 // 128KB
	ConnectionMaxDefault            int           = 10
	TCPBufferSizeDefault            int           = 4 * 1024 * 1024 // 4MB
	ConnectionErrorTimeout          time.Duration = 1 * time.Minute
	OperationTimeoutDefault         time.Duration = 5 * time.Minute
	ConnectionLifespanDefault       time.Duration = 1 * time.Hour
	ConnectionIdleTimeoutDefault    time.Duration = 5 * time.Minute
	MetadataCacheTimeoutDefault     time.Duration = 5 * time.Minute
	MetadataCacheCleanupTimeDefault time.Duration = 5 * time.Minute

	AuthSchemeDefault          string = string(irodsclient_types.AuthSchemeNative)
	CSNegotiationDefault       string = string(irodsclient_types.CSNegotiationRequireTCP)
	EncryptionKeySizeDefault   int    = 32
	EncryptionAlgorithmDefault string = "AES-256-CBC"
	SaltSizeDefault            int    = 8
	HashRoundsDefault          int    = 16

	ProfileServicePortDefault int = 11021
)

Variables

This section is empty.

Functions

func GetClientVersion

func GetClientVersion() string

GetClientVersion returns client version in string

func GetDefaultDataRootDirPath added in v0.8.0

func GetDefaultDataRootDirPath() string

func GetDefaultInstanceID added in v0.8.4

func GetDefaultInstanceID() string

func GetVersionJSON

func GetVersionJSON() (string, error)

GetVersionJSON returns VersionInfo object in JSON string

func IsYAMLFile added in v0.8.0

func IsYAMLFile(filePath string) bool

func ParsePoolServiceEndpoint added in v0.7.3

func ParsePoolServiceEndpoint(endpoint string) (string, string, error)

ParsePoolServiceEndpoint parses endpoint string

Types

type Config

type Config struct {
	Host              string                              `yaml:"host"`
	Port              int                                 `yaml:"port"`
	ProxyUser         string                              `yaml:"proxy_user,omitempty"`
	ClientUser        string                              `yaml:"client_user"`
	Zone              string                              `yaml:"zone"`
	Password          string                              `yaml:"password,omitempty"`
	Resource          string                              `yaml:"resource,omitempty"`
	PathMappings      []irodsfs_common_vpath.VPathMapping `yaml:"path_mappings"`
	NoPermissionCheck bool                                `yaml:"no_permission_check"`
	NoSetXattr        bool                                `yaml:"no_set_xattr"`
	UID               int                                 `yaml:"uid"`
	GID               int                                 `yaml:"gid"`
	SystemUser        string                              `yaml:"system_user"`
	MountPath         string                              `yaml:"mount_path,omitempty"`

	DataRootPath string `yaml:"data_root_path,omitempty"`

	LogPath string `yaml:"log_path,omitempty"`

	PoolEndpoint string `yaml:"pool_endpoint,omitempty"`

	AuthScheme              string `yaml:"auth_scheme"`
	ClientServerNegotiation bool   `yaml:"cs_negotiation"`
	CSNegotiationPolicy     string `yaml:"cs_negotiation_policy"`
	CACertificateFile       string `yaml:"ssl_ca_cert_file"`
	CACertificatePath       string `yaml:"ssl_ca_sert_path"`
	EncryptionKeySize       int    `yaml:"ssl_encryption_key_size"`
	EncryptionAlgorithm     string `yaml:"ssl_encryption_algorithm"`
	SaltSize                int    `yaml:"ssl_encryption_salt_size"`
	HashRounds              int    `yaml:"ssl_encryption_hash_rounds"`

	ReadAheadMax                          int                           `yaml:"read_ahead_max"`
	OperationTimeout                      irodsfs_common_utils.Duration `yaml:"operation_timeout"`
	ConnectionLifespan                    irodsfs_common_utils.Duration `yaml:"connection_lifespan"`
	ConnectionIdleTimeout                 irodsfs_common_utils.Duration `yaml:"connection_idle_timeout"`
	ConnectionMax                         int                           `yaml:"connection_max"`
	MetadataCacheTimeout                  irodsfs_common_utils.Duration `yaml:"metadata_cache_timeout"`
	MetadataCacheCleanupTime              irodsfs_common_utils.Duration `yaml:"metadata_cache_cleanup_time"`
	MetadataCacheTimeoutSettings          []MetadataCacheTimeoutSetting `yaml:"metadata_cache_timeout_settings"`
	StartNewTransaction                   bool                          `yaml:"start_new_transaction"`
	InvalidateParentEntryCacheImmediately bool                          `yaml:"invalidate_parent_entry_cache_immediately"`

	MonitorURL string `yaml:"monitor_url,omitempty"`

	Profile            bool `yaml:"profile,omitempty"`
	ProfileServicePort int  `yaml:"profile_service_port,omitempty"`

	Foreground   bool   `yaml:"foreground,omitempty"`
	LogLevel     string `yaml:"log_level,omitempty"`
	Debug        bool   `yaml:"debug,omitempty"`
	AllowOther   bool   `yaml:"allow_other,omitempty"`
	ChildProcess bool   `yaml:"childprocess,omitempty"`

	InstanceID  string   `yaml:"instanceid,omitempty"`
	FuseOptions []string `yaml:"fuse_options,omitempty"`
}

Config holds the parameters list which can be configured

func LoadICommandsEnvironmentDir added in v0.8.1

func LoadICommandsEnvironmentDir(configDirPath string) (*Config, error)

func LoadICommandsEnvironmentFile added in v0.8.0

func LoadICommandsEnvironmentFile(configPath string) (*Config, error)

func NewConfigFromICommandsEnvironment added in v0.8.0

func NewConfigFromICommandsEnvironment(configPath string) (*Config, error)

NewConfigFromICommandsEnvironment creates Config from iCommands Environment dir path

func NewConfigFromYAML

func NewConfigFromYAML(yamlBytes []byte) (*Config, error)

NewConfigFromYAML creates Config from YAML

func NewDefaultConfig

func NewDefaultConfig() *Config

NewDefaultConfig returns a default config

func (*Config) CorrectSystemUser

func (config *Config) CorrectSystemUser() error

CorrectSystemUser corrects system user configuration

func (*Config) GetInstanceDataRootDirPath added in v0.8.0

func (config *Config) GetInstanceDataRootDirPath() string

func (*Config) GetLogFilePath added in v0.8.0

func (config *Config) GetLogFilePath() string

GetLogFilePath returns log file path

func (*Config) MakeLogDir added in v0.8.0

func (config *Config) MakeLogDir() error

MakeLogDir makes a log dir required

func (*Config) Validate

func (config *Config) Validate() error

Validate validates configuration

type MetadataCacheTimeoutSetting

type MetadataCacheTimeoutSetting struct {
	Path    string                        `yaml:"path" json:"path"`
	Timeout irodsfs_common_utils.Duration `yaml:"timeout" json:"timeout"`
	Inherit bool                          `yaml:"inherit,omitempty" json:"inherit,omitempty"`
}

MetadataCacheTimeoutSetting defines cache timeout for path

type VersionInfo

type VersionInfo struct {
	ClientVersion string `json:"clientVersion"`
	GitCommit     string `json:"gitCommit"`
	BuildDate     string `json:"buildDate"`
	GoVersion     string `json:"goVersion"`
	Compiler      string `json:"compiler"`
	Platform      string `json:"platform"`
}

VersionInfo object contains version related info

func GetVersion

func GetVersion() VersionInfo

GetVersion returns VersionInfo object

Jump to

Keyboard shortcuts

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