config

package
v0.0.0-...-3c85b78 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CfgFileName = "config.yaml"
	PathLocal   = "."
	PathGlobal  = "/etc/backmon"
)
View Source
const (
	DisksBehaviourInclude = iota
	DisksBehaviourExclude = iota
)

behaviour enum

View Source
const (
	DisksPolicyInclude            = "explicit_include_policy"
	DisksPolicyIncludeByRegex     = "explicit_include_by_regex_policy"
	DisksPolicyExclude            = "explicit_exclude_policy"
	DisksPolicyExcludeByRegex     = "explicit_exclude_by_regex_policy"
	DisksPolicyConflicting        = "unallowed_definition_in_include_and_exclude_policy"
	DisksPolicyConflictingByRegex = "unallowed_definition_in_include_or_exclude_and_contradicting_regexp"
	DisksPolicyNoMatchFallback    = "not_matching_fallback_to_all_others"
)

applied policy enum

View Source
const (
	Second = time.Second
	Minute = time.Minute
	Hour   = time.Hour
	Day    = 24 * Hour
	Week   = 7 * Day
	Month  = 30 * Day
	Year   = 365 * Day
)

Variables

This section is empty.

Functions

func GetDiskStatus

func GetDiskStatus(diskName string, disksConfiguration *DisksConfiguration) (int, string)

GetDiskStatus Calculate the disk's status based upon the defined policies @return (status, appliedPolicy)

func HasGlobalDebugEnabled

func HasGlobalDebugEnabled() bool

func IsRunningInBackgroundForced

func IsRunningInBackgroundForced() bool

Types

type BasicAuthConfiguration

type BasicAuthConfiguration struct {
	Username string
	Password string
}

type ClientConfiguration

type ClientConfiguration struct {
	EnvName           string
	Directory         string
	Region            string
	AccessKey         string
	SecretKey         string
	Endpoint          string
	ForcePathStyle    bool
	Token             string
	AutoDiscoverDisks bool
	Disks             *DisksConfiguration
}

type Configuration

type Configuration struct {
	// contains filtered or unexported fields
}

func CreateFromConfigurationFiles

func CreateFromConfigurationFiles() *Configuration

Create a new configuration from default configuration files

func GetInstance

func GetInstance() *Configuration

func NewConfigurationInstance

func NewConfigurationInstance(cfg Raw) *Configuration

Parse all section

func (*Configuration) Downloads

func (c *Configuration) Downloads() *DownloadsConfiguration

func (*Configuration) Environments

func (c *Configuration) Environments() []*EnvironmentConfiguration

func (*Configuration) Global

func (c *Configuration) Global() *GlobalConfiguration

func (*Configuration) Http

func (c *Configuration) Http() *HttpConfiguration

func (*Configuration) TotalEnvironments

func (c *Configuration) TotalEnvironments() float64

type DisksConfiguration

type DisksConfiguration struct {
	// contains filtered or unexported fields
}

DisksConfiguration this is the transformed outcome of the `disks:` section

func ParseDisksSection

func ParseDisksSection(cfg Raw) *DisksConfiguration

ParseDisksSection Parses `disks:` section

func (*DisksConfiguration) GetIncludedDisks

func (diskConfig *DisksConfiguration) GetIncludedDisks() map[string]SingleDiskConfiguration

func (*DisksConfiguration) IsDiskIncluded

func (diskConfig *DisksConfiguration) IsDiskIncluded(diskName string) bool

IsDiskIncluded Return true if the given disk is defined as "included" through some policy

type DownloadsConfiguration

type DownloadsConfiguration struct {
	Enabled bool
}

type EnvironmentConfiguration

type EnvironmentConfiguration struct {
	Name        string
	Definitions string
	Client      *ClientConfiguration
}

type GlobalConfiguration

type GlobalConfiguration struct {
	// contains filtered or unexported fields
}

func (*GlobalConfiguration) HttpPort

func (config *GlobalConfiguration) HttpPort() int

func (*GlobalConfiguration) LogLevel

func (config *GlobalConfiguration) LogLevel() log.Level

func (*GlobalConfiguration) UpdateInterval

func (config *GlobalConfiguration) UpdateInterval() time.Duration

type HttpConfiguration

type HttpConfiguration struct {
	BasicAuth *BasicAuthConfiguration
	Tls       *TlsConfiguration
}

type Raw

type Raw map[string]interface{}

func Parse

func Parse(reader io.Reader) (Raw, error)

func ParseFromString

func ParseFromString(content string) (Raw, error)

ParseFromString Provide a YAML string and unmarshal it

func (Raw) Bool

func (c Raw) Bool(key string) bool

func (Raw) Bytes

func (c Raw) Bytes(key string) uint64

func (Raw) Duration

func (c Raw) Duration(key string) time.Duration

func (Raw) Has

func (c Raw) Has(key string) bool

func (Raw) Int64

func (c Raw) Int64(key string) int64

func (Raw) String

func (c Raw) String(key string) string

func (Raw) StringSlice

func (c Raw) StringSlice(key string) []string

func (Raw) Sub

func (c Raw) Sub(key string) Raw

func (Raw) Uint64

func (c Raw) Uint64(key string) uint64

type SingleDiskConfiguration

type SingleDiskConfiguration struct {
	// either the name of the disk or the regular expression
	Name string
	// pro forma
	IsRegularExpression bool
}

func NewSingleDiskConfiguration

func NewSingleDiskConfiguration(diskNameOrRegExp string) (*SingleDiskConfiguration, error)

NewSingleDiskConfiguration Create a new SingleDiskConfiguration @return error if the diskNameOrRegExp is based upon a regex ('/someregex/')

type TlsConfiguration

type TlsConfiguration struct {
	CertificatePath string
	PrivateKeyPath  string
	IsStrict        bool
}

Jump to

Keyboard shortcuts

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