v1alpha1

package
v0.0.0-...-cd0bd1e Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the st4sd v1alpha1 API group +kubebuilder:object:generate=true +groupName=st4sd.ibm.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "st4sd.ibm.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Unescape

func Unescape(text string) string

Unescapes a path Replaces \: with : and \\ with \

Types

type ConsumableComputingConfig

type ConsumableComputingConfig struct {
	Image                   string   `json:"image,omitempty"`
	GitSecret               string   `json:"gitsecret,omitempty"`
	GitSecretOAuth          string   `json:"gitsecret-oauth,omitempty"`
	WorkingVolume           string   `json:"workingVolume,omitempty"`
	InputDataDir            string   `json:"inputdatadir,omitempty"`
	S3FetchFilesImage       string   `json:"s3-fetch-files-image,omitempty"`
	GitSyncImage            string   `json:"git-sync-image,omitempty"`
	WorkflowMonitoringImage string   `json:"workflow-monitoring-image,omitempty"`
	ImagePullSecrets        []string `json:"imagePullSecrets,omitempty"`
}

ConsumableComputingConfig describes the contents of the `config.json` data entry of the consumable-computing-config ConfigMap +k8s:openapi-gen=false

func (*ConsumableComputingConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsumableComputingConfig.

func (*ConsumableComputingConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DatashimS3BucketInfo

type DatashimS3BucketInfo struct {
	Dataset      string `json:"dataset,omitempty"`
	S3BucketInfo `json:"bucketInfo,omitempty"`
}

func (*DatashimS3BucketInfo) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatashimS3BucketInfo.

func (*DatashimS3BucketInfo) DeepCopyInto

func (in *DatashimS3BucketInfo) DeepCopyInto(out *DatashimS3BucketInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultWorkflowOptions

type DefaultWorkflowOptions struct {
	GitSyncImage            string   `json:"gitSyncImage,omitempty"`
	WorkflowMonitoringImage string   `json:"workflowMonitoringImage,omitempty"`
	S3FetchFilesImage       string   `json:"s3FetchFilesImage,omitempty"`
	FlowImage               string   `json:"flowImage,omitempty"`
	ImagePullSecrets        []string `json:"imagePullSecrets,omitempty"`
	WorkingVolume           string   `json:"workingVolume,omitempty"`
	GitSecret               string   `json:"gitSecret,omitempty"`
	GitSecretOAuth          string   `json:"gitSecretOAuth,omitempty"`
}

DefaultWorkflowOptions holds default options to automatically generate parts of the workflow definition +k8s:openapi-gen=false

func (*DefaultWorkflowOptions) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultWorkflowOptions.

func (*DefaultWorkflowOptions) DeepCopyInto

func (in *DefaultWorkflowOptions) DeepCopyInto(out *DefaultWorkflowOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Gitrepo

type Gitrepo struct {
	URL           string        `json:"url,omitempty"`
	Branch        string        `json:"branch,omitempty"`
	CommitId      string        `json:"commitId,omitempty"`
	Mount         string        `json:"mount,omitempty"`
	Gitsecret     string        `json:"gitsecret,omitempty"`
	FromConfigMap string        `json:"fromConfigMap,omitempty"`
	FromPath      string        `json:"fromPath,omitempty"`
	WithManifest  string        `json:"withManifest,omitempty"`
	S3            *S3BucketInfo `json:"s3,omitempty"`
}

+k8s:openapi-gen=true

func (*Gitrepo) DeepCopy

func (in *Gitrepo) DeepCopy() *Gitrepo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gitrepo.

func (*Gitrepo) DeepCopyInto

func (in *Gitrepo) DeepCopyInto(out *Gitrepo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Resourcedefinition

type Resourcedefinition struct {
	Cpu    string `json:"cpu,omitempty"`
	Memory string `json:"memory,omitempty"`
}

+k8s:openapi-gen=true

func (*Resourcedefinition) DeepCopy

func (in *Resourcedefinition) DeepCopy() *Resourcedefinition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resourcedefinition.

func (*Resourcedefinition) DeepCopyInto

func (in *Resourcedefinition) DeepCopyInto(out *Resourcedefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Resourcespec

type Resourcespec struct {
	// Resource request for workflow orchestrator container
	// +optional
	ElaunchPrimary *Resourcedefinition `json:"elaunchPrimary,omitempty"`

	// Resource request for workflow monitoring side-container
	// +optional
	Monitor *Resourcedefinition `json:"monitor,omitempty"`

	// Resource request for git-clone init-container (deprecated)
	// +optional
	GitFetch *Resourcedefinition `json:"gitFetch,omitempty"`
}

Defines Resource requests for containers in the primary pod of a workflow +k8s:openapi-gen=true

func (*Resourcespec) DeepCopy

func (in *Resourcespec) DeepCopy() *Resourcespec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resourcespec.

func (*Resourcespec) DeepCopyInto

func (in *Resourcespec) DeepCopyInto(out *Resourcespec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3BucketInfo

type S3BucketInfo struct {
	AccessKeyID     S3InputVariable `json:"accessKeyID,omitempty"`
	SecretAccessKey S3InputVariable `json:"secretAccessKey,omitempty"`
	Endpoint        S3InputVariable `json:"endpoint,omitempty"`
	Bucket          S3InputVariable `json:"bucket,omitempty"`
	Region          S3InputVariable `json:"region,omitempty"`
}

func (*S3BucketInfo) DeepCopy

func (in *S3BucketInfo) DeepCopy() *S3BucketInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3BucketInfo.

func (*S3BucketInfo) DeepCopyInto

func (in *S3BucketInfo) DeepCopyInto(out *S3BucketInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3InputVariable

type S3InputVariable struct {
	// Variable references $(VAR_NAME) are expanded
	// using the previous defined environment variables in the container and
	// any service environment variables. If a variable cannot be resolved,
	// the reference in the input string will be unchanged. The $(VAR_NAME)
	// syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
	// references will never be expanded, regardless of whether the variable
	// exists or not.
	// Defaults to "".
	// +optional
	Value string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"`
	// Source for the environment variable's value. Cannot be used if value is not empty.
	// +optional
	ValueFrom *v1.EnvVarSource `json:"valueFrom,omitempty" protobuf:"bytes,3,opt,name=valueFrom"`
}

+k8s:openapi-gen=true

func (*S3InputVariable) DeepCopy

func (in *S3InputVariable) DeepCopy() *S3InputVariable

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3InputVariable.

func (*S3InputVariable) DeepCopyInto

func (in *S3InputVariable) DeepCopyInto(out *S3InputVariable)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourcePathToTargetFileName

type SourcePathToTargetFileName struct {
	SourcePath string
	TargetName *string
}

func SplitPathToSourcePathAndTargetName

func SplitPathToSourcePathAndTargetName(path string) SourcePathToTargetFileName

SplitPathToSourcePathAndTargetName splits its operand to 2 strings (second can be nil) The format of @path is $sourcePath[:$targetName] where the character ':' is escaped as the string "\:". If there is no $targetName then ret.TargetName is nil

func (*SourcePathToTargetFileName) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourcePathToTargetFileName.

func (*SourcePathToTargetFileName) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Workflow

type Workflow struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   WorkflowSpec   `json:"spec,omitempty"`
	Status WorkflowStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=workflows,shortName=wf +kubebuilder:printcolumn:name="age",type="string",JSONPath=".metadata.creationTimestamp",description="Age of the workflow instance" +kubebuilder:printcolumn:name="status",type="string",JSONPath=".status.experimentstate",description="Status of the workflow instance" Workflow is the Schema for the workflows API

func (*Workflow) DeepCopy

func (in *Workflow) DeepCopy() *Workflow

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workflow.

func (*Workflow) DeepCopyInto

func (in *Workflow) DeepCopyInto(out *Workflow)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Workflow) DeepCopyObject

func (in *Workflow) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WorkflowList

type WorkflowList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Workflow `json:"items"`
}

+kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced WorkflowList contains a list of Workflow

func (*WorkflowList) DeepCopy

func (in *WorkflowList) DeepCopy() *WorkflowList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowList.

func (*WorkflowList) DeepCopyInto

func (in *WorkflowList) DeepCopyInto(out *WorkflowList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkflowList) DeepCopyObject

func (in *WorkflowList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WorkflowSpec

type WorkflowSpec struct {
	// Image of workflow scheduler, leave blank to fill in with default option
	Image string `json:"image,omitempty"`

	// List of names of secret objects that the pods of workflow components can use
	// as imagePullSecrets
	// + optional
	ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`
	// Package and Instance are mutually exclusive
	Package  *Gitrepo `json:"package,omitempty"`
	Instance string   `json:"instance,omitempty"`

	Debug bool `json:"debug,omitempty"`

	//if empty elaunch.py
	Command string `json:"command,omitempty"`

	// List of volumes that primary and minion pods will use
	// +optional
	Volumes []v1.Volume `json:"volumes,omitempty"`

	// List of volumemounts that primary and minion pods will use
	// +optional
	VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"`

	// Volume to host the workflow instance directory, leave blank to fill in with
	// default PersistentVolumeClaim
	WorkingVolume v1.Volume `json:"workingVolume,omitempty"`

	// Volume to mount under /tmp/inputdir (deprecated, will be automatically translated
	// to entries of Volumes and VolumeMounts)
	// +optional
	InputDataVolume *v1.Volume `json:"inputDataVolume,omitempty"`
	// Absolute paths to input files, files can reside in volumes
	// +optional
	Inputs []string `json:"inputs,omitempty"`

	// Absolute paths to variable files (currently support just 1 file). Variable file can reside in a volume.
	// +optional
	Variables []string `json:"variables,omitempty"`
	// Absolute paths to data files, files can reside in volumes. Identically named files are expected to already exist in the workflow package definition
	// +optional
	Data []string `json:"data,omitempty"`

	// Additional command-line arguments to orchestrator (e.g. ["--platform=openshift", "--log-level=15", "--discovererMonitorDir=/tmp/workdir/pod-reporter/update-files"]
	// +optional
	AdditionalOptions []string `json:"additionalOptions,omitempty"`

	// CPU and Memory resources for the 3 containers in the primary pod
	Resources *Resourcespec `json:"resources,omitempty"`

	// Environment variables to insert to all containers in primary pod
	// +optional
	Env []v1.EnvVar `json:"env,omitempty"`

	// Information for fetching inputs from a S3 bucket
	S3BucketInput     *DatashimS3BucketInfo `json:"s3BucketInput,omitempty"`
	S3FetchFilesImage string                `json:"s3FetchFilesImage,omitempty"`
}

WorkflowSpec defines the desired state of Workflow

func (*WorkflowSpec) DeepCopy

func (in *WorkflowSpec) DeepCopy() *WorkflowSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSpec.

func (*WorkflowSpec) DeepCopyInto

func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowStatus

type WorkflowStatus struct {
	Cost             string `json:"cost,omitempty"`
	Currentstage     string `json:"currentstage,omitempty"`
	Exitstatus       string `json:"exitstatus,omitempty"`
	Experimentstate  string `json:"experimentstate,omitempty"`
	Stageprogress    string `json:"stageprogress,omitempty"`
	Stagestate       string `json:"stagestate,omitempty"`
	Errordescription string `json:"errordescription,omitempty"`
	// +optional
	Stages        []string `json:"stages,omitempty"`
	Totalprogress string   `json:"totalprogress,omitempty"`
	Updated       string   `json:"updated,omitempty"`

	Outputfiles map[string]map[string]string `json:"outputfiles,omitempty"`
	Meta        string                       `json:"meta,omitempty"`
}

WorkflowStatus defines the observed state of Workflow +k8s:openapi-gen=true

func (*WorkflowStatus) DeepCopy

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus.

func (*WorkflowStatus) DeepCopyInto

func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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