config

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var StrictCRDChecks = CRDChecks{
	Scope: CheckConfig{
		Enabled: true,
	},
	ExistingFieldRemoval: CheckConfig{
		Enabled: true,
	},
	StoredVersionRemoval: CheckConfig{
		Enabled: true,
	},
}
View Source
var StrictConfig = Config{
	Checks: Checks{
		CRD: StrictCRDChecks,
		Version: VersionChecks{
			SameVersion:   StrictSameVersionChecks,
			ServedVersion: StrictServedVersionChecks,
		},
	},
}
View Source
var StrictPropertyCheckConfig = PropertyCheckConfig{
	Enum: EnumCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		RemovalEnforcement:  property.EnumValidationRemovalEnforcementStrict,
		AdditionEnforcement: property.EnumValidationAdditionEnforcementStrict,
	},
	Default: DefaultCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		ChangeEnforcement:   property.DefaultValidationChangeEnforcementStrict,
		RemovalEnforcement:  property.DefaultValidationRemovalEnforcementStrict,
		AdditionEnforcement: property.DefaultValidationAdditionEnforcementStrict,
	},
	Required: RequiredCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		NewEnforcement: property.RequiredValidationNewEnforcementStrict,
	},
	Type: TypeCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		ChangeEnforcement: property.TypeValidationChangeEnforcementStrict,
	},
	Maximum: MaxCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		MaxOptions: property.MaxOptions{
			AdditionEnforcement: property.MaxVerificationAdditionEnforcementStrict,
			DecreaseEnforcement: property.MaxVerificationDecreaseEnforcementStrict,
		},
	},
	MaxItems: MaxCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		MaxOptions: property.MaxOptions{
			AdditionEnforcement: property.MaxVerificationAdditionEnforcementStrict,
			DecreaseEnforcement: property.MaxVerificationDecreaseEnforcementStrict,
		},
	},
	MaxProperties: MaxCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		MaxOptions: property.MaxOptions{
			AdditionEnforcement: property.MaxVerificationAdditionEnforcementStrict,
			DecreaseEnforcement: property.MaxVerificationDecreaseEnforcementStrict,
		},
	},
	MaxLength: MaxCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		MaxOptions: property.MaxOptions{
			AdditionEnforcement: property.MaxVerificationAdditionEnforcementStrict,
			DecreaseEnforcement: property.MaxVerificationDecreaseEnforcementStrict,
		},
	},
	Minimum: MinCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		MinOptions: property.MinOptions{
			AdditionEnforcement: property.MinVerificationAdditionEnforcementStrict,
			IncreaseEnforcement: property.MinVerificationIncreaseEnforcementStrict,
		},
	},
	MinItems: MinCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		MinOptions: property.MinOptions{
			AdditionEnforcement: property.MinVerificationAdditionEnforcementStrict,
			IncreaseEnforcement: property.MinVerificationIncreaseEnforcementStrict,
		},
	},
	MinProperties: MinCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		MinOptions: property.MinOptions{
			AdditionEnforcement: property.MinVerificationAdditionEnforcementStrict,
			IncreaseEnforcement: property.MinVerificationIncreaseEnforcementStrict,
		},
	},
	MinLength: MinCheckConfig{
		CheckConfig: CheckConfig{
			Enabled: true,
		},
		MinOptions: property.MinOptions{
			AdditionEnforcement: property.MinVerificationAdditionEnforcementStrict,
			IncreaseEnforcement: property.MinVerificationIncreaseEnforcementStrict,
		},
	},
}
View Source
var StrictSameVersionChecks = SameVersionCheckConfig{
	CheckConfig: CheckConfig{
		Enabled: true,
	},
	VersionCheckConfig: StrictVersionCheckConfig,
}
View Source
var StrictServedVersionChecks = ServedVersionCheckConfig{
	CheckConfig: CheckConfig{
		Enabled: true,
	},
	IgnoreConversion:   false,
	VersionCheckConfig: StrictVersionCheckConfig,
}
View Source
var StrictVersionCheckConfig = VersionCheckConfig{
	UnhandledFailureMode: version.FailureModeClosed,
	PropertyCheckConfig:  StrictPropertyCheckConfig,
}

Functions

func PropertyValidationsForPropertyCheckConfig

func PropertyValidationsForPropertyCheckConfig(cfg PropertyCheckConfig) []property.Validation

