v1

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: May 7, 2020 License: Apache-2.0 Imports: 49 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeWorkflowTemplate        string = "workflow_template"
	TypeWorkflowTemplateVersion string = "workflow_template_version"
	TypeWorkflowExecution       string = "workflow_execution"
	TypeCronWorkflow            string = "cron_workflow"
)

Variables

This section is empty.

Functions

func CronWorkflowsToIds

func CronWorkflowsToIds(resources []*CronWorkflow) (ids []uint64)

func FilePathToExtension

func FilePathToExtension(path string) string

func FilePathToName

func FilePathToName(path string) string

func FilePathToParentPath

func FilePathToParentPath(path string) string

Given a path, returns the parent path, asssuming a '/' delimitor Result does not have a trailing slash. -> a/b/c/d would return a/b/c -> a/b/c/d/ would return a/b/c If path is empty string, it is returned. If path is '/' (root) it is returned as is. If there is no '/', '/' is returned.

func GetBearerToken

func GetBearerToken(namespace string) (string, error)

func GetResourceIdBuilder

func GetResourceIdBuilder(resource, uid string) (*sq.SelectBuilder, error)

func LabelsToMapping

func LabelsToMapping(labels ...*Label) map[string]string

func TypeToTableName

func TypeToTableName(value string) string

func UnmarshalWorkflows

func UnmarshalWorkflows(wfBytes []byte, strict bool) (wfs []wfv1.Workflow, err error)

func WorkflowTemplateVersionsToIds

func WorkflowTemplateVersionsToIds(resources []*WorkflowTemplateVersion) (ids []uint64)

func WorkflowTemplatesToIds

func WorkflowTemplatesToIds(workflowTemplates []*WorkflowTemplate) (ids []uint64)

func WorkflowTemplatesToVersionIds

func WorkflowTemplatesToVersionIds(workflowTemplates []*WorkflowTemplate) (ids []uint64)

Types

type Arguments

type Arguments struct {
	Parameters []Parameter `json:"parameters" protobuf:"bytes,1,opt,name=parameters"`
}

type ArtifactRepositoryS3Config

type ArtifactRepositoryS3Config struct {
	S3 struct {
		Bucket          string
		Endpoint        string
		Insecure        string
		Region          string
		AccessKeySecret struct {
			Name string
			Key  string
		}
		SecretKeySecret struct {
			Name string
			Key  string
		}
		Key string
	}
}

type Client

type Client struct {
	kubernetes.Interface

	*DB
	// contains filtered or unexported fields
}

func NewClient

func NewClient(config *Config, db *sqlx.DB) (client *Client, err error)

func (*Client) AddLabels

func (c *Client) AddLabels(namespace, resource, uid string, keyValues map[string]string) error

func (*Client) AddSecretKeyValue

func (c *Client) AddSecretKeyValue(namespace string, secret *Secret) (inserted bool, err error)

func (*Client) ArchiveWorkflowTemplate

func (c *Client) ArchiveWorkflowTemplate(namespace, uid string) (archived bool, err error)

func (*Client) ArgoprojV1alpha1

func (c *Client) ArgoprojV1alpha1() argoprojv1alpha1.ArgoprojV1alpha1Interface

func (*Client) CloneWorkflowExecution

func (c *Client) CloneWorkflowExecution(namespace, name string) (*WorkflowExecution, error)

func (*Client) CountCronWorkflows

func (c *Client) CountCronWorkflows(namespace, workflowTemplateUID string) (count int, err error)

func (*Client) CountWorkflowExecutions

func (c *Client) CountWorkflowExecutions(namespace, workflowTemplateUID, workflowTemplateVersion string) (count int, err error)

func (*Client) CountWorkflowTemplates

func (c *Client) CountWorkflowTemplates(namespace string) (count int, err error)

func (*Client) CountWorkspaceTemplates

func (c *Client) CountWorkspaceTemplates(namespace string) (count int, err error)

func (*Client) CreateConfigMap

func (c *Client) CreateConfigMap(namespace string, configMap *ConfigMap) (err error)

