policy

package
v2.21.2 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrConfigFileNotFound = errors.New("policy file isn't found")
)

Functions

func ParseEnv

func ParseEnv(env string) []string

func ValidatePackage added in v2.12.2

func ValidatePackage(logE *logrus.Entry, pkg *config.Package, policies []*Config) error

Types

type Config

type Config struct {
	Path    string
	Allowed bool
	YAML    *ConfigYAML
}

func (*Config) Init

func (c *Config) Init() error

type ConfigFinder added in v2.3.0

type ConfigFinder interface {
	Find(policyFilePath, wd string) (string, error)
}

type ConfigFinderImpl added in v2.3.0

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

func NewConfigFinder added in v2.3.0

func NewConfigFinder(fs afero.Fs) *ConfigFinderImpl

func (*ConfigFinderImpl) Find added in v2.3.0

func (f *ConfigFinderImpl) Find(policyFilePath, wd string) (string, error)

type ConfigReader

type ConfigReader interface {
	Read(policyConfigFiles []string) ([]*Config, error)
	ReadFile(policyConfigFile string) (*Config, error)
}

type ConfigReaderImpl

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

func NewConfigReader

func NewConfigReader(fs afero.Fs) *ConfigReaderImpl

func (*ConfigReaderImpl) Read

func (r *ConfigReaderImpl) Read(files []string) ([]*Config, error)

func (*ConfigReaderImpl) ReadFile added in v2.3.0

func (r *ConfigReaderImpl) ReadFile(file string) (*Config, error)

type ConfigYAML

type ConfigYAML struct {
	Registries []*Registry `json:"registries"`
	Packages   []*Package  `json:"packages,omitempty"`
}

type MockConfigFinder added in v2.3.0

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

func (*MockConfigFinder) Find added in v2.3.0

func (f *MockConfigFinder) Find(policyFilePath, wd string) (string, error)

type MockConfigReader

type MockConfigReader struct {
	Cfgs []*Config
	Err  error
}

func (*MockConfigReader) Read

func (r *MockConfigReader) Read(files []string) ([]*Config, error)

type MockReader added in v2.3.0

type MockReader struct {
	Config  *Config
	Configs []*Config
	Err     error
}

func (*MockReader) Append added in v2.3.0

func (r *MockReader) Append(logE *logrus.Entry, aquaYAMLPath string, policies []*Config, globalPolicyPaths map[string]struct{}) ([]*Config, error)

func (*MockReader) Read added in v2.12.2

func (r *MockReader) Read(policyFilePaths []string) ([]*Config, error)

type MockValidator added in v2.3.0

type MockValidator struct {
	Err error
}

func (*MockValidator) Allow added in v2.3.0

func (v *MockValidator) Allow(p string) error

func (*MockValidator) Deny added in v2.3.0

func (v *MockValidator) Deny(p string) error

func (*MockValidator) Validate added in v2.3.0

func (v *MockValidator) Validate(p string) error

func (*MockValidator) Warn added in v2.3.0

func (v *MockValidator) Warn(logE *logrus.Entry, policyFilePath string, updated bool) error

type Package

type Package struct {
	Name         string    `json:"name"`
	Version      string    `json:"version,omitempty"`
	RegistryName string    `yaml:"registry" json:"registry,omitempty"`
	Registry     *Registry `yaml:"-" json:"-"`
}

type Reader added in v2.3.0

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

func NewReader added in v2.3.0

func NewReader(fs afero.Fs, validator Validator, finder ConfigFinder, reader ConfigReader) *Reader

func (*Reader) Append added in v2.3.0

func (r *Reader) Append(logE *logrus.Entry, aquaYAMLPath string, policies []*Config, globalPolicyPaths map[string]struct{}) ([]*Config, error)

Append finds and reads a policy file for aquaYAMLPath and appends the policy to policies.

func (*Reader) Read added in v2.12.2

func (r *Reader) Read(policyFilePaths []string) ([]*Config, error)

type Registry

type Registry struct {
	Name      string `json:"name,omitempty"`
	Type      string `validate:"required" json:"type,omitempty" jsonschema:"enum=standard,enum=local,enum=github_content"`
	RepoOwner string `yaml:"repo_owner" json:"repo_owner,omitempty"`
	RepoName  string `yaml:"repo_name" json:"repo_name,omitempty"`
	Ref       string `json:"ref,omitempty"`
	Path      string `validate:"required" json:"path,omitempty"`
}

type Validator added in v2.3.0

type Validator interface {
	Validate(p string) error
	Allow(p string) error
	Deny(p string) error
	Warn(logE *logrus.Entry, policyFilePath string, updated bool) error
}

type ValidatorImpl added in v2.3.0

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

func NewValidator added in v2.3.0

func NewValidator(param *config.Param, fs afero.Fs) *ValidatorImpl

func (*ValidatorImpl) Allow added in v2.3.0

func (v *ValidatorImpl) Allow(p string) error

func (*ValidatorImpl) Deny added in v2.3.0

func (v *ValidatorImpl) Deny(p string) error

func (*ValidatorImpl) Validate added in v2.3.0

func (v *ValidatorImpl) Validate(p string) error

func (*ValidatorImpl) Warn added in v2.3.0

func (v *ValidatorImpl) Warn(logE *logrus.Entry, policyFilePath string, updated bool) error

Jump to

Keyboard shortcuts

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