base

package
v0.0.0-...-b1d074a Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: BSD-3-Clause Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const GoNumFields = 6
View Source
const OutputSeparator = " "
View Source
const StdNumFields = 5

Variables

View Source
var FieldMatcher = regexp.MustCompile(`\S+`)
View Source
var ProviderConstants = struct {
	PipelineDefinitionParameter    string
	ExperimentDefinitionParameter  string
	RunDefinitionParameter         string
	RunScheduleDefinitionParameter string
	ProviderConfigParameter        string
	PipelineIdParameter            string
	ExperimentIdParameter          string
	RunScheduleIdParameter         string
	RunIdParameter                 string
	PipelineFileParameter          string
	OutputParameter                string
	EventsourceServerPortParameter string
}{
	PipelineDefinitionParameter:    "pipeline-definition",
	ExperimentDefinitionParameter:  "experiment-definition",
	RunDefinitionParameter:         "run-definition",
	RunScheduleDefinitionParameter: "runschedule-definition",
	ProviderConfigParameter:        "provider-config",
	PipelineIdParameter:            "pipeline-id",
	ExperimentIdParameter:          "experiment-id",
	RunIdParameter:                 "run-id",
	RunScheduleIdParameter:         "runschedule-id",
	PipelineFileParameter:          "pipeline-file",
	OutputParameter:                "out",
	EventsourceServerPortParameter: "port",
}
View Source
var RunConfigurationGVR = pipelinesv1.GroupVersion.WithResource("runconfigurations")
View Source
var RunGVR = pipelinesv1.GroupVersion.WithResource("runs")

Functions

func CreateK8sClient

func CreateK8sClient() (dynamic.Interface, error)

func LoadJsonFromFile

func LoadJsonFromFile[T any](fileName string) (T, error)

func LoadYamlFromFile

func LoadYamlFromFile[T any](fileName string) (T, error)

Types

type CronSchedule

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

func ParseCron

func ParseCron(schedule string) (CronSchedule, error)

func (CronSchedule) PrintGo

func (cs CronSchedule) PrintGo() string

func (CronSchedule) PrintStandard

func (cs CronSchedule) PrintStandard() string

type ExperimentDefinition

type ExperimentDefinition struct {
	Name        string `yaml:"name"`
	Version     string `yaml:"version"`
	Description string `yaml:"description"`
}

type K8sApi

type K8sApi struct {
	K8sClient dynamic.Interface
}

func (K8sApi) GetRunArtifactDefinitions

func (k8a K8sApi) GetRunArtifactDefinitions(ctx context.Context, namespacedName types.NamespacedName, gvr schema.GroupVersionResource) ([]pipelinesv1.OutputArtifact, error)

type Output

type Output struct {
	Id            string `yaml:"id"`
	ProviderError string `yaml:"providerError"`
}

type PipelineDefinition

type PipelineDefinition struct {
	Name          string            `yaml:"name"`
	Version       string            `yaml:"version"`
	Image         string            `yaml:"image"`
	TfxComponents string            `yaml:"tfxComponents"`
	Env           []apis.NamedValue `yaml:"env"`
	BeamArgs      []apis.NamedValue `yaml:"beamArgs"`
}

type Provider

type Provider[Config any] interface {
	CreatePipeline(ctx context.Context, providerConfig Config, pipelineDefinition PipelineDefinition, pipelineFile string) (string, error)
	UpdatePipeline(ctx context.Context, providerConfig Config, pipelineDefinition PipelineDefinition, id string, pipelineFile string) (string, error)
	DeletePipeline(ctx context.Context, providerConfig Config, id string) error

	CreateRun(ctx context.Context, providerConfig Config, runConfigurationDefinition RunDefinition) (string, error)
	DeleteRun(ctx context.Context, providerConfig Config, id string) error

	CreateRunSchedule(ctx context.Context, providerConfig Config, runScheduleDefinition RunScheduleDefinition) (string, error)
	UpdateRunSchedule(ctx context.Context, providerConfig Config, runScheduleDefinition RunScheduleDefinition, id string) (string, error)
	DeleteRunSchedule(ctx context.Context, providerConfig Config, id string) error

	CreateExperiment(ctx context.Context, providerConfig Config, experimentDefinition ExperimentDefinition) (string, error)
	UpdateExperiment(ctx context.Context, providerConfig Config, experimentDefinition ExperimentDefinition, id string) (string, error)
	DeleteExperiment(ctx context.Context, providerConfig Config, id string) error

	EventingServer(ctx context.Context, providerConfig Config) (generic.EventingServer, error)
}

type ProviderApp

type ProviderApp[Config any] struct {
	Context context.Context
}

func NewProviderApp

func NewProviderApp[Config any]() ProviderApp[Config]

func (ProviderApp[Config]) LoadProviderConfig

func (_ ProviderApp[Config]) LoadProviderConfig(c *cli.Context) (Config, error)

func (ProviderApp[Config]) Run

func (providerApp ProviderApp[Config]) Run(provider Provider[Config], customCommands ...cli.Command)

type RunDefinition

type RunDefinition struct {
	Name                 common.NamespacedName      `yaml:"name"`
	Version              string                     `yaml:"version"`
	PipelineName         common.NamespacedName      `yaml:"pipelineName"`
	PipelineVersion      string                     `yaml:"pipelineVersion"`
	RunConfigurationName common.NamespacedName      `yaml:"runConfigurationName"`
	ExperimentName       string                     `yaml:"experimentName"`
	RuntimeParameters    map[string]string          `yaml:"runtimeParameters"`
	Artifacts            []pipelines.OutputArtifact `yaml:"artifacts,omitempty"`
}

type RunScheduleDefinition

type RunScheduleDefinition struct {
	Name                 string                     `yaml:"name"`
	Version              string                     `yaml:"version"`
	PipelineName         common.NamespacedName      `yaml:"pipelineName"`
	PipelineVersion      string                     `yaml:"pipelineVersion"`
	RunConfigurationName common.NamespacedName      `yaml:"runConfigurationName"`
	ExperimentName       string                     `yaml:"experimentName"`
	Schedule             string                     `yaml:"schedule"`
	RuntimeParameters    map[string]string          `yaml:"runtimeParameters"`
	Artifacts            []pipelines.OutputArtifact `yaml:"artifacts,omitempty"`
}

Jump to

Keyboard shortcuts

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