Documentation
¶
Index ¶
- func AddCatalog(name string, url string, types []string)
- func LoadSources() map[string]*Source
- func RemoveCatalog(name string)
- func SaveToFile(registry *Config, file string) error
- func UpdateAllCatalogs()
- func UpdateCatalog(name string, source *Source) error
- type Action
- type ActionAccess
- type ActionAccessEnv
- type ActionAccessExecutable
- type ActionMetadata
- type ActionScope
- type ActionType
- type Config
- type ContainerAction
- type ContainerImage
- type ContainerMount
- type ImageCache
- type ImageCerts
- type ImageSource
- type ProvidedBinary
- type Security
- type Source
- type Workflow
- type WorkflowAction
- type WorkflowExpressionType
- type WorkflowRule
- type WorkflowStage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddCatalog ¶
func LoadSources ¶
func RemoveCatalog ¶
func RemoveCatalog(name string)
func SaveToFile ¶
func UpdateAllCatalogs ¶
func UpdateAllCatalogs()
func UpdateCatalog ¶
Types ¶
type Action ¶
type Action struct { Repository string `yaml:"repository,omitempty"` Type ActionType `required:"true" yaml:"type"` Container ContainerAction `yaml:"container,omitempty"` // Container contains the configuration for containerized actions Version string `yaml:"version,omitempty"` Metadata ActionMetadata `yaml:"metadata"` }
type ActionAccess ¶
type ActionAccess struct { Environment []ActionAccessEnv `json:"env,omitempty"` // Environment variables that the action may access during execution Executables []ActionAccessExecutable `json:"executables,omitempty"` // Executables that the action may invoke during execution }
type ActionAccessEnv ¶ added in v0.5.0
type ActionAccessExecutable ¶ added in v0.5.0
type ActionMetadata ¶ added in v0.5.0
type ActionMetadata struct { Name string `json:"name"` Description string `json:"description"` Category string `json:"category"` Scope ActionScope `json:"scope"` Links map[string]string `json:"links,omitempty"` Rules []WorkflowRule `yaml:"rules,omitempty"` // Rules define conditions that must be met for the action to be executed Access ActionAccess `json:"access,omitempty"` // Access defines resources that the action may access }
type ActionScope ¶
type ActionScope string
const ( ActionScopeProject ActionScope = "project" ActionScopeModule ActionScope = "module" )
type ActionType ¶
type ActionType string
const ( ActionTypeContainer ActionType = "container" ActionTypeGitHubAction ActionType = "githubaction" )
type Config ¶
type Config struct { // Actions Actions []Action `yaml:"actions,omitempty"` // Workflows Workflows []Workflow `yaml:"workflows,omitempty"` }
Config is a registry configuration with placeholders
func LoadCatalogs ¶
func LoadFromDirectory ¶
func LoadFromFile ¶
func ProcessCatalog ¶
func (*Config) FindAction ¶
FindAction finds an action by id
func (*Config) FindWorkflow ¶
FindWorkflow finds a workflow by name
type ContainerAction ¶
type ContainerAction struct { Image string `yaml:"image"` // Image is the full image reference including the registry Command string `yaml:"command"` // Command is the command that should be executed in the container image to start the action. Certs []ImageCerts `yaml:"certs,omitempty"` }
type ContainerImage ¶
type ContainerImage struct { Repository string `yaml:"repository,omitempty"` Image string `yaml:"image"` Digest string `yaml:"digest,omitempty"` Provides []ProvidedBinary `yaml:"provides"` Cache []ImageCache `yaml:"cache,omitempty"` Security Security `yaml:"security,omitempty"` User string `yaml:"user,omitempty"` Entrypoint *string `yaml:"entrypoint,omitempty"` Certs []ImageCerts `yaml:"certs,omitempty"` Mounts []ContainerMount `yaml:"mounts,omitempty"` // Mounts Source ImageSource `yaml:"source,omitempty"` // Source }
type ContainerMount ¶
type ImageCache ¶
type ImageCerts ¶
type ImageSource ¶
type ImageSource struct {
RegistryURL string `yaml:"registry_url"`
}
type ProvidedBinary ¶
type Workflow ¶
type Workflow struct { Repository string `yaml:"repository,omitempty"` Name string `required:"true" yaml:"name,omitempty"` Description string `yaml:"description,omitempty"` Version string `yaml:"version,omitempty"` Rules []WorkflowRule `yaml:"rules,omitempty"` Stages []WorkflowStage `yaml:"stages,omitempty"` }
func (*Workflow) ActionCount ¶
ActionCount returns the total count of actions across all stages
type WorkflowAction ¶
type WorkflowAction struct { ID string `required:"true" yaml:"id"` Rules []WorkflowRule `yaml:"rules,omitempty"` Config interface{} `yaml:"config,omitempty"` Module *analyzerapi.ProjectModule `yaml:"-"` }
type WorkflowExpressionType ¶
type WorkflowExpressionType string
const (
WorkflowExpressionCEL WorkflowExpressionType = "cel"
)
type WorkflowRule ¶
type WorkflowRule struct { Type WorkflowExpressionType `default:"cel" yaml:"type,omitempty"` Expression string `yaml:"expression,omitempty"` }
type WorkflowStage ¶
type WorkflowStage struct { Name string `required:"true" yaml:"name,omitempty"` Rules []WorkflowRule `yaml:"rules,omitempty"` Actions []WorkflowAction `yaml:"actions,omitempty"` }
Click to show internal directories.
Click to hide internal directories.