Help us shape the future of Go! Take the 2026 Go Developer Survey

policies

package
v1.108.4 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound     = fmt.Errorf("policy not found")
	ErrUnauthorized = fmt.Errorf("unauthorized request to policy provider")
)

Functions

This section is empty.

Types

type NewRegistryConfig

type NewRegistryConfig struct {
	Name string
	// Host is deprecated. Use URL instead
	Host    string
	URL     string
	Default bool
}

type PolicyProvider

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

PolicyProvider represents an external policy provider

func (*PolicyProvider) Resolve

func (p *PolicyProvider) Resolve(policyName, policyOrgName string, authOpts ProviderAuthOpts, opts ...ResolveOption) (*schemaapi.Policy, *PolicyReference, error)

Resolve calls the remote provider for retrieving a policy. See WithIgnoreCLICompatibility for the available resolution options.

func (*PolicyProvider) ResolveGroup added in v0.96.14

func (p *PolicyProvider) ResolveGroup(groupName, groupOrgName string, authOpts ProviderAuthOpts, opts ...ResolveOption) (*schemaapi.PolicyGroup, *PolicyReference, error)

ResolveGroup calls remote provider for retrieving a policy group definition. See WithIgnoreCLICompatibility for the available resolution options.

func (*PolicyProvider) ValidateAttachment added in v0.144.0

func (p *PolicyProvider) ValidateAttachment(att *schemaapi.PolicyAttachment, authOpts ProviderAuthOpts) error

type PolicyReference added in v0.96.5

type PolicyReference struct {
	URL    string
	Digest string
}

type ProviderAuthOpts added in v0.166.0

type ProviderAuthOpts struct {
	Token   string
	OrgName string
	// CLIVersion, when non-empty, is forwarded to the policy provider as the
	// Chainloop-Cli-Version header. It carries the version+edition string of
	// the CLI that originated the request.
	CLIVersion string
}

type ProviderResponse

type ProviderResponse struct {
	// Deprecated: Raw is the preferred approach
	Data             map[string]any `json:"data"`
	Digest           string         `json:"digest"`
	Raw              *RawMessage    `json:"raw"`
	OrganizationName string         `json:"organizationName"`
}

type RawMessage added in v0.97.7

type RawMessage struct {
	Body   []byte `json:"body"`
	Format string `json:"format"`
}

type Registry

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

Registry manages policy providers

func NewRegistry

func NewRegistry(logger log.Logger, conf ...*NewRegistryConfig) (*Registry, error)

func (*Registry) DefaultProvider

func (r *Registry) DefaultProvider() *PolicyProvider

func (*Registry) GetProvider

func (r *Registry) GetProvider(name string) *PolicyProvider

func (*Registry) GetProviderNames added in v0.96.5

func (r *Registry) GetProviderNames() []string

type ResolveOption added in v1.102.1

type ResolveOption func(*resolveOptions)

ResolveOption configures a policy or policy-group resolution request.

func WithIgnoreCLICompatibility added in v1.102.1

func WithIgnoreCLICompatibility() ResolveOption

WithIgnoreCLICompatibility makes the provider skip CLI-version compatibility resolution and return the true latest revision instead of the latest revision compatible with the requesting CLI version. It is meant for non-CLI callers such as the web UI or the control plane. On the wire this sets the include_all_versions query parameter.

type ValidateRequest added in v0.144.0

type ValidateRequest struct {
	PolicyAttachment string `json:"policy_attachment"`
}

type ValidateResponse added in v0.144.0

type ValidateResponse struct {
	Valid            bool     `json:"valid"`
	ValidationErrors []string `json:"validationErrors"`
}

Jump to

Keyboard shortcuts

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