func (*Client) CreateCronWorkflow

func (c *Client) CreateCronWorkflow(namespace string, cronWorkflow *CronWorkflow) (*CronWorkflow, error)

func (*Client) CreateNamespace

func (c *Client) CreateNamespace(name string) (namespace *Namespace, err error)

func (*Client) CreateSecret

func (c *Client) CreateSecret(namespace string, secret *Secret) (err error)

func (*Client) CreateWorkflowExecution

func (c *Client) CreateWorkflowExecution(namespace string, workflow *WorkflowExecution) (*WorkflowExecution, error)

func (*Client) CreateWorkflowTemplate

func (c *Client) CreateWorkflowTemplate(namespace string, workflowTemplate *WorkflowTemplate) (*WorkflowTemplate, error)

func (*Client) CreateWorkflowTemplateVersion

func (c *Client) CreateWorkflowTemplateVersion(namespace string, workflowTemplate *WorkflowTemplate) (*WorkflowTemplate, error)

func (*Client) CreateWorkspace

func (c *Client) CreateWorkspace(namespace string, workspace *Workspace) (*Workspace, error)

CreateWorkspace creates a workspace by triggering the corresponding workflow

func (*Client) CreateWorkspaceTemplate

func (c *Client) CreateWorkspaceTemplate(namespace string, workspaceTemplate *WorkspaceTemplate) (*WorkspaceTemplate, error)

CreateWorkspaceTemplate creates a template for Workspaces

func (*Client) CronStartWorkflowExecutionStatisticInsert

func (c *Client) CronStartWorkflowExecutionStatisticInsert(namespace, name string, workflowTemplateID int64) (err error)

func (*Client) DeleteCronWorkflowLabel

func (c *Client) DeleteCronWorkflowLabel(namespace, name string, keysToDelete ...string) (labels map[string]string, err error)

func (*Client) DeleteLabels

func (c *Client) DeleteLabels(namespace, resource, uid string, keyValues map[string]string) error

func (*Client) DeleteSecret

func (c *Client) DeleteSecret(namespace string, name string) (deleted bool, err error)

func (*Client) DeleteSecretKey

func (c *Client) DeleteSecretKey(namespace string, secret *Secret) (deleted bool, err error)

func (*Client) DeleteWorkflowExecutionLabel

func (c *Client) DeleteWorkflowExecutionLabel(namespace, name string, keysToDelete ...string) (labels map[string]string, err error)

func (*Client) DeleteWorkflowTemplateLabel

func (c *Client) DeleteWorkflowTemplateLabel(namespace, name string, keysToDelete ...string) (labels map[string]string, err error)

func (*Client) DeleteWorkspace

func (c *Client) DeleteWorkspace(namespace, uid string) (err error)

func (*Client) FinishWorkflowExecutionStatisticViaExitHandler

func (c *Client) FinishWorkflowExecutionStatisticViaExitHandler(namespace, name string, workflowTemplateID int64, phase wfv1.NodePhase, startedAt time.Time) (err error)

func (*Client) GenerateWorkspaceTemplateWorkflowTemplate

func (c *Client) GenerateWorkspaceTemplateWorkflowTemplate(workspaceTemplate *WorkspaceTemplate) (workflowTemplate *WorkflowTemplate, err error)

CreateWorkspaceTemplateWorkflowTemplate generates and returns a workflowTemplate for a given workspaceTemplate manifest

func (*Client) GetArtifact

func (c *Client) GetArtifact(namespace, name, key string) (data []byte, err error)

func (*Client) GetConfigMap

func (c *Client) GetConfigMap(namespace, name string) (configMap *ConfigMap, err error)

func (*Client) GetCronWorkflow

func (c *Client) GetCronWorkflow(namespace, name string) (cronWorkflow *CronWorkflow, err error)

func (*Client) GetCronWorkflowLabels

func (c *Client) GetCronWorkflowLabels(namespace, name, prefix string) (labels map[string]string, err error)

