controlplane

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2022 License: AGPL-3.0 Imports: 39 Imported by: 0

Documentation

Index

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

func Module() fx.Option

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

func (policy *Policy) GetEvaluationInterval() time.Duration

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).

Directories

Path Synopsis
resources

Jump to

Keyboard shortcuts

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