Documentation
¶
Index ¶
- Constants
- func ReadSchema(src io.Reader, id string) (*schemav1.Schema, error)
- func ReadSchemaFromFile(fsys fs.FS, path string) (*schemav1.Schema, error)
- type Conf
- type Enforcement
- type ErrSource
- type Loader
- type Manager
- func New(ctx context.Context, loader Loader) (Manager, error)
- func NewEphemeral(resolver Resolver) Manager
- func NewFromConf(_ context.Context, loader Loader, conf *Conf) Manager
- func NewStatic(schemas map[uint64]*policyv1.Schemas, ...) (Manager, error)
- func NewStaticFromConf(conf *Conf, schemas map[uint64]*policyv1.Schemas, ...) (Manager, error)
- type NopManager
- func (NopManager) LoadSchema(_ context.Context, _ string) (*jsonschema.Schema, error)
- func (NopManager) ValidateCheckInput(_ context.Context, _ *policyv1.Schemas, _ *enginev1.CheckInput) (*ValidationResult, error)
- func (NopManager) ValidatePlanResourcesInput(_ context.Context, _ *policyv1.Schemas, _ *enginev1.PlanResourcesInput) (*ValidationResult, error)
- type Resolver
- type StaticManager
- func (m *StaticManager) LoadSchema(ctx context.Context, url string) (*jsonschema.Schema, error)
- func (m *StaticManager) ValidateCheckInput(ctx context.Context, schemas *policyv1.Schemas, input *enginev1.CheckInput) (*ValidationResult, error)
- func (m *StaticManager) ValidatePlanResourcesInput(ctx context.Context, schemas *policyv1.Schemas, ...) (*ValidationResult, error)
- type ValidationError
- type ValidationErrorList
- type ValidationResult
Constants ¶
View Source
const ( Directory = "_schemas" URLScheme = "cerbos" )
Variables ¶
This section is empty.
Functions ¶
func ReadSchema ¶ added in v0.14.0
ReadSchema reads a schema from the given reader.
Types ¶
type Conf ¶
type Conf struct {
// Enforcement defines level of the validations. Possible values are none, warn, reject.
Enforcement Enforcement `yaml:"enforcement" conf:",example=reject"`
// CacheSize defines the number of schemas to cache in memory.
CacheSize uint `yaml:"cacheSize" conf:",example=1024"`
}
Conf is optional configuration for schema validation.
func NewConf ¶ added in v0.14.0
func NewConf(enforcement Enforcement) *Conf
func (*Conf) SetDefaults ¶
func (c *Conf) SetDefaults()
type Enforcement ¶
type Enforcement string
Enforcement level for schema validation.
const ( EnforcementNone Enforcement = "none" // No enforcement made. EnforcementWarn Enforcement = "warn" // In case schema is not validated, display a warning. EnforcementReject Enforcement = "reject" // In case schema is not validated, reject. )
type Manager ¶
type Manager interface {
ValidateCheckInput(context.Context, *policyv1.Schemas, *enginev1.CheckInput) (*ValidationResult, error)
ValidatePlanResourcesInput(context.Context, *policyv1.Schemas, *enginev1.PlanResourcesInput) (*ValidationResult, error)
// contains filtered or unexported methods
}
func NewEphemeral ¶ added in v0.45.1
func NewFromConf ¶ added in v0.15.0
type NopManager ¶
type NopManager struct{}
func NewNopManager ¶
func NewNopManager() NopManager
func (NopManager) LoadSchema ¶ added in v0.47.0
func (NopManager) LoadSchema(_ context.Context, _ string) (*jsonschema.Schema, error)
func (NopManager) ValidateCheckInput ¶ added in v0.19.0
func (NopManager) ValidateCheckInput(_ context.Context, _ *policyv1.Schemas, _ *enginev1.CheckInput) (*ValidationResult, error)
func (NopManager) ValidatePlanResourcesInput ¶ added in v0.19.0
func (NopManager) ValidatePlanResourcesInput(_ context.Context, _ *policyv1.Schemas, _ *enginev1.PlanResourcesInput) (*ValidationResult, error)
type Resolver ¶ added in v0.45.1
func DefaultResolver ¶ added in v0.47.0
func StaticResolver ¶ added in v0.47.0
type StaticManager ¶ added in v0.47.0
type StaticManager struct {
// contains filtered or unexported fields
}
func (*StaticManager) LoadSchema ¶ added in v0.47.0
func (m *StaticManager) LoadSchema(ctx context.Context, url string) (*jsonschema.Schema, error)
func (*StaticManager) ValidateCheckInput ¶ added in v0.47.0
func (m *StaticManager) ValidateCheckInput(ctx context.Context, schemas *policyv1.Schemas, input *enginev1.CheckInput) (*ValidationResult, error)
func (*StaticManager) ValidatePlanResourcesInput ¶ added in v0.47.0
func (m *StaticManager) ValidatePlanResourcesInput(ctx context.Context, schemas *policyv1.Schemas, input *enginev1.PlanResourcesInput) (*ValidationResult, error)
type ValidationError ¶
func (ValidationError) Error ¶
func (e ValidationError) Error() string
type ValidationErrorList ¶
type ValidationErrorList []ValidationError
func NewLoadErr ¶ added in v0.47.0
func NewLoadErr(source ErrSource, schema string, err error) ValidationErrorList
func (ValidationErrorList) ErrOrNil ¶
func (e ValidationErrorList) ErrOrNil() error
func (ValidationErrorList) Error ¶
func (e ValidationErrorList) Error() string
func (ValidationErrorList) ErrorMessages ¶
func (e ValidationErrorList) ErrorMessages() []string
func (ValidationErrorList) SchemaErrors ¶
func (e ValidationErrorList) SchemaErrors() []*schemav1.ValidationError
type ValidationResult ¶
type ValidationResult struct {
Errors ValidationErrorList
Reject bool
}
Click to show internal directories.
Click to hide internal directories.