prefix is the label prefix. e.g. prefix/my-label-key: my-label-value

func (*Client) GetCronWorkflowStatisticsForTemplates

func (c *Client) GetCronWorkflowStatisticsForTemplates(workflowTemplates ...*WorkflowTemplate) (err error)

func (*Client) GetDbLabels

func (c *Client) GetDbLabels(resource string, ids ...uint64) (labels []*Label, err error)

func (*Client) GetDbLabelsMapped

func (c *Client) GetDbLabelsMapped(resource string, ids ...uint64) (result map[uint64]map[string]string, err error)

func (*Client) GetK8sLabelResource

func (c *Client) GetK8sLabelResource(namespace, resource, uid string) (source interface{}, result *v1.ObjectMeta, err error)

func (*Client) GetNamespaceConfig

func (c *Client) GetNamespaceConfig(namespace string) (config map[string]string, err error)

func (*Client) GetS3Client

func (c *Client) GetS3Client(namespace string, config map[string]string) (s3Client *s3.Client, err error)

func (*Client) GetSecret

func (c *Client) GetSecret(namespace, name string) (secret *Secret, err error)

func (*Client) GetSystemConfig

func (c *Client) GetSystemConfig() (config map[string]string, err error)

func (*Client) GetWorkflowExecution

func (c *Client) GetWorkflowExecution(namespace, name string) (workflow *WorkflowExecution, err error)

func (*Client) GetWorkflowExecutionLabels

func (c *Client) GetWorkflowExecutionLabels(namespace, name, prefix string) (labels map[string]string, err error)

prefix is the label prefix. e.g. prefix/my-label-key: my-label-value

func (*Client) GetWorkflowExecutionLogs

func (c *Client) GetWorkflowExecutionLogs(namespace, name, podName, containerName string) (<-chan *LogEntry, error)

func (*Client) GetWorkflowExecutionMetrics

func (c *Client) GetWorkflowExecutionMetrics(namespace, name, podName string) (metrics []*Metric, err error)

func (*Client) GetWorkflowExecutionStatisticsForTemplates

func (c *Client) GetWorkflowExecutionStatisticsForTemplates(workflowTemplates ...*WorkflowTemplate) (err error)

func (*Client) GetWorkflowTemplate

func (c *Client) GetWorkflowTemplate(namespace, uid string, version int64) (workflowTemplate *WorkflowTemplate, err error)

If version is 0, it returns the latest.

func (*Client) GetWorkflowTemplateByName

func (c *Client) GetWorkflowTemplateByName(namespace, name string, version int64) (workflowTemplate *WorkflowTemplate, err error)

func (*Client) GetWorkflowTemplateDb

func (c *Client) GetWorkflowTemplateDb(namespace, name string) (workflowTemplate *WorkflowTemplate, err error)

func (*Client) GetWorkflowTemplateLabels

func (c *Client) GetWorkflowTemplateLabels(namespace, name, prefix string, version int64) (labels map[string]string, err error)

prefix is the label prefix. e.g. prefix/my-label-key: my-label-value if version is 0, latest is used.

func (*Client) GetWorkflowTemplateVersionDb

func (c *Client) GetWorkflowTemplateVersionDb(namespace, name, version string) (workflowTemplateVersion *WorkflowTemplateVersion, err error)

"latest" will get you the latest version

func (*Client) GetWorkspace

func (c *Client) GetWorkspace(namespace, uid string) (workspace *Workspace, err error)

func (*Client) GetWorkspaceTemplate

func (c *Client) GetWorkspaceTemplate(namespace, uid string, version int64) (workspaceTemplate *WorkspaceTemplate, err error)

GetWorkspaceTemplate return a workspaceTemplate and its corresponding workflowTemplate

func (*Client) InsertLabelsBuilder

func (c *Client) InsertLabelsBuilder(resource string, resourceId uint64, keyValues map[string]string) sq.InsertBuilder

func (*Client) ListCronWorkflows

func (c *Client) ListCronWorkflows(namespace, workflowTemplateUID string, pagination *pagination.PaginationRequest) (cronWorkflows []*CronWorkflow, err error)

