Documentation
¶
Index ¶
- Constants
- Variables
- func RegoFunctions(resolver oci.AttestationResolver) []*tester.Builtin
- func WithPolicyEvaluator(ctx context.Context, pe PolicyEvaluator) context.Context
- type MirrorSpec
- type PolicyEvaluator
- type PolicyFile
- type PolicyInput
- type PolicyMapping
- type PolicyMappings
- type PolicyMirror
- type PolicyOptions
- type PolicyOrigin
Constants ¶
View Source
const (
PolicyMappingFileName = "mapping.yaml"
)
Variables ¶
View Source
var PolicyEvaluatorCtxKey policyEvaluatorCtxKeyType
View Source
var (
PolicyFileNames = []string{"data.yaml", "policy.rego"}
)
Functions ¶
func RegoFunctions ¶
func RegoFunctions(resolver oci.AttestationResolver) []*tester.Builtin
func WithPolicyEvaluator ¶
func WithPolicyEvaluator(ctx context.Context, pe PolicyEvaluator) context.Context
sets PolicyEvaluator in context
Types ¶
type MirrorSpec ¶
type PolicyEvaluator ¶
type PolicyEvaluator interface {
Evaluate(ctx context.Context, resolver oci.AttestationResolver, policy []*PolicyFile, input *PolicyInput) error
}
func GetPolicyEvaluator ¶
func GetPolicyEvaluator(ctx context.Context) (PolicyEvaluator, error)
gets PolicyEvaluator from context, defaults to Rego PolicyEvaluator if not set
func NewRegoEvaluator ¶
func NewRegoEvaluator(debug bool) PolicyEvaluator
type PolicyFile ¶
func ResolvePolicy ¶
func ResolvePolicy(ctx context.Context, resolver oci.AttestationResolver, opts *PolicyOptions) ([]*PolicyFile, error)
type PolicyInput ¶
type PolicyMapping ¶
type PolicyMapping struct {
Name string `json:"namespace"`
Location string `json:"location"`
Description string `json:"description"`
Origin PolicyOrigin `json:"origin"`
}
type PolicyMappings ¶
type PolicyMappings struct {
Version string `json:"version"`
Kind string `json:"kind"`
Policies []PolicyMapping `json:"policies"`
Mirrors []PolicyMirror `json:"mirrors"`
}
type PolicyMirror ¶
type PolicyMirror struct {
Name string `json:"name"`
Mirror MirrorSpec `json:"mirror"`
}
type PolicyOptions ¶
type PolicyOrigin ¶
Click to show internal directories.
Click to hide internal directories.