Documentation
¶
Index ¶
- Constants
- type APIGroupFilter
- type BundleParser
- type CSVPermissions
- type Filter
- type FilterParams
- type IndexImageExtractor
- type MetaBundle
- type Middleware
- type NonResourceURLsFilter
- type Permission
- type ResourceNamesFilter
- type ResourcesFilter
- type Rule
- type RuleFilter
- type ValidateFunc
- type Validator
- type ValidatorList
- type ValidatorResult
- type ValidatorTest
- type VerbsFilter
Constants ¶
const ( InOperator operator = "IN" NotInOperator operator = "NOT_IN" EqualsOperator operator = "EQUAL" NotEqualOperator operator = "NOT_EQUAL" ExistsOperator operator = "EXISTS" DoesNotExistOperator operator = "DOES_NOT_EXIST" AnyOperator operator = "ANY" )
const ( AllPermissionType permissionType = "all" NameSpacedPermissionType permissionType = "namespaced" ClusterPermissionType permissionType = "clusterScoped" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIGroupFilter ¶ added in v0.9.0
type APIGroupFilter struct {
Params FilterParams
}
func (*APIGroupFilter) Filter ¶ added in v0.9.0
func (f *APIGroupFilter) Filter(rule *rbac.PolicyRule) *rbac.PolicyRule
type BundleParser ¶
type CSVPermissions ¶ added in v0.9.0
type CSVPermissions struct {
ClusterPermissions []Permission `json:"clusterPermissions"`
Permissions []Permission `json:"permissions"`
}
func (*CSVPermissions) FilterRules ¶ added in v0.9.0
func (cp *CSVPermissions) FilterRules(ruleFilter RuleFilter) []Rule
Returns the list of rules matching the filtering conditions
type Filter ¶ added in v0.9.0
type Filter interface {
Filter(*rbac.PolicyRule) *rbac.PolicyRule
}
type FilterParams ¶ added in v0.9.0
type FilterParams struct {
Args []string
OperatorName operator
}
type IndexImageExtractor ¶
type MetaBundle ¶
type MetaBundle struct {
AddonMeta *v1alpha1.AddonMetadataSpec
Bundles []registry.Bundle
}
func NewMetaBundle ¶
func NewMetaBundle(addonMeta *v1alpha1.AddonMetadataSpec, bundles []registry.Bundle) *MetaBundle
type Middleware ¶
type NonResourceURLsFilter ¶ added in v0.9.0
type NonResourceURLsFilter struct {
Params FilterParams
}
func (*NonResourceURLsFilter) Filter ¶ added in v0.9.0
func (f *NonResourceURLsFilter) Filter(rule *rbac.PolicyRule) *rbac.PolicyRule
type Permission ¶ added in v0.9.0
type ResourceNamesFilter ¶ added in v0.9.0
type ResourceNamesFilter struct {
Params FilterParams
}
func (*ResourceNamesFilter) Filter ¶ added in v0.9.0
func (f *ResourceNamesFilter) Filter(rule *rbac.PolicyRule) *rbac.PolicyRule
type ResourcesFilter ¶ added in v0.9.0
type ResourcesFilter struct {
Params FilterParams
}
func (*ResourcesFilter) Filter ¶ added in v0.9.0
func (f *ResourcesFilter) Filter(rule *rbac.PolicyRule) *rbac.PolicyRule
type Rule ¶ added in v0.9.0
type Rule struct {
rbac.PolicyRule
// contains filtered or unexported fields
}
type RuleFilter ¶ added in v0.9.0
type RuleFilter struct {
PermissionType permissionType
Filters []Filter
}
func (*RuleFilter) GetRelevantPermissions ¶ added in v0.9.0
func (r *RuleFilter) GetRelevantPermissions(cp *CSVPermissions) []Permission
func (*RuleFilter) Run ¶ added in v0.9.0
func (r *RuleFilter) Run(rule *rbac.PolicyRule) *rbac.PolicyRule
type ValidateFunc ¶
type ValidateFunc func(mb MetaBundle) ValidatorResult
type Validator ¶
type Validator struct {
Name string
Code string
Description string
Runner ValidateFunc
// Optional: override defaults from RetryMiddleware
RetryCount int
// Optional: override defaults from RetryMiddleware
RetryDelaySeconds int
}
func (Validator) Run ¶ added in v0.8.0
func (v Validator) Run(mb MetaBundle) ValidatorResult
Run applies validation to the given MetaBundle returning a result indicating whether the validation was successful, failed, or encountered an error.
func (Validator) WithRunner ¶
func (v Validator) WithRunner(fn ValidateFunc) Validator
WithRunner - Needs to create a new validator otherwise the memory address of the original Runner is lost, and it causes infinite loop scenarios (e.g.: RetryMiddleware)
type ValidatorList ¶ added in v0.8.0
type ValidatorList []Validator
ValidatorList - implements Sort interface to sort validators per Code
func (ValidatorList) Len ¶ added in v0.8.0
func (v ValidatorList) Len() int
func (ValidatorList) Less ¶ added in v0.8.0
func (v ValidatorList) Less(i, j int) bool
func (ValidatorList) Swap ¶ added in v0.8.0
func (v ValidatorList) Swap(i, j int)
type ValidatorResult ¶
type ValidatorResult struct {
// "" if validation is successful, else information about why it failed
FailureMsgs []string
// reports error that happened in the validation code
Error error
// if an error occured in the validation code, determines if it was retryable
RetryableError bool
// ValidatorCode is the code of the Validator which produced the result instance.
ValidatorCode string
// ValidatorDescription describes the Validator which produced the result instance.
ValidatorDescription string
// ValidatorName is the name of the Validator which produced the result instance.
ValidatorName string
// contains filtered or unexported fields
}
ValidatorResult - encompasses validator result information
func ValidatorResultError ¶ added in v0.8.0
func ValidatorResultError(err error, retryable bool) ValidatorResult
ValidatorResultError returns an errored validator result with the given error and flag to indicate whether the error may be retried.
func ValidatorResultFailure ¶ added in v0.8.0
func ValidatorResultFailure(msgs ...string) ValidatorResult
ValidatorResultFailure returns a failed validator result with the given failure messagees.
func ValidatorResultSuccess ¶ added in v0.8.0
func ValidatorResultSuccess() ValidatorResult
ValidatorResultSuccess returns an otherwise empty successful validator result.
func (ValidatorResult) IsError ¶
func (vr ValidatorResult) IsError() bool
func (ValidatorResult) IsRetryableError ¶
func (vr ValidatorResult) IsRetryableError() bool
func (ValidatorResult) IsSuccess ¶
func (vr ValidatorResult) IsSuccess() bool
type ValidatorTest ¶
type ValidatorTest interface {
Name() string
Run(MetaBundle) ValidatorResult
SucceedingCandidates() ([]MetaBundle, error)
FailingCandidates() ([]MetaBundle, error)
}
type VerbsFilter ¶ added in v0.9.0
type VerbsFilter struct {
Params FilterParams
}
func (*VerbsFilter) Filter ¶ added in v0.9.0
func (f *VerbsFilter) Filter(rule *rbac.PolicyRule) *rbac.PolicyRule