func (*Client) ListFiles

func (c *Client) ListFiles(namespace, key string) (files []*File, err error)

func (*Client) ListLabels

func (c *Client) ListLabels(resource string, uid string) (labels []*Label, err error)

func (*Client) ListNamespaces

func (c *Client) ListNamespaces() (namespaces []*Namespace, err error)

func (*Client) ListOnepanelEnabledNamespaces

func (c *Client) ListOnepanelEnabledNamespaces() (namespaces []*Namespace, err error)

func (*Client) ListSecrets

func (c *Client) ListSecrets(namespace string) (secrets []*Secret, err error)

func (*Client) ListWorkflowExecutions

func (c *Client) ListWorkflowExecutions(namespace, workflowTemplateUID, workflowTemplateVersion string, paginator *pagination.PaginationRequest) (workflows []*WorkflowExecution, err error)

func (*Client) ListWorkflowTemplateVersions

func (c *Client) ListWorkflowTemplateVersions(namespace, uid string) (workflowTemplateVersions []*WorkflowTemplate, err error)

func (*Client) ListWorkflowTemplates

func (c *Client) ListWorkflowTemplates(namespace string, paginator *pagination.PaginationRequest) (workflowTemplateVersions []*WorkflowTemplate, err error)

func (*Client) ListWorkspaceTemplateVersions

func (c *Client) ListWorkspaceTemplateVersions(namespace, uid string) (workspaceTemplates []*WorkspaceTemplate, err error)

func (*Client) ListWorkspaceTemplates

func (c *Client) ListWorkspaceTemplates(namespace string, paginator *pagination.PaginationRequest) (workspaceTemplates []*WorkspaceTemplate, err error)

func (*Client) ListWorkspaces

func (c *Client) ListWorkspaces(namespace string, paginator *pagination.PaginationRequest) (workspaces []*Workspace, err error)

func (*Client) PauseWorkspace

func (c *Client) PauseWorkspace(namespace, uid string) (err error)

func (*Client) ReplaceLabels

func (c *Client) ReplaceLabels(namespace, resource, uid string, keyValues map[string]string) error

func (*Client) ResubmitWorkflowExecution

func (c *Client) ResubmitWorkflowExecution(namespace, name string) (workflow *WorkflowExecution, err error)

func (*Client) ResumeWorkflowExecution

func (c *Client) ResumeWorkflowExecution(namespace, name string) (workflow *WorkflowExecution, err error)

func (*Client) RetryWorkflowExecution

func (c *Client) RetryWorkflowExecution(namespace, name string) (workflow *WorkflowExecution, err error)

func (*Client) SecretExists

func (c *Client) SecretExists(namespace string, name string) (exists bool, err error)

func (*Client) SetCronWorkflowLabels

func (c *Client) SetCronWorkflowLabels(namespace, name, prefix string, keyValues map[string]string, deleteOld bool) (workflowLabels map[string]string, err error)

prefix is the label prefix. we delete all labels with that prefix and set the new ones e.g. prefix/my-label-key: my-label-value

func (*Client) SetWorkflowExecutionLabels

func (c *Client) SetWorkflowExecutionLabels(namespace, name, prefix string, keyValues map[string]string, deleteOld bool) (workflowLabels map[string]string, err error)

prefix is the label prefix. we delete all labels with that prefix and set the new ones e.g. prefix/my-label-key: my-label-value

func (*Client) SetWorkflowTemplateLabels

func (c *Client) SetWorkflowTemplateLabels(namespace, name, prefix string, keyValues map[string]string, deleteOld bool) (workflowLabels map[string]string, err error)

prefix is the label prefix. we delete all labels with that prefix and set the new ones e.g. prefix/my-label-key: my-label-value

func (*Client) SuspendWorkflowExecution

func (c *Client) SuspendWorkflowExecution(namespace, name string) (err error)

func (*Client) TerminateCronWorkflow

func (c *Client) TerminateCronWorkflow(namespace, name string) (err error)

