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

config

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// AllNamespaces represents all namespaces.
	AllNamespaces string = ""
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AllocationLimits added in v0.3.0

type AllocationLimits struct {
	CPU Allocations `yaml:"cpu"`
	MEM Allocations `yaml:"memory"`
}

AllocationLimits tracks limit thresholds cpu and memory thresholds.

type Allocations added in v0.3.0

type Allocations struct {
	UnderPerc int `yaml:"underPercUtilization"`
	OverPerc  int `yanl:"overPercUtilization"`
}

Allocations track under/over allocation limits.

type Code added in v0.6.0

type Code struct {
	Message  string `yaml:"message"`
	Severity Level  `yaml:"severity"`
}

Code represents a sanitizer code.

func (*Code) Format added in v0.6.0

func (c *Code) Format(code ID, args ...interface{}) string

Format hydrates a message with arguments.

type Config

type Config struct {
	Popeye    `yaml:"popeye"`
	Flags     *Flags
	LintLevel int
}

Config tracks Popeye configuration options.

func NewConfig added in v0.2.0

func NewConfig(flags *Flags) (*Config, error)

NewConfig create a new Popeye configuration.

func (*Config) CPUResourceLimits added in v0.3.0

func (c *Config) CPUResourceLimits() Allocations

CPUResourceLimits returns memory over/under allocation thresholds.

func (*Config) LinterLevel added in v0.2.0

func (c *Config) LinterLevel() int

LinterLevel returns the current lint level.

func (*Config) MEMResourceLimits added in v0.3.0

func (c *Config) MEMResourceLimits() Allocations

MEMResourceLimits returns memory over/under allocation thresholds.

func (*Config) NodeCPULimit

func (c *Config) NodeCPULimit() float64

NodeCPULimit returns the node cpu threshold if set otherwise the default.

func (*Config) NodeMEMLimit

func (c *Config) NodeMEMLimit() float64

NodeMEMLimit returns the pod mem threshold if set otherwise the default.

func (*Config) PodCPULimit

func (c *Config) PodCPULimit() float64

PodCPULimit returns the pod cpu threshold if set otherwise the default.

func (*Config) PodMEMLimit

func (c *Config) PodMEMLimit() float64

PodMEMLimit returns the pod mem threshold if set otherwise the default.

func (*Config) RestartsLimit

func (c *Config) RestartsLimit() int

RestartsLimit returns pod restarts limit.

func (*Config) Sections

func (c *Config) Sections() []string

Sections returns a collection of sanitizers categories.

type Excludes

type Excludes map[string]Exclusions

Excludes represents a set of resources that should be excluded from the sanitizer.

func (Excludes) ExcludeFQN added in v0.6.0

func (e Excludes) ExcludeFQN(gvr, fqn string) bool

ExcludeFQN checks if a given named resource should be excluded.

func (Excludes) ShouldExclude added in v0.3.7

func (e Excludes) ShouldExclude(section, fqn string, code ID) bool

ShouldExclude checks if a given named resource should be excluded.

type Exclusion added in v0.6.0

type Exclusion struct {
	Name  string
	Codes []ID
}

Exclusion represents a resource exclusion.

func (Exclusion) Match added in v0.6.0

func (e Exclusion) Match(fqn string) bool

Match check if a resource matches the configuration.

type Exclusions added in v0.6.0

type Exclusions []Exclusion

Exclusions represents a collection of excludes items. This can be a straight string match of regex using an rx: prefix.

func (Exclusions) Match added in v0.6.0

func (e Exclusions) Match(resource string, code ID) bool

Match checks if a given named should be excluded.

type Flags added in v0.3.4

type Flags struct {
	*genericclioptions.ConfigFlags

	LintLevel          *string
	Output             *string
	ClearScreen        *bool
	Save               *bool
	SaveToS3           *bool
	S3Bucket           *string
	CheckOverAllocs    *bool
	AllNamespaces      *bool
	Spinach            *string
	Sections           *[]string
	PushGatewayAddress *string
	InClusterName      *string
	StandAlone         bool
}

Flags represents Popeye CLI flags.

func NewFlags added in v0.3.4

func NewFlags() *Flags

NewFlags returns new configuration flags.

func (*Flags) OutputFormat added in v0.3.4

func (f *Flags) OutputFormat() string

OutputFormat returns the report output format.

type Glossary added in v0.6.0

type Glossary map[ID]*Code

Glossary represents a collection of codes.

type ID added in v0.6.0

type ID int

ID represents a sanitizer code indentifier.

type Level

type Level int

Level tracks lint check level.

const (
	// OkLevel denotes no linting issues.
	OkLevel Level = iota
	// InfoLevel denotes FIY linting issues.
	InfoLevel
	// WarnLevel denotes a warning issue.
	WarnLevel
	// ErrorLevel denotes a serious issue.
	ErrorLevel
)

func ToIssueLevel added in v0.3.4

func ToIssueLevel(level *string) Level

ToIssueLevel convert a string to a issue level.

type Limits

type Limits struct {
	CPU    float64 `yaml:"cpu"`
	Memory float64 `yam:"memory"`
}

Limits tracks cpu and mem limits.

type Node

type Node struct {
	Excludes `yaml:"exclude"`

	Limits Limits `yaml:"limits"`
}

Node tracks node configurations.

type Pod

type Pod struct {
	Restarts int    `yaml:"restarts"`
	Limits   Limits `yaml:"limits"`
	Excludes `yaml:"exclude"`
}

Pod tracks pod configurations.

type Popeye

type Popeye struct {
	AllocationLimits `yaml:"allocations"`
	Excludes         `yaml:"excludes"`

	Node  Node     `yaml:"node"`
	Pod   Pod      `yaml:"pod"`
	Codes Glossary `yaml:"codes"`
}

Popeye tracks Popeye configuration options.

func NewPopeye

func NewPopeye() Popeye

NewPopeye create a new Popeye configuration.

Jump to

Keyboard shortcuts

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