policy

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2025 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckActionCompliance

func CheckActionCompliance(policy *PolicyConfig, repoName string, actions []string) ([]string, bool)

CheckActionCompliance verifies that all actions comply with the policy

Types

type Policy

type Policy struct {
	AllowedActions []string `yaml:"allowed_actions,omitempty"`
	DeniedActions  []string `yaml:"denied_actions,omitempty"`
	PolicyMode     string   `yaml:"policy_mode,omitempty"` // "allow" or "deny"
}

Policy defines repository-specific policy

type PolicyConfig

type PolicyConfig struct {
	AllowedActions []string          `yaml:"allowed_actions,omitempty"`
	DeniedActions  []string          `yaml:"denied_actions,omitempty"`
	ExcludedRepos  []string          `yaml:"excluded_repos,omitempty"`
	CustomRules    map[string]Policy `yaml:"custom_rules,omitempty"`
	PolicyMode     string            `yaml:"policy_mode,omitempty"` // "allow" or "deny"
}

PolicyConfig defines the structure for the policy configuration file

func LoadPolicyConfig

func LoadPolicyConfig(configPath string) (*PolicyConfig, error)

LoadPolicyConfig loads policy configuration from the specified file

func MergeRepoPolicy

func MergeRepoPolicy(globalPolicy *PolicyConfig, repoPolicyContent []byte, repoName string) (*PolicyConfig, error)

MergeRepoPolicy merges repository-specific policy with global policy

Jump to

Keyboard shortcuts

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