interfaces

package
v1.1.63 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2022 License: Apache-2.0 Imports: 11 Imported by: 30

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSConfig added in v0.3.38

type AWSConfig struct {
	Region string `json:"region"`
}

This section holds common config for AWS

type AWSSchedulerConfig added in v0.6.23

type AWSSchedulerConfig struct {
	// Some cloud providers require a region to be set.
	Region string `json:"region"`
	// The role assumed to register and activate schedules.
	ScheduleRole string `json:"scheduleRole"`
	// The name of the queue for which scheduled events should enqueue.
	TargetName string `json:"targetName"`
	// Optional: The application-wide prefix to be applied for schedule names.
	ScheduleNamePrefix string `json:"scheduleNamePrefix"`
}

func (*AWSSchedulerConfig) GetRegion added in v0.6.23

func (a *AWSSchedulerConfig) GetRegion() string

func (*AWSSchedulerConfig) GetScheduleNamePrefix added in v0.6.23

func (a *AWSSchedulerConfig) GetScheduleNamePrefix() string

func (*AWSSchedulerConfig) GetScheduleRole added in v0.6.23

func (a *AWSSchedulerConfig) GetScheduleRole() string

func (*AWSSchedulerConfig) GetTargetName added in v0.6.23

func (a *AWSSchedulerConfig) GetTargetName() string

type AWSWorkflowExecutorConfig added in v0.6.23

type AWSWorkflowExecutorConfig struct {
	// Some cloud providers require a region to be set.
	Region string `json:"region"`
	// The name of the queue onto which scheduled events will enqueue.
	ScheduleQueueName string `json:"scheduleQueueName"`
	// The account id (according to whichever cloud provider scheme is used) that has permission to read from the above
	// queue.
	AccountID string `json:"accountId"`
}

func (*AWSWorkflowExecutorConfig) GetAccountID added in v0.6.23

func (a *AWSWorkflowExecutorConfig) GetAccountID() string

func (*AWSWorkflowExecutorConfig) GetRegion added in v0.6.23

func (a *AWSWorkflowExecutorConfig) GetRegion() string

func (*AWSWorkflowExecutorConfig) GetScheduleScheduleQueueName added in v0.6.23

func (a *AWSWorkflowExecutorConfig) GetScheduleScheduleQueueName() string

type AdminRateLimit added in v0.6.23

type AdminRateLimit struct {
	Tps   rate.Limit `json:"tps"`
	Burst int        `json:"burst"`
}

func (*AdminRateLimit) GetBurst added in v0.6.23

func (f *AdminRateLimit) GetBurst() int

func (*AdminRateLimit) GetTps added in v0.6.23

func (f *AdminRateLimit) GetTps() rate.Limit

type ApplicationConfig

type ApplicationConfig struct {
	// The RoleName key inserted as an annotation (https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/)
	// in Flyte Workflow CRDs created in the CreateExecution flow. The corresponding role value is defined in the
	// launch plan that is used to create the execution.
	RoleNameKey string `json:"roleNameKey"`
	// Top-level name applied to all metrics emitted by the application.
	MetricsScope string `json:"metricsScope"`
	// Metrics labels applied to prometheus metrics emitted by the service
	MetricKeys []string `json:"metricsKeys"`
	// Determines which port the profiling server used for admin monitoring and application debugging uses.
	ProfilerPort int `json:"profilerPort"`
	// This defines the nested path on the configured external storage provider where workflow closures are remotely
	// offloaded.
	MetadataStoragePrefix []string `json:"metadataStoragePrefix"`
	// Event version to be used for Flyte workflows
	EventVersion int `json:"eventVersion"`
	// Specifies the shared buffer size which is used to queue asynchronous event writes.
	AsyncEventsBufferSize int `json:"asyncEventsBufferSize"`
	// Controls the maximum number of task nodes that can be run in parallel for the entire workflow.
	// This is useful to achieve fairness. Note: MapTasks are regarded as one unit,
	// and parallelism/concurrency of MapTasks is independent from this.
	MaxParallelism int32 `json:"maxParallelism"`
	// Labels to apply to the execution resource.
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations to apply to the execution resource.
	Annotations map[string]string `json:"annotations,omitempty"`
	// Interruptible indicates whether all tasks should be run as interruptible by default (unless specified otherwise via the execution/workflow/task definition)
	Interruptible bool `json:"interruptible"`
	// OverwriteCache indicates all workflows and tasks should skip all their cached results and re-compute their outputs,
	// overwriting any already stored data.
	// Note that setting this setting to `true` effectively disabled all caching in Flyte as all executions launched
	// will have their OverwriteCache setting enabled.
	OverwriteCache bool `json:"overwriteCache"`

	// Optional: security context override to apply this execution.
	// iam_role references the fully qualified name of Identity & Access Management role to impersonate.
	AssumableIamRole string `json:"assumableIamRole"`
	// k8s_service_account references a kubernetes service account to impersonate.
	K8SServiceAccount string `json:"k8sServiceAccount"`

	// Prefix for where offloaded data from user workflows will be written
	OutputLocationPrefix string `json:"outputLocationPrefix"`

	// Enabling will use Storage (s3/gcs/etc) to offload static parts of CRDs.
	UseOffloadedWorkflowClosure bool `json:"useOffloadedWorkflowClosure"`
}