func SameVersionConfigForSameVersionCheckConfig

func SameVersionConfigForSameVersionCheckConfig(cfg SameVersionCheckConfig) version.SameVersionConfig

func ServedVersionConfigForServedVersionCheckConfig

func ServedVersionConfigForServedVersionCheckConfig(cfg ServedVersionCheckConfig) version.ServedVersionConfig

func ValidationsForCRDChecks

func ValidationsForCRDChecks(checks CRDChecks) []crd.Validation

func ValidatorForConfig

func ValidatorForConfig(cfg Config) *crd.Validator

func VersionValidationForVersionChecks

func VersionValidationForVersionChecks(checks VersionChecks) *version.Validator

Types

type CRDChecks

type CRDChecks struct {
	Scope                CheckConfig `yaml:"scope"`
	ExistingFieldRemoval CheckConfig `yaml:"existingFieldRemoval"`
	StoredVersionRemoval CheckConfig `yaml:"storedVersionRemoval"`
}

type CheckConfig

type CheckConfig struct {
	Enabled bool `json:"enabled"`
}

type Checks

type Checks struct {
	CRD     CRDChecks     `yaml:"crd"`
	Version VersionChecks `yaml:"version"`
}

type Config

type Config struct {
	Checks Checks `yaml:"checks"`
}

type DefaultCheckConfig

type DefaultCheckConfig struct {
	CheckConfig
	ChangeEnforcement   property.DefaultValidationChangeEnforcement   `json:"changeEnforcement"`
	RemovalEnforcement  property.DefaultValidationRemovalEnforcement  `json:"removalEnforcement"`
	AdditionEnforcement property.DefaultValidationAdditionEnforcement `json:"additionEnforcement"`
}

type EnumCheckConfig

type EnumCheckConfig struct {
	CheckConfig
	RemovalEnforcement  property.EnumValidationRemovalEnforcement  `json:"removalEnforcement"`
	AdditionEnforcement property.EnumValidationAdditionEnforcement `json:"additionEnforcement"`
}

type MaxCheckConfig

type MaxCheckConfig struct {
	CheckConfig
	property.MaxOptions
}

type MinCheckConfig

type MinCheckConfig struct {
	CheckConfig
	property.MinOptions
}

type PropertyCheckConfig

type PropertyCheckConfig struct {
	Enum          EnumCheckConfig     `yaml:"enum"`
	Default       DefaultCheckConfig  `yaml:"default"`
	Required      RequiredCheckConfig `yaml:"required"`
	Type          TypeCheckConfig     `yaml:"type"`
	Maximum       MaxCheckConfig      `yaml:"maximum"`
	MaxItems      MaxCheckConfig      `yaml:"maxItems"`
	MaxProperties MaxCheckConfig      `yaml:"maxProperties"`
	MaxLength     MaxCheckConfig      `yaml:"maxLength"`
	Minimum       MinCheckConfig      `yaml:"minimum"`
	MinItems      MinCheckConfig      `yaml:"minItems"`
	MinProperties MinCheckConfig      `yaml:"minProperties"`
	MinLength     MinCheckConfig      `yaml:"minLength"`
}

type RequiredCheckConfig

type RequiredCheckConfig struct {
	CheckConfig
	NewEnforcement property.RequiredValidationNewEnforcement `json:"newEnforcement"`
}

type SameVersionCheckConfig

type SameVersionCheckConfig struct {
	CheckConfig
	VersionCheckConfig
}

type ServedVersionCheckConfig

type ServedVersionCheckConfig struct {
	CheckConfig
	VersionCheckConfig
	IgnoreConversion bool `yaml:"ignoreConversion"`
}

type TypeCheckConfig

type TypeCheckConfig struct {
	CheckConfig
	ChangeEnforcement property.TypeValidationChangeEnforcement `json:"changeEnforcement"`
}

type VersionCheckConfig

type VersionCheckConfig struct {
	PropertyCheckConfig
	UnhandledFailureMode version.FailureMode `yaml:"unhandledFailureMode"`
}

type VersionChecks

type VersionChecks struct {
	SameVersion   SameVersionCheckConfig   `yaml:"sameVersion"`
	ServedVersion ServedVersionCheckConfig `yaml:"servedVersion"`
}

Jump to

Keyboard shortcuts

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