process

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: May 29, 2023 License: Apache-2.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 Auxiliary

type Auxiliary struct {
	Ins model.Instance
	// Type will be used to mark definition label for OAM runtime to get the CRD
	// It's now required for trait and main workload object. Extra workload CR object will not have the type.
	Type string

	// Workload or trait with multiple `outputs` will have a name, if name is empty, than it's the main of this type.
	Name string
}

Auxiliary are objects rendered by definition template. the format for auxiliary resource is always: `outputs.<resourceName>`, it can be auxiliary workload or trait

type AuxiliaryHook

type AuxiliaryHook interface {
	Exec(Context, []Auxiliary) error
}

AuxiliaryHook defines function to be invoked before appending auxiliaries to a process.Context

type AuxiliaryHookFn

type AuxiliaryHookFn func(Context, []Auxiliary) error

AuxiliaryHookFn implements AuxiliaryHook interface

func (AuxiliaryHookFn) Exec

func (fn AuxiliaryHookFn) Exec(ctx Context, auxs []Auxiliary) error

Exec will be invoked before appending 'auxs' into ctx.Auxiliaries

type BaseHook

type BaseHook interface {
	Exec(Context, model.Instance) error
}

BaseHook defines function to be invoked before setting base to a process.Context

type BaseHookFn

type BaseHookFn func(Context, model.Instance) error

BaseHookFn implements BaseHook interface

func (BaseHookFn) Exec

func (fn BaseHookFn) Exec(ctx Context, base model.Instance) error

Exec will be invoked before settiing 'base' into ctx.Base

type Context

type Context interface {
	SetBase(base model.Instance) error
	AppendAuxiliaries(auxiliaries ...Auxiliary) error
	Output() (model.Instance, []Auxiliary)
	BaseContextFile() (string, error)
	BaseContextLabels() map[string]string
	SetParameters(params map[string]interface{})
	PushData(key string, data interface{})
	RemoveData(key string)
	GetData(key string) interface{}
	GetCtx() context.Context
	SetCtx(context.Context)
}

Context defines Rendering Context Interface

func NewContext

func NewContext(data ContextData) Context

NewContext create render templateContext

type ContextData

type ContextData struct {
	Name           string
	Namespace      string
	StepName       string
	WorkflowName   string
	PublishVersion string

	Ctx            context.Context
	CustomData     map[string]interface{}
	Data           map[string]interface{}
	BaseHooks      []BaseHook
	AuxiliaryHooks []AuxiliaryHook
}

ContextData is the core data of process context

type DataManager added in v0.6.0

type DataManager interface {
	Fill(ctx Context, kvs []StepMetaKV)
	Remove(ctx Context, keys []string)
}

DataManager is in charge of injecting and removing runtime context for ContextData

func NewStepRunTimeMeta added in v0.6.0

func NewStepRunTimeMeta() DataManager

NewStepRunTimeMeta create step runtime metadata manager

type RequiredSecrets

type RequiredSecrets struct {
	Namespace   string
	Name        string
	ContextName string
	Data        map[string]interface{}
}

RequiredSecrets is used to store all secret names which are generated by cloud resource components and required by current component

type StepMetaKV added in v0.6.0

type StepMetaKV struct {
	Key   string
	Value interface{}
}

StepMetaKV store the key and value of step runtime metadata

func WithGroupName added in v0.6.0

func WithGroupName(name string) StepMetaKV

WithGroupName return stepGroupName of the step

func WithName added in v0.6.0

func WithName(name string) StepMetaKV

WithName return stepName of the step

func WithSessionID added in v0.6.0

func WithSessionID(id string) StepMetaKV

WithSessionID return stepSessionID of the step

func WithSpanID added in v0.6.0

func WithSpanID(id string) StepMetaKV

WithSpanID return spanID of the step

type StepRunTimeMeta added in v0.6.0

type StepRunTimeMeta struct{}

StepRunTimeMeta manage step runtime metadata

func (*StepRunTimeMeta) Fill added in v0.6.0

func (s *StepRunTimeMeta) Fill(ctx Context, kvs []StepMetaKV)

Fill will fill step runtime metadata for ContextData

func (*StepRunTimeMeta) Remove added in v0.6.0

func (s *StepRunTimeMeta) Remove(ctx Context, keys []string)

Remove remove step runtime metadata of ContextData

Jump to

Keyboard shortcuts

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