policy_manager

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2025 License: AGPL-3.0 Imports: 9 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Activity

type Activity struct {
	Title       string   `json:"title" mapstructure:"title"`
	Description string   `json:"description" mapstructure:"description"`
	Type        string   `json:"type" mapstructure:"type"`
	Steps       []Step   `json:"steps" mapstructure:"steps"`
	Tools       []string `json:"tools" mapstructure:"tools"`
}

type EvalOutput

type EvalOutput struct {
	Risks               []Risk `mapstructure:"risks"`
	Tasks               []Task `mapstructure:"tasks"`
	Violations          []Violation
	AdditionalVariables map[string]interface{}
}
type Link struct {
	Text string `json:"text" mapstructure:"text"`
	URL  string `json:"href" mapstructure:"href"`
}

type Package

type Package string

func (Package) PurePackage

func (p Package) PurePackage() string

type Policy

type Policy struct {
	File        string
	Package     Package
	Annotations []*ast.Annotations
}

type PolicyManager

type PolicyManager struct {
	// contains filtered or unexported fields
}

func New

func New(ctx context.Context, logger hclog.Logger, policyPath string) *PolicyManager

func (*PolicyManager) Execute

func (pm *PolicyManager) Execute(ctx context.Context, pluginNamespace string, input map[string]interface{}) ([]Result, error)

type Result

type Result struct {
	Policy Policy
	*EvalOutput
}

func (Result) String

func (res Result) String() string

type Risk

type Risk struct {
	Title       string `json:"title" mapstructure:"title"`
	Description string `json:"description" mapstructure:"description"`
	Statement   string `json:"statement" mapstructure:"statement"`
	Links       []Link `json:"links" mapstructure:"links"`
}

type Step

type Step struct {
	Title       string `json:"title" mapstructure:"title"`
	Description string `json:"description" mapstructure:"description"`
}

type Task

type Task struct {
	Title       string     `json:"title" mapstructure:"title"`
	Description string     `json:"description" mapstructure:"description"`
	Activities  []Activity `json:"activities" mapstructure:"activities"`
}

type Violation

type Violation struct {
	Title       string   `json:"title,omitempty" mapstructure:"title,omitempty"`
	Description string   `json:"description,omitempty" mapstructure:"description,omitempty"`
	Remarks     string   `json:"remarks,omitempty" mapstructure:"remarks,omitempty"`
	Controls    []string `json:"control-implementations,omitempty" mapstructure:"control-implementations,omitempty"`
}

Jump to

Keyboard shortcuts

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