func (*Client) TerminateWorkflowExecution

func (c *Client) TerminateWorkflowExecution(namespace, name string) (err error)

func (*Client) UpdateCronWorkflow

func (c *Client) UpdateCronWorkflow(namespace string, name string, cronWorkflow *CronWorkflow) (*CronWorkflow, error)

func (*Client) UpdateK8sLabelResource

func (c *Client) UpdateK8sLabelResource(namespace, resource string, obj interface{}) error

func (*Client) UpdateSecretKeyValue

func (c *Client) UpdateSecretKeyValue(namespace string, secret *Secret) (updated bool, err error)

func (*Client) UpdateWorkspaceStatus

func (c *Client) UpdateWorkspaceStatus(namespace, uid string, status *WorkspaceStatus) (err error)

UpdateWorkspaceStatus updates workspace status and times based on phase

func (*Client) UpdateWorkspaceTemplate

func (c *Client) UpdateWorkspaceTemplate(namespace string, workspaceTemplate *WorkspaceTemplate) (*WorkspaceTemplate, error)

UpdateWorkspaceTemplate adds a new workspace template version

func (*Client) ValidateWorkflowExecution

func (c *Client) ValidateWorkflowExecution(namespace string, manifest []byte) (err error)

func (*Client) WatchWorkflowExecution

func (c *Client) WatchWorkflowExecution(namespace, name string) (<-chan *WorkflowExecution, error)

type Config

type Config = rest.Config

func NewConfig

func NewConfig() (config *Config)

type ConfigMap

type ConfigMap struct {
	Name string
	Data map[string]string
}

type CronWorkflow

type CronWorkflow struct {
	ID                        uint64
	CreatedAt                 time.Time  `db:"created_at"`
	ModifiedAt                *time.Time `db:"modified_at"`
	UID                       string
	Name                      string
	GenerateName              string
	WorkflowExecution         *WorkflowExecution
	Labels                    map[string]string
	Version                   int64
	WorkflowTemplateVersionId uint64 `db:"workflow_template_version_id"`
	Manifest                  string
}

func (*CronWorkflow) AddToManifestSpec

func (cw *CronWorkflow) AddToManifestSpec(key, manifest string) error

func (*CronWorkflow) GetParametersFromWorkflowSpec

func (cw *CronWorkflow) GetParametersFromWorkflowSpec() ([]Parameter, error)

func (*CronWorkflow) GetParametersFromWorkflowSpecJson

func (cw *CronWorkflow) GetParametersFromWorkflowSpecJson() ([]byte, error)

type CronWorkflowStatisticReport

type CronWorkflowStatisticReport struct {
	WorkflowTemplateId uint64 `db:"workflow_template_id"`
	Total              int32
}

type DB

type DB = sqlx.DB

type File

type File struct {
	Path         string
	Name         string
	Size         int64
	Extension    string
	ContentType  string
	LastModified time.Time
	Directory    bool
}

type Label

type Label struct {
	ID         uint64
	CreatedAt  time.Time `db:"created_at"`
	Key        string
	Value      string
	Resource   string
	ResourceId uint64 `db:"resource_id"`
}

type ListOptions

type ListOptions = metav1.ListOptions

type LogEntry

type LogEntry struct {
	Timestamp time.Time
	Content   string
}

type Metric

type Metric struct {
	Name   string
	Value  float64
	Format string `json:"omitempty"`
}

type Namespace

type Namespace struct {
	Name   string
	Labels map[string]string
}

type Parameter

type Parameter struct {
	Name        string             `json:"name" protobuf:"bytes,1,opt,name=name"`
	Value       *string            `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"`
	Type        string             `json:"type" protobuf:"bytes,3,opt,name=type"`
	DisplayName *string            `json:"displayName" protobuf:"bytes,4,opt,name=displayName"`
	Hint        *string            `json:"hint" protobuf:"bytes,5,opt,name=hint"`
	Options     []*ParameterOption `json:"options,omitempty" protobuf:"bytes,6,opt,name=options"`
	Required    bool               `json:"required,omitempty" protobuf:"bytes,7,opt,name=required"`
}

func ParameterFromMap

func ParameterFromMap(paramMap map[interface{}]interface{}) *Parameter

type ParameterOption

type ParameterOption struct {
	Name  string `json:"name" protobuf:"bytes,1,opt,name=name"`
	Value string `json:"value" protobuf:"bytes,2,opt,name=value"`
}

type PodGCStrategy

type PodGCStrategy = wfv1.PodGCStrategy

type Secret

type Secret struct {
	Name string
	Data map[string]string
}

type WorkflowExecution

type WorkflowExecution struct {
	ID               uint64
	CreatedAt        time.Time `db:"created_at"`
	UID              string
	Name             string
	GenerateName     string
	Parameters       []Parameter
	ParametersBytes  []byte `db:"parameters"` // to load from database
	Manifest         string
	Phase            wfv1.NodePhase
	StartedAt        *time.Time        `db:"started_at"`
	FinishedAt       *time.Time        `db:"finished_at"`
	WorkflowTemplate *WorkflowTemplate `db:"workflow_template"`
	Labels           map[string]string
}

func (*WorkflowExecution) LoadParametersFromBytes

func (we *WorkflowExecution) LoadParametersFromBytes() ([]Parameter, error)

type WorkflowExecutionOptions

type WorkflowExecutionOptions struct {
	Name           string
	GenerateName   string
	Entrypoint     string
	Parameters     []Parameter
	ServiceAccount string
	Labels         *map[string]string
	ListOptions    *ListOptions
	PodGCStrategy  *PodGCStrategy
}

type WorkflowExecutionStatistic

type WorkflowExecutionStatistic struct {
	ID                 uint64
	WorkflowTemplateId uint64
	Name               string
	Namespace          string
	//Interface to support null values for timestamps, when scanning from db into structs
	CreatedAt  *time.Time `db:"created_at"`
	FinishedAt *time.Time `db:"finished_at"`
	FailedAt   *time.Time `db:"failed_at"`
}

type WorkflowExecutionStatisticReport

type WorkflowExecutionStatisticReport struct {
	WorkflowTemplateId uint64 `db:"workflow_template_id"`
	Total              int32
	LastExecuted       time.Time `db:"last_executed"`
	Running            int32
	Completed          int32
	Failed             int32
}

type WorkflowTemplate

type WorkflowTemplate struct {
	ID                               uint64
	CreatedAt                        time.Time  `db:"created_at"`
	ModifiedAt                       *time.Time `db:"modified_at"`
	UID                              string
	Namespace                        string
	Name                             string
	Manifest                         string
	Version                          int64 // The latest version, unix timestamp
	Versions                         int64 `db:"versions"` // How many versions there are of this template total.
	IsLatest                         bool
	IsArchived                       bool `db:"is_archived"`
	ArgoWorkflowTemplate             *wfv1.WorkflowTemplate
	Labels                           map[string]string
	WorkflowExecutionStatisticReport *WorkflowExecutionStatisticReport
	CronWorkflowsStatisticsReport    *CronWorkflowStatisticReport
	WorkflowTemplateVersionId        uint64 `db:"workflow_template_version_id"` // Reference to the associated workflow template version.
}

func (*WorkflowTemplate) AddWorkflowTemplateParametersFromAnnotations

func (wt *WorkflowTemplate) AddWorkflowTemplateParametersFromAnnotations(spec mapping.Mapping)

func (*WorkflowTemplate) FormatManifest

func (wt *WorkflowTemplate) FormatManifest() (string, error)

func (*WorkflowTemplate) GenerateUID

func (wt *WorkflowTemplate) GenerateUID() (string, error)

func (*WorkflowTemplate) GetManifestBytes

func (wt *WorkflowTemplate) GetManifestBytes() []byte

func (*WorkflowTemplate) GetParametersKeyString

func (wt *WorkflowTemplate) GetParametersKeyString() (map[string]string, error)

