Documentation ¶
Index ¶
- func ComponentDTO(circuit CompiledCircuit) ([]languagev1.ComponentView, []languagev1.Link)
- func DOT(components []languagev1.ComponentView, links []languagev1.Link) string
- func Module() fx.Option
- func NewComponentAndOptions(componentProto *policylangv1.Component, componentIndex int, ...) (runtime.CompiledComponent, []runtime.CompiledComponent, fx.Option, error)
- type CompiledCircuit
- type CompiledComponent
- type FxOut
- type Policy
- type PolicySpecValidator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComponentDTO ¶ added in v0.1.3
func ComponentDTO(circuit CompiledCircuit) ([]languagev1.ComponentView, []languagev1.Link)
ComponentDTO takes a CompiledCircuit and returns its graph representation.
func DOT ¶ added in v0.1.3
func DOT(components []languagev1.ComponentView, links []languagev1.Link) string
DOT returns Components and Links as a DOT graph description.
func Module ¶ added in v0.1.2
Module - Controller can be initialized by passing options from Module() to fx app.
func NewComponentAndOptions ¶
func NewComponentAndOptions( componentProto *policylangv1.Component, componentIndex int, policyReadAPI iface.Policy, ) (runtime.CompiledComponent, []runtime.CompiledComponent, fx.Option, error)
NewComponentAndOptions creates component and its fx options.
Types ¶
type CompiledCircuit ¶
type CompiledCircuit []*CompiledComponent
CompiledCircuit is a list of CompiledComponent(s).
func CompilePolicy ¶
func CompilePolicy(policyMessage *policylangv1.Policy) (CompiledCircuit, error)
CompilePolicy takes policyMessage and returns a compiled policy. This is a helper method for standalone consumption of policy compiler.
func ValidateAndCompile ¶ added in v0.2.1
func ValidateAndCompile(ctx context.Context, name string, yamlSrc []byte) (CompiledCircuit, bool, string, error)
ValidateAndCompile checks the validity of a single Policy and compiles it.
type CompiledComponent ¶
type CompiledComponent struct { runtime.CompiledComponentAndPorts ComponentID string ParentComponentID string }
CompiledComponent is composed of runtime.CompiledComponent, ComponentID and ParentComponentID.
type FxOut ¶ added in v0.1.3
type FxOut struct { fx.Out Validator validation.PolicySpecValidator `group:"policy-validators"` }
FxOut is the output of the controlplane module.
type Policy ¶
type Policy struct { iface.PolicyBase // contains filtered or unexported fields }
Policy invokes the Circuit runtime at tick frequency.
func (*Policy) GetEvaluationInterval ¶
GetEvaluationInterval returns the ID of the policy.
type PolicySpecValidator ¶ added in v0.3.0
type PolicySpecValidator struct{}
PolicySpecValidator Policy implementation of PolicySpecValidator interface.
func (*PolicySpecValidator) ValidateSpec ¶ added in v0.3.0
func (v *PolicySpecValidator) ValidateSpec( ctx context.Context, name string, yamlSrc []byte, ) (bool, string, error)
ValidateSpec checks the validity of a Policy spec
returns: * true, "", nil when Policy is valid * false, message, nil when Policy is invalid and * false, "", err on other errors.
ValidateSpec checks the syntax, validity of extractors, and validity of rego modules (by attempting to compile them).