ApplicationConfig is the base configuration to start admin

func (*ApplicationConfig) GetAnnotations added in v0.6.119

func (a *ApplicationConfig) GetAnnotations() *admin.Annotations

func (*ApplicationConfig) GetAsWorkflowExecutionConfig added in v1.1.46

func (a *ApplicationConfig) GetAsWorkflowExecutionConfig() admin.WorkflowExecutionConfig

GetAsWorkflowExecutionConfig returns the WorkflowExecutionConfig as extracted from this object

func (*ApplicationConfig) GetAsyncEventsBufferSize added in v0.6.34

func (a *ApplicationConfig) GetAsyncEventsBufferSize() int

func (*ApplicationConfig) GetEventVersion added in v0.6.34

func (a *ApplicationConfig) GetEventVersion() int

func (*ApplicationConfig) GetInterruptible added in v1.1.0

func (a *ApplicationConfig) GetInterruptible() *wrappers.BoolValue

func (*ApplicationConfig) GetLabels added in v0.6.119

func (a *ApplicationConfig) GetLabels() *admin.Labels

func (*ApplicationConfig) GetMaxParallelism added in v0.6.34

func (a *ApplicationConfig) GetMaxParallelism() int32

func (*ApplicationConfig) GetMetadataStoragePrefix added in v0.6.34

func (a *ApplicationConfig) GetMetadataStoragePrefix() []string

func (*ApplicationConfig) GetMetricsScope added in v0.6.34

func (a *ApplicationConfig) GetMetricsScope() string

func (*ApplicationConfig) GetOverwriteCache added in v1.1.54

func (a *ApplicationConfig) GetOverwriteCache() bool

func (*ApplicationConfig) GetProfilerPort added in v0.6.34

func (a *ApplicationConfig) GetProfilerPort() int

func (*ApplicationConfig) GetRawOutputDataConfig added in v0.6.119

func (a *ApplicationConfig) GetRawOutputDataConfig() *admin.RawOutputDataConfig

func (*ApplicationConfig) GetRoleNameKey added in v0.6.34

func (a *ApplicationConfig) GetRoleNameKey() string

func (*ApplicationConfig) GetSecurityContext added in v0.6.119

func (a *ApplicationConfig) GetSecurityContext() *core.SecurityContext

type ApplicationConfiguration

type ApplicationConfiguration interface {
	GetDbConfig() *database.DbConfig
	GetTopLevelConfig() *ApplicationConfig
	GetSchedulerConfig() *SchedulerConfig
	GetRemoteDataConfig() *RemoteDataConfig
	GetNotificationsConfig() *NotificationsConfig
	GetDomainsConfig() *DomainsConfig
	GetExternalEventsConfig() *ExternalEventsConfig
	GetCloudEventsConfig() *CloudEventsConfig
}

Defines the interface to return top-level config structs necessary to start up a flyteadmin application.

type Auth

