Documentation ¶
Overview ¶
Package interfaces contains the interfaces for the Minder policy engine.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Evaluator ¶
type Evaluator interface {
Eval(ctx context.Context, profile map[string]any, entity protoreflect.ProtoMessage, res *Result) error
}
Evaluator is the interface for a rule type evaluator
type Ingester ¶
type Ingester interface { // Ingest does the actual data ingestion for a rule type Ingest(ctx context.Context, ent protoreflect.ProtoMessage, params map[string]any) (*Result, error) // GetType returns the type of the ingester GetType() string // GetConfig returns the config for the ingester GetConfig() protoreflect.ProtoMessage }
Ingester is the interface for a rule type ingester
type Result ¶
type Result struct { // Object is the object that was ingested. Normally comes from an external // system like an HTTP server. Object any // Fs is the filesystem that was created as a result of the ingestion. This // is normally used by the evaluator to do rule evaluation. The filesystem // may be a git repo, or a memory filesystem. Fs billy.Filesystem // Storer is the git storer that was created as a result of the ingestion. // FIXME: It might be cleaner to either wrap both Fs and Storer in a struct // or pass out the git.Repository structure instead of the storer. Storer storage.Storer // Checkpoint is the checkpoint at which the ingestion was done. This is // used to persist the state of the entity at ingestion time. Checkpoint *checkpoints.CheckpointEnvelopeV1 }
Result is the result of an ingester
func (*Result) GetCheckpoint ¶
func (r *Result) GetCheckpoint() *checkpoints.CheckpointEnvelopeV1
GetCheckpoint returns the checkpoint of the result
type ResultSink ¶
type ResultSink interface {
SetIngestResult(*Result)
}
ResultSink sets the result of an ingestion
Click to show internal directories.
Click to hide internal directories.