Documentation
¶
Index ¶
- Constants
- Variables
- func CheckDependencies(ctx context.Context, store refstore.Store, fn *models.Function) (bool, error)
- func GetMissing(inputs map[string]sdk.InputDescriptor) []sdk.InputDescriptor
- func GetRunStatus(ctx context.Context, store refstore.Store, runRef refs.Ref) (models.Status, error)
- func InitializeRun(ctx context.Context, store refstore.Store, runRef refs.Ref, ...) error
- func LoadRef(ctx context.Context, store refstore.Store, ref refs.Ref) (any, error)
- func LoadRefOfType[T any](ctx context.Context, store refstore.Store, ref refs.Ref) (T, error)
- func PopulateInputs(ctx context.Context, store refstore.Store, ...) (map[string]sdk.InputDescriptor, error)
- func ReduceToRunRef(ref refs.Ref) refs.Ref
- func ReduceToTaskRef(ref refs.Ref) (refs.Ref, error)
- func ReleaseStore(ctx context.Context, ref string, store refstore.Store) (*releaseStore, error)
- func ResultToStatus(result sdk.Result) models.Status
- func RetrieveInput(ctx context.Context, store refstore.Store, input sdk.InputDescriptor) (sdk.InputDescriptor, error)
- func RunIsReady(ctx context.Context, state refstore.Store, ref string) (bool, error)
- type Custom
- type FunctionState
- type Logger
- type ReleaseInfo
- type ReleaseTracker
- func (r *ReleaseTracker) FilteredNextRun(ctx context.Context) (map[refs.Ref]*models.Run, error)
- func (r *ReleaseTracker) GetReleaseInfo(ctx context.Context) (*ReleaseInfo, error)
- func (r *ReleaseTracker) GetReleaseSummary(ctx context.Context) (*pipeline.ReleaseSummary, error)
- func (r *ReleaseTracker) GetTags(ctx context.Context) ([]string, error)
- func (r *ReleaseTracker) InitRelease(ctx context.Context, commit string) error
- func (r *ReleaseTracker) Op(ctx context.Context, ref string, logger Logger) error
- func (r *ReleaseTracker) PopulateInputs(ctx context.Context, fnRef refs.Ref, fn *models.Function) ([]sdk.InputDescriptor, error)
- func (r *ReleaseTracker) ReleaseStatus(ctx context.Context) (models.Status, error)
- func (r *ReleaseTracker) Retry(ctx context.Context, logger Logger) error
- func (r *ReleaseTracker) Run(ctx context.Context, logger sdk.Logger, runRef refs.Ref, run *models.Run) (sdk.Result, error)
- func (r *ReleaseTracker) RunDown(ctx context.Context) error
- func (r *ReleaseTracker) RunToPause(ctx context.Context, logger Logger) error
- func (r *ReleaseTracker) UnfilteredNextRun(ctx context.Context) (map[refs.Ref]*models.Run, error)
- type StatusEvent
Constants ¶
View Source
const ( // Based on: // https://opentelemetry.io/docs/specs/semconv/cicd/cicd-spans/ // https://opentelemetry.io/docs/specs/semconv/resource/cicd/ // https://opentelemetry.io/docs/specs/semconv/registry/attributes/cicd/ AttributeCICDPipelineName = "cicd.pipeline.name" AttributeCICDPipelineActionName = "cicd.pipeline.action.name" AttributeCICDPipelineRunID = "cicd.pipeline.run.id" AttributeCICDPipelineResult = "cicd.pipeline.result" AttributeCICDPipelineRunState = "cicd.pipeline.run.state" AttributeCICDPipelineRunURL = "cicd.pipeline.run.url.full" AttributeCICDPipelineRunURLShort = "cicd.pipeline.run.url.short" AttributeCICDPipelineTaskName = "cicd.pipeline.task.name" AttributeCICDPipelineTaskRunID = "cicd.pipeline.task.run.id" AttributeCICDPipelineTaskRunType = "cicd.pipeline.task.run.type" AttributeCICDPipelineTaskRunResult = "cicd.pipeline.task.run.result" AttributeErrorType = "error.type" )
Variables ¶
View Source
var ( GlobPackage = libglob.MustCompile(`**/[^@]+/**`, '/') GlobRepoConfig = libglob.MustCompile("**/-/repo.ocu.star/@*", '/') GlobRelease = libglob.MustCompile("**/@*", '/') GlobTask = libglob.MustCompile("**/@*/{task,deploy}/*", '/') GlobOp = libglob.MustCompile("**/@*/op/*", '/') GlobDeployment = libglob.MustCompile("**/@*/deploy/*", '/') GlobRun = libglob.MustCompile("**/@*/{task,deploy}/*/*", '/') GlobLog = libglob.MustCompile("**/@*/{task,deploy}/*/*/logs", '/') GlobCustom = libglob.MustCompile("**/@*/custom/*", '/') GlobEnvironment = libglob.MustCompile("@*/environment/*", '/') )
View Source
var ( TagRegex = regexp.MustCompile(`^[a-zA-Z0-9-_\.]+$`) TagReleaseRegex = regexp.MustCompile(`^r[0-9]+$`) )
Functions ¶
func CheckDependencies ¶
func GetMissing ¶
func GetMissing(inputs map[string]sdk.InputDescriptor) []sdk.InputDescriptor
func GetRunStatus ¶ added in v0.3.11
func InitializeRun ¶ added in v0.3.11
func LoadRefOfType ¶
func PopulateInputs ¶
func ReleaseStore ¶
ReleaseStore creates a ReleaseStore from a string ref. The ref may be a link, or even a ref to a deploy or function within a release. It resolves the ref, removes the subpath/fragment, and creates a wrapped store.
func RetrieveInput ¶
func RetrieveInput(ctx context.Context, store refstore.Store, input sdk.InputDescriptor) (sdk.InputDescriptor, error)
RetrieveInput implements ReleaseStateStore.
Types ¶
type FunctionState ¶
type FunctionState struct {
Current models.Function `json:"current"`
History []StatusEvent `json:"history"`
}
type ReleaseInfo ¶
type ReleaseTracker ¶
func NewReleaseTracker ¶
func (*ReleaseTracker) FilteredNextRun ¶ added in v0.3.11
FilteredNextRun returns any runs that are pending execution, but only those that have all their inputs available.
func (*ReleaseTracker) GetReleaseInfo ¶
func (r *ReleaseTracker) GetReleaseInfo(ctx context.Context) (*ReleaseInfo, error)
func (*ReleaseTracker) GetReleaseSummary ¶
func (r *ReleaseTracker) GetReleaseSummary(ctx context.Context) (*pipeline.ReleaseSummary, error)
func (*ReleaseTracker) GetTags ¶
func (r *ReleaseTracker) GetTags(ctx context.Context) ([]string, error)
func (*ReleaseTracker) InitRelease ¶
func (r *ReleaseTracker) InitRelease(ctx context.Context, commit string) error
func (*ReleaseTracker) PopulateInputs ¶
func (r *ReleaseTracker) PopulateInputs(ctx context.Context, fnRef refs.Ref, fn *models.Function) ([]sdk.InputDescriptor, error)
func (*ReleaseTracker) ReleaseStatus ¶
func (*ReleaseTracker) Retry ¶
func (r *ReleaseTracker) Retry(ctx context.Context, logger Logger) error
func (*ReleaseTracker) RunToPause ¶
func (r *ReleaseTracker) RunToPause(ctx context.Context, logger Logger) error
func (*ReleaseTracker) UnfilteredNextRun ¶ added in v0.3.11
UnfilteredNextRun returns all runs that are pending execution, regardless of whether or not their inputs are available.
Click to show internal directories.
Click to hide internal directories.