type Auth struct {
	Type      string `json:"type"`
	TokenPath string `json:"tokenPath"`
	CertPath  string `json:"certPath"`
}

func (Auth) GetCA

func (auth Auth) GetCA() ([]byte, error)

func (Auth) GetToken

func (auth Auth) GetToken() (string, error)

type CloudEventsConfig added in v0.6.135

type CloudEventsConfig struct {
	Enable bool `json:"enable"`
	// Defines the cloud provider that backs the scheduler. In the absence of a specification the no-op, 'local'
	// scheme is used.
	Type        string      `json:"type"`
	AWSConfig   AWSConfig   `json:"aws"`
	GCPConfig   GCPConfig   `json:"gcp"`
	KafkaConfig KafkaConfig `json:"kafka"`
	// Publish events to a pubsub tops
	EventsPublisherConfig EventsPublisherConfig `json:"eventsPublisher"`
	// Number of times to attempt recreating a notifications processor client should there be any disruptions.
	ReconnectAttempts int `json:"reconnectAttempts"`
	// Specifies the time interval to wait before attempting to reconnect the notifications processor client.
	ReconnectDelaySeconds int `json:"reconnectDelaySeconds"`
}

type ClusterConfig

type ClusterConfig struct {
	Name     string `json:"name"`
	Endpoint string `json:"endpoint"`
	Auth     Auth   `json:"auth"`
	Enabled  bool   `json:"enabled"`
}

Holds details about a cluster used for workflow execution.

type ClusterConfiguration

type ClusterConfiguration interface {
	// Returns clusters defined in runtime configuration files.
	GetClusterConfigs() []ClusterConfig

	// Returns label cluster map for routing
	GetLabelClusterMap() map[string][]ClusterEntity

	// Returns default execution label used as fallback if no execution cluster was explicitly defined.
	GetDefaultExecutionLabel() string
}

Provides values set in runtime configuration files. These files can be changed without requiring a full server restart.

type ClusterEntity added in v0.3.38

type ClusterEntity struct {
	ID     string  `json:"id"`
	Weight float32 `json:"weight"`
}

type ClusterResourceConfig

type ClusterResourceConfig struct {
	TemplatePath string `json:"templatePath"`
	// TemplateData maps template keys e.g. my_super_secret_password to a data source
	// which is then substituted in cluster resource templated config files wherever
	// {{ my_super_secret_password }} appears.
	TemplateData    TemplateData    `json:"templateData"`
	RefreshInterval config.Duration `json:"refreshInterval"`
	// Like TemplateData above, this also specifies template values as defaults to be substituted for specific domains
	// or for all domains.
	// For example:
	/*
		defaultData:
		  production:
		    foo:
		      value: "bar"
		    foofoo:
		      valueFrom:
		        env: SHELL
		  staging:
		    foo:
		      value: "baz"
	*/
	CustomData           map[DomainName]TemplateData `json:"customData"`
	StandaloneDeployment bool                        `` /* 154-byte string literal not displayed */
}

type ClusterResourceConfiguration

type ClusterResourceConfiguration interface {
	GetTemplatePath() string
	GetTemplateData() map[string]DataSource
	GetRefreshInterval() time.Duration
	GetCustomTemplateData() map[DomainName]TemplateData
	IsStandaloneDeployment() bool
}

type Clusters

type Clusters struct {
	ClusterConfigs        []ClusterConfig            `json:"clusterConfigs"`
	LabelClusterMap       map[string][]ClusterEntity `json:"labelClusterMap"`
	DefaultExecutionLabel string                     `json:"defaultExecutionLabel"`
}

type Configuration

type Configuration interface {
	ApplicationConfiguration() ApplicationConfiguration
	QueueConfiguration() QueueConfiguration
	ClusterConfiguration() ClusterConfiguration
	TaskResourceConfiguration() TaskResourceConfiguration
	WhitelistConfiguration() WhitelistConfiguration
	RegistrationValidationConfiguration() RegistrationValidationConfiguration
	ClusterResourceConfiguration() ClusterResourceConfiguration
	NamespaceMappingConfiguration() NamespaceMappingConfiguration
	QualityOfServiceConfiguration() QualityOfServiceConfiguration
}