func (*WorkflowTemplate) GetWorkflowManifestBytes

func (wt *WorkflowTemplate) GetWorkflowManifestBytes() ([]byte, error)

func (*WorkflowTemplate) UpdateManifestParameters

func (wt *WorkflowTemplate) UpdateManifestParameters(params []Parameter) error

func (*WorkflowTemplate) WrapSpec

func (wt *WorkflowTemplate) WrapSpec() ([]byte, error)

Take the manifest from the workflow template, which is just the "spec" contents and wrap it so we have

{
   metadata: {},
   spec: spec_data
}

the above wrapping is what is returned.

type WorkflowTemplateVersion

type WorkflowTemplateVersion struct {
	ID               uint64
	UID              string
	Version          int64
	IsLatest         bool `db:"is_latest"`
	Manifest         string
	CreatedAt        time.Time         `db:"created_at"`
	WorkflowTemplate *WorkflowTemplate `db:"workflow_template"`
	Labels           map[string]string
}

type Workspace

type Workspace struct {
	ID                       uint64
	Namespace                string
	UID                      string
	Name                     string `valid:"stringlength(3|63)~Name should be between 3 to 63 characters,dns,required"`
	Labels                   map[string]string
	Phase                    string
	Parameters               []Parameter
	ParametersBytes          []byte `db:"parameters"` // to load from database
	Status                   WorkspaceStatus
	CreatedAt                time.Time          `db:"created_at"`
	ModifiedAt               *time.Time         `db:"modified_at"`
	StartedAt                *time.Time         `db:"started_at"`
	PausedAt                 *time.Time         `db:"paused_at"`
	TerminatedAt             *time.Time         `db:"terminated_at"`
	WorkspaceTemplate        *WorkspaceTemplate `db:"workspace_template" valid:"-"`
	WorkspaceTemplateID      uint64             `db:"workspace_template_id"`
	WorkspaceTemplateVersion uint64             `db:"workspace_template_version"`
}

type WorkspacePhase

type WorkspacePhase string
const (
	WorkspaceStarted     WorkspacePhase = "Started"
	WorkspaceRunning     WorkspacePhase = "Running"
	WorkspacePausing     WorkspacePhase = "Pausing"
	WorkspacePaused      WorkspacePhase = "Paused"
	WorkspaceTerminating WorkspacePhase = "Terminating"
	WorkspaceTerminated  WorkspacePhase = "Terminated"
)

Workspace phases

type WorkspaceSpec

type WorkspaceSpec struct {
	Arguments             *Arguments                 `json:"arguments" protobuf:"bytes,1,opt,name=arguments"`
	Containers            []corev1.Container         `json:"containers" protobuf:"bytes,3,opt,name=containers"`
	Ports                 []corev1.ServicePort       `json:"ports" protobuf:"bytes,4,opt,name=ports"`
	Routes                []*networking.HTTPRoute    `json:"routes" protobuf:"bytes,5,opt,name=routes"`
	PostExecutionWorkflow *wfv1.WorkflowTemplateSpec `json:"postExecutionWorkflow" protobuf:"bytes,6,opt,name=postExecutionWorkflow"`
}

type WorkspaceStatus

type WorkspaceStatus struct {
	Phase        WorkspacePhase
	StartedAt    *time.Time `db:"started_at"`
	PausedAt     *time.Time `db:"paused_at"`
	TerminatedAt *time.Time `db:"terminated_at"`
}

type WorkspaceTemplate

type WorkspaceTemplate struct {
	ID               uint64
	UID              string
	Name             string `valid:"stringlength(3|63)~Name should be between 3 to 63 characters,required"`
	Version          int64
	Manifest         string
	IsLatest         bool
	CreatedAt        time.Time         `db:"created_at"`
	WorkflowTemplate *WorkflowTemplate `db:"workflow_template"`
}

func (*WorkspaceTemplate) GenerateUID

func (wt *WorkspaceTemplate) GenerateUID() (string, error)

Directories

Path Synopsis
env
ptr
s3

Jump to

Keyboard shortcuts

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