Interface for getting parsed values from a configuration file

type DataSource

type DataSource struct {
	Value     string              `json:"value"`
	ValueFrom DataSourceValueFrom `json:"valueFrom"`
}

type DataSourceValueFrom

type DataSourceValueFrom struct {
	EnvVar   string `json:"env"`
	FilePath string `json:"filePath"`
}

type DbConfig

type DbConfig struct {
	DeprecatedHost         string `json:"host" pflag:",deprecated"`
	DeprecatedPort         int    `json:"port" pflag:",deprecated"`
	DeprecatedDbName       string `json:"dbname" pflag:",deprecated"`
	DeprecatedUser         string `json:"username" pflag:",deprecated"`
	DeprecatedPassword     string `json:"password" pflag:",deprecated"`
	DeprecatedPasswordPath string `json:"passwordPath" pflag:",deprecated"`
	DeprecatedExtraOptions string `json:"options" pflag:",deprecated"`
	DeprecatedDebug        bool   `json:"debug" pflag:",deprecated"`

	EnableForeignKeyConstraintWhenMigrating bool            `json:"enableForeignKeyConstraintWhenMigrating" pflag:",Whether to enable gorm foreign keys when migrating the db"`
	MaxIdleConnections                      int             `json:"maxIdleConnections" pflag:",maxIdleConnections sets the maximum number of connections in the idle connection pool."`
	MaxOpenConnections                      int             `json:"maxOpenConnections" pflag:",maxOpenConnections sets the maximum number of open connections to the database."`
	ConnMaxLifeTime                         config.Duration `json:"connMaxLifeTime" pflag:",sets the maximum amount of time a connection may be reused"`
	PostgresConfig                          *PostgresConfig `json:"postgres,omitempty"`
	SQLiteConfig                            *SQLiteConfig   `json:"sqlite,omitempty"`
}

DbConfig is used to for initiating the database connection with the store that holds registered entities (e.g. workflows, tasks, launch plans...)

type Domain

type Domain struct {
	// Unique identifier for a domain.
	ID string `json:"id"`
	// Human readable name for a domain.
	Name string `json:"name"`
}

Domains are always globally set in the application config, whereas individual projects can be individually registered.

type DomainName added in v0.1.4

type DomainName = string

type DomainsConfig

type DomainsConfig = []Domain

type EmailServerConfig added in v0.5.11

type EmailServerConfig struct {
	ServiceName string `json:"serviceName"`
	// Only one of these should be set.
	APIKeyEnvVar   string `json:"apiKeyEnvVar"`
	APIKeyFilePath string `json:"apiKeyFilePath"`
}

type EventSchedulerConfig

type EventSchedulerConfig struct {
	// Defines the cloud provider that backs the scheduler. In the absence of a specification the no-op, 'local'
	// scheme is used.
	Scheme string `json:"scheme"`

	// Deprecated : Some cloud providers require a region to be set.
	Region string `json:"region"`
	// Deprecated : The role assumed to register and activate schedules.
	ScheduleRole string `json:"scheduleRole"`
	// Deprecated : The name of the queue for which scheduled events should enqueue.
	TargetName string `json:"targetName"`
	// Deprecated : Optional: The application-wide prefix to be applied for schedule names.
	ScheduleNamePrefix   string                `json:"scheduleNamePrefix"`
	AWSSchedulerConfig   *AWSSchedulerConfig   `json:"aws"`
	FlyteSchedulerConfig *FlyteSchedulerConfig `json:"local"`
}

This section holds configuration for the event scheduler used to schedule workflow executions.

func (*EventSchedulerConfig) GetAWSSchedulerConfig added in v0.6.23

func (e *EventSchedulerConfig) GetAWSSchedulerConfig() *AWSSchedulerConfig

func (*EventSchedulerConfig) GetFlyteSchedulerConfig added in v0.6.23

func (e *EventSchedulerConfig) GetFlyteSchedulerConfig() *FlyteSchedulerConfig

func (*EventSchedulerConfig) GetRegion added in v0.6.23

func (e *EventSchedulerConfig) GetRegion() string

func (*EventSchedulerConfig) GetScheduleNamePrefix added in v0.6.23

func (e *EventSchedulerConfig) GetScheduleNamePrefix() string

func (*EventSchedulerConfig) GetScheduleRole added in v0.6.23

func (e *EventSchedulerConfig) GetScheduleRole() string

func (*EventSchedulerConfig) GetScheme added in v0.6.23

func (e *EventSchedulerConfig) GetScheme() string

func (*EventSchedulerConfig) GetTargetName added in v0.6.23

func (e *EventSchedulerConfig) GetTargetName() string

type EventsPublisherConfig added in v0.3.38

type EventsPublisherConfig struct {
	// The topic which events should be published, e.g. node, task, workflow
	TopicName string `json:"topicName"`
	// Event types: task, node, workflow executions
	EventTypes []string `json:"eventTypes"`
}

This section handles configuration for the workflow notifications pipeline.

type ExecutionQueue

type ExecutionQueue struct {
	Dynamic    string
	Attributes []string
}

Holds details about a queue used for task execution. Matching attributes determine which workflows' tasks will run where.

func (ExecutionQueue) GetAttributes added in v0.3.38

func (q ExecutionQueue) GetAttributes() []string

type ExecutionQueues

type ExecutionQueues []ExecutionQueue

type ExternalEventsConfig added in v0.3.38

type ExternalEventsConfig struct {
	Enable bool `json:"enable"`
	// Defines the cloud provider that backs the scheduler. In the absence of a specification the no-op, 'local'
	// scheme is used.
	Type      string    `json:"type"`
	AWSConfig AWSConfig `json:"aws"`
	GCPConfig GCPConfig `json:"gcp"`
	// Publish events to a pubsub tops
	EventsPublisherConfig EventsPublisherConfig `json:"eventsPublisher"`
	// Number of times to attempt recreating a notifications processor client should there be any disruptions.
	ReconnectAttempts int `json:"reconnectAttempts"`
	// Specifies the time interval to wait before attempting to reconnect the notifications processor client.
	ReconnectDelaySeconds int `json:"reconnectDelaySeconds"`
}

type FlyteSchedulerConfig added in v0.6.23

type FlyteSchedulerConfig struct {
}

FlyteSchedulerConfig is the config for native or default flyte scheduler

type FlyteWorkflowExecutorConfig added in v0.6.23

type FlyteWorkflowExecutorConfig struct {
	// This allows to control the number of TPS that hit admin using the scheduler.
	// eg : 100 TPS will send at the max 100 schedule requests to admin per sec.
	// Burst specifies burst traffic count
	AdminRateLimit *AdminRateLimit `json:"adminRateLimit"`
	// Defaults to using user local timezone where the scheduler is deployed.
	UseUTCTz bool `json:"useUTCTz"`
}

FlyteWorkflowExecutorConfig specifies the workflow executor configuration for the native flyte scheduler

func (*FlyteWorkflowExecutorConfig) GetAdminRateLimit added in v0.6.23

func (f *FlyteWorkflowExecutorConfig) GetAdminRateLimit() *AdminRateLimit

func (*FlyteWorkflowExecutorConfig) GetUseUTCTz added in v1.1.53

func (f *FlyteWorkflowExecutorConfig) GetUseUTCTz() bool

type GCPConfig added in v0.3.38

type GCPConfig struct {
	ProjectID string `json:"projectId"`
}

This section holds common config for GCP

type InlineEventDataPolicy added in v0.6.50

type InlineEventDataPolicy int
const (
	// InlineEventDataPolicyOffload specifies that inline execution event data (e.g. outputs) should be offloaded to the
	// configured cloud blob store.
	InlineEventDataPolicyOffload InlineEventDataPolicy = iota
	// InlineEventDataPolicyStoreInline specifies that inline execution event data should be saved inline with execution
	// database entries.
	InlineEventDataPolicyStoreInline
)

func InlineEventDataPolicyString added in v0.6.63

func InlineEventDataPolicyString(s string) (InlineEventDataPolicy, error)

InlineEventDataPolicyString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func InlineEventDataPolicyValues added in v0.6.63

func InlineEventDataPolicyValues() []InlineEventDataPolicy

InlineEventDataPolicyValues returns all values of the enum

func (InlineEventDataPolicy) IsAInlineEventDataPolicy added in v0.6.63

func (i InlineEventDataPolicy) IsAInlineEventDataPolicy() bool

IsAInlineEventDataPolicy returns "true" if the value is listed in the enum definition. "false" otherwise

func (InlineEventDataPolicy) String added in v0.6.63

func (i InlineEventDataPolicy) String() string

type KafkaConfig added in v0.6.135

type KafkaConfig struct {
	// The version of Kafka, e.g. 2.1.0, 0.8.2.0
	Version string `json:"version"`
	// kafka broker addresses
	Brokers []string `json:"brokers"`
}

type NamespaceMappingConfig added in v0.1.3

type NamespaceMappingConfig struct {
	Mapping      string       `json:"mapping"` // Deprecated
	Template     string       `json:"template"`
	TemplateData TemplateData `json:"templateData"`
}

type NamespaceMappingConfiguration added in v0.1.3

type NamespaceMappingConfiguration interface {
	GetNamespaceTemplate() string
}

type NotificationsConfig

type NotificationsConfig struct {
	// Defines the cloud provider that backs the scheduler. In the absence of a specification the no-op, 'local'
	// scheme is used.
	Type string `json:"type"`
	//  Deprecated: Please use AWSConfig instead.
	Region                       string                       `json:"region"`
	AWSConfig                    AWSConfig                    `json:"aws"`
	GCPConfig                    GCPConfig                    `json:"gcp"`
	NotificationsPublisherConfig NotificationsPublisherConfig `json:"publisher"`
	NotificationsProcessorConfig NotificationsProcessorConfig `json:"processor"`
	NotificationsEmailerConfig   NotificationsEmailerConfig   `json:"emailer"`
	// Number of times to attempt recreating a notifications processor client should there be any disruptions.
	ReconnectAttempts int `json:"reconnectAttempts"`
	// Specifies the time interval to wait before attempting to reconnect the notifications processor client.
	ReconnectDelaySeconds int `json:"reconnectDelaySeconds"`
}

Configuration specific to notifications handling

type NotificationsEmailerConfig

type NotificationsEmailerConfig struct {
	// For use with external email services (mailchimp/sendgrid)
	EmailerConfig EmailServerConfig `json:"emailServerConfig"`
	// The optionally templatized subject used in notification emails.
	Subject string `json:"subject"`
	// The optionally templatized sender used in notification emails.
	Sender string `json:"sender"`
	// The optionally templatized body the sender used in notification emails.
	Body string `json:"body"`
}

This section handles the configuration of notifications emails.

type NotificationsProcessorConfig

type NotificationsProcessorConfig struct {
	// The name of the queue onto which workflow notifications will enqueue.
	QueueName string `json:"queueName"`
	// The account id (according to whichever cloud provider scheme is used) that has permission to read from the above
	// queue.
	AccountID string `json:"accountId"`
}

This section handles configuration for processing workflow events.

type NotificationsPublisherConfig

type NotificationsPublisherConfig struct {
	// The topic which notifications use, e.g. AWS SNS topics.
	TopicName string `json:"topicName"`
}

This section handles configuration for the workflow notifications pipeline.

type PostgresConfig added in v0.6.100

type PostgresConfig struct {
	Host   string `json:"host" pflag:",The host name of the database server"`
	Port   int    `json:"port" pflag:",The port name of the database server"`
	DbName string `json:"dbname" pflag:",The database name"`
	User   string `json:"username" pflag:",The database user who is connecting to the server."`
	// Either Password or PasswordPath must be set.
	Password     string `json:"password" pflag:",The database password."`
	PasswordPath string `json:"passwordPath" pflag:",Points to the file containing the database password."`
	ExtraOptions string `` /* 135-byte string literal not displayed */
	Debug        bool   `json:"debug" pflag:" Whether or not to start the database connection with debug mode enabled."`
}

PostgresConfig includes specific config options for opening a connection to a postgres database.

type QualityOfServiceConfig added in v0.3.38

type QualityOfServiceConfig struct {
	TierExecutionValues map[TierName]QualityOfServiceSpec `json:"tierExecutionValues"`
	DefaultTiers        map[DomainName]TierName           `json:"defaultTiers"`
}

type QualityOfServiceConfiguration added in v0.3.38

type QualityOfServiceConfiguration interface {
	GetTierExecutionValues() map[core.QualityOfService_Tier]core.QualityOfServiceSpec
	GetDefaultTiers() map[DomainName]core.QualityOfService_Tier
}

type QualityOfServiceSpec added in v0.3.38

type QualityOfServiceSpec struct {
	QueueingBudget config.Duration `json:"queueingBudget"`
}

type QueueConfig

type QueueConfig struct {
	ExecutionQueues ExecutionQueues `json:"executionQueues"`
	WorkflowConfigs WorkflowConfigs `json:"workflowConfigs"`
}

type QueueConfiguration

type QueueConfiguration interface {
	// Returns executions queues defined in runtime configuration files.
	GetExecutionQueues() []ExecutionQueue
	// Returns workflow configurations defined in runtime configuration files.
	GetWorkflowConfigs() []WorkflowConfig
}

Provides values set in runtime configuration files. These files can be changed without requiring a full server restart.

type RegistrationValidationConfig

type RegistrationValidationConfig struct {
	MaxWorkflowNodes     int    `json:"maxWorkflowNodes"`
	MaxLabelEntries      int    `json:"maxLabelEntries"`
	MaxAnnotationEntries int    `json:"maxAnnotationEntries"`
	WorkflowSizeLimit    string `json:"workflowSizeLimit"`
}

type RegistrationValidationConfiguration

type RegistrationValidationConfiguration interface {
	GetWorkflowNodeLimit() int
	GetMaxLabelEntries() int
	GetMaxAnnotationEntries() int
	GetWorkflowSizeLimit() string
}

Provides validation limits used at entity registration

type RemoteDataConfig

type RemoteDataConfig struct {
	// Defines the cloud provider that backs the scheduler. In the absence of a specification the no-op, 'local'
	// scheme is used.
	Scheme string `json:"scheme"`
	// Some cloud providers require a region to be set.
	Region    string    `json:"region"`
	SignedURL SignedURL `json:"signedUrls"`
	// Specifies the max size in bytes for which execution data such as inputs and outputs will be populated in line.
	MaxSizeInBytes int64 `json:"maxSizeInBytes"`
	// Specifies how inline execution event data should be saved in the backend
	InlineEventDataPolicy InlineEventDataPolicy `json:"inlineEventDataPolicy" pflag:",Specifies how inline execution event data should be saved in the backend"`
}

This configuration handles all requests to get and write remote data such as execution inputs & outputs.

type SQLiteConfig added in v0.6.118

type SQLiteConfig struct {
	File string `` /* 167-byte string literal not displayed */
}

SQLiteConfig can be used to configure

type SchedulerConfig

type SchedulerConfig struct {
	// Determines which port the profiling server used for scheduler monitoring and application debugging uses.
	ProfilerPort           config.Port            `json:"profilerPort"`
	EventSchedulerConfig   EventSchedulerConfig   `json:"eventScheduler"`
	WorkflowExecutorConfig WorkflowExecutorConfig `json:"workflowExecutor"`
	// Specifies the number of times to attempt recreating a workflow executor client should there be any disruptions.
	ReconnectAttempts int `json:"reconnectAttempts"`
	// Specifies the time interval to wait before attempting to reconnect the workflow executor client.
	ReconnectDelaySeconds int `json:"reconnectDelaySeconds"`
}

This configuration is the base configuration for all scheduler-related set-up.

func (*SchedulerConfig) GetEventSchedulerConfig added in v0.6.23

func (s *SchedulerConfig) GetEventSchedulerConfig() EventSchedulerConfig

func (*SchedulerConfig) GetReconnectAttempts added in v0.6.23

func (s *SchedulerConfig) GetReconnectAttempts() int

func (*SchedulerConfig) GetReconnectDelaySeconds added in v0.6.23

func (s *SchedulerConfig) GetReconnectDelaySeconds() int

func (*SchedulerConfig) GetWorkflowExecutorConfig added in v0.6.23

func (s *SchedulerConfig) GetWorkflowExecutorConfig() WorkflowExecutorConfig

type SignedURL

type SignedURL struct {
	// Whether signed urls should even be returned with GetExecutionData, GetNodeExecutionData and GetTaskExecutionData
	// response objects.
	Enabled bool `` /* 154-byte string literal not displayed */
	// The amount of time for which a signed URL is valid.
	DurationMinutes int `json:"durationMinutes"`
	// The principal that signs the URL. This is only applicable to GCS URL.
	SigningPrincipal string `json:"signingPrincipal"`
}

Configuration specific to setting up signed urls.

type TaskResourceConfiguration

type TaskResourceConfiguration interface {
	GetDefaults() TaskResourceSet
	GetLimits() TaskResourceSet
}

Provides default values for task resource limits and defaults.

type TaskResourceSet

type TaskResourceSet struct {
	CPU              resource.Quantity `json:"cpu"`
	GPU              resource.Quantity `json:"gpu"`
	Memory           resource.Quantity `json:"memory"`
	Storage          resource.Quantity `json:"storage"`
	EphemeralStorage resource.Quantity `json:"ephemeralStorage"`
}

type TaskTypeWhitelist

type TaskTypeWhitelist = map[string][]WhitelistScope

Defines specific task types whitelisted for support.

type TemplateData added in v0.1.4

type TemplateData = map[string]DataSource

type TierName added in v0.3.38

type TierName = string

type WhitelistConfiguration

type WhitelistConfiguration interface {
	// Returns whitelisted task types defined in runtime configuration files.
	GetTaskTypeWhitelist() TaskTypeWhitelist
}

type WhitelistScope

type WhitelistScope struct {
	Project string `json:"project"`
	Domain  string `json:"domain"`
}

type WorkflowConfig

type WorkflowConfig struct {
	Domain string   `json:"domain"`
	Tags   []string `json:"tags"`
}

Defines the specific resource attributes (tags) a workflow requires to run.

type WorkflowConfigs

type WorkflowConfigs []WorkflowConfig

type WorkflowExecutorConfig

type WorkflowExecutorConfig struct {
	// Defines the cloud provider that backs the scheduler. In the absence of a specification the no-op, 'local'
	// scheme is used.
	Scheme string `json:"scheme"`
	// Deprecated : Some cloud providers require a region to be set.
	Region string `json:"region"`
	// Deprecated : The name of the queue onto which scheduled events will enqueue.
	ScheduleQueueName string `json:"scheduleQueueName"`
	// Deprecated : The account id (according to whichever cloud provider scheme is used) that has permission to read from the above
	// queue.
	AccountID                   string                       `json:"accountId"`
	AWSWorkflowExecutorConfig   *AWSWorkflowExecutorConfig   `json:"aws"`
	FlyteWorkflowExecutorConfig *FlyteWorkflowExecutorConfig `json:"local"`
}

This section holds configuration for the executor that processes workflow scheduled events fired.

func (*WorkflowExecutorConfig) GetAWSWorkflowExecutorConfig added in v0.6.23

func (w *WorkflowExecutorConfig) GetAWSWorkflowExecutorConfig() *AWSWorkflowExecutorConfig

func (*WorkflowExecutorConfig) GetAccountID added in v0.6.23

func (w *WorkflowExecutorConfig) GetAccountID() string

func (*WorkflowExecutorConfig) GetFlyteWorkflowExecutorConfig added in v0.6.23

func (w *WorkflowExecutorConfig) GetFlyteWorkflowExecutorConfig() *FlyteWorkflowExecutorConfig

func (*WorkflowExecutorConfig) GetRegion added in v0.6.23

func (w *WorkflowExecutorConfig) GetRegion() string

func (*WorkflowExecutorConfig) GetScheduleScheduleQueueName added in v0.6.23

func (w *WorkflowExecutorConfig) GetScheduleScheduleQueueName() string

func (*WorkflowExecutorConfig) GetScheme added in v0.6.23

func (w *WorkflowExecutorConfig) GetScheme() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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