Documentation ¶
Index ¶
- type AWSConfig
- type AWSSchedulerConfig
- type AWSWorkflowExecutorConfig
- type AdminRateLimit
- type ApplicationConfig
- func (a *ApplicationConfig) GetAnnotations() *admin.Annotations
- func (a *ApplicationConfig) GetAsWorkflowExecutionConfig() *admin.WorkflowExecutionConfig
- func (a *ApplicationConfig) GetAsyncEventsBufferSize() int
- func (a *ApplicationConfig) GetEnvs() *admin.Envs
- func (a *ApplicationConfig) GetEventVersion() int
- func (a *ApplicationConfig) GetInterruptible() *wrappers.BoolValue
- func (a *ApplicationConfig) GetLabels() *admin.Labels
- func (a *ApplicationConfig) GetMaxParallelism() int32
- func (a *ApplicationConfig) GetMetadataStoragePrefix() []string
- func (a *ApplicationConfig) GetMetricsScope() string
- func (a *ApplicationConfig) GetOverwriteCache() bool
- func (a *ApplicationConfig) GetProfilerPort() int
- func (a *ApplicationConfig) GetRawOutputDataConfig() *admin.RawOutputDataConfig
- func (a *ApplicationConfig) GetRoleNameKey() string
- func (a *ApplicationConfig) GetSecurityContext() *core.SecurityContext
- type ApplicationConfiguration
- type Auth
- type CloudEventVersion
- func (i CloudEventVersion) IsACloudEventVersion() bool
- func (i CloudEventVersion) MarshalJSON() ([]byte, error)
- func (i CloudEventVersion) MarshalYAML() (interface{}, error)
- func (i CloudEventVersion) String() string
- func (i *CloudEventVersion) UnmarshalJSON(data []byte) error
- func (i *CloudEventVersion) UnmarshalYAML(unmarshal func(interface{}) error) error
- type CloudEventsConfig
- type ClusterConfig
- type ClusterConfiguration
- type ClusterEntity
- type ClusterPoolAssignment
- type ClusterPoolAssignmentConfig
- type ClusterPoolAssignmentConfiguration
- type ClusterPoolAssignments
- type ClusterResourceConfig
- type ClusterResourceConfiguration
- type Clusters
- type Configuration
- type DataSource
- type DataSourceValueFrom
- type DbConfig
- type Domain
- type DomainName
- type DomainsConfig
- type EmailServerConfig
- type EventSchedulerConfig
- func (e *EventSchedulerConfig) GetAWSSchedulerConfig() *AWSSchedulerConfig
- func (e *EventSchedulerConfig) GetFlyteSchedulerConfig() *FlyteSchedulerConfig
- func (e *EventSchedulerConfig) GetRegion() string
- func (e *EventSchedulerConfig) GetScheduleNamePrefix() string
- func (e *EventSchedulerConfig) GetScheduleRole() string
- func (e *EventSchedulerConfig) GetScheme() string
- func (e *EventSchedulerConfig) GetTargetName() string
- type EventsPublisherConfig
- type ExecutionQueue
- type ExecutionQueues
- type ExternalEventsConfig
- type FeatureGates
- type FlyteSchedulerConfig
- type FlyteWorkflowExecutorConfig
- type GCPConfig
- type InlineEventDataPolicy
- type KafkaConfig
- type NamespaceMappingConfig
- type NamespaceMappingConfiguration
- type NotificationsConfig
- type NotificationsEmailerConfig
- type NotificationsProcessorConfig
- type NotificationsPublisherConfig
- type PostgresConfig
- type QualityOfServiceConfig
- type QualityOfServiceConfiguration
- type QualityOfServiceSpec
- type QueueConfig
- type QueueConfiguration
- type RegistrationValidationConfig
- type RegistrationValidationConfiguration
- type RemoteDataConfig
- type SASLConfig
- type SQLiteConfig
- type SchedulerConfig
- type SignedURL
- type TLSConfig
- type TaskResourceConfiguration
- type TaskResourceSet
- type TaskTypeWhitelist
- type TemplateData
- type TierName
- type WhitelistConfiguration
- type WhitelistScope
- type WorkflowConfig
- type WorkflowConfigs
- type WorkflowExecutorConfig
- func (w *WorkflowExecutorConfig) GetAWSWorkflowExecutorConfig() *AWSWorkflowExecutorConfig
- func (w *WorkflowExecutorConfig) GetAccountID() string
- func (w *WorkflowExecutorConfig) GetFlyteWorkflowExecutorConfig() *FlyteWorkflowExecutorConfig
- func (w *WorkflowExecutorConfig) GetRegion() string
- func (w *WorkflowExecutorConfig) GetScheduleScheduleQueueName() string
- func (w *WorkflowExecutorConfig) GetScheme() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSConfig ¶
type AWSConfig struct {
Region string `json:"region"`
}
This section holds common config for AWS
type AWSSchedulerConfig ¶
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 ¶
func (a *AWSSchedulerConfig) GetRegion() string
func (*AWSSchedulerConfig) GetScheduleNamePrefix ¶
func (a *AWSSchedulerConfig) GetScheduleNamePrefix() string
func (*AWSSchedulerConfig) GetScheduleRole ¶
func (a *AWSSchedulerConfig) GetScheduleRole() string
func (*AWSSchedulerConfig) GetTargetName ¶
func (a *AWSSchedulerConfig) GetTargetName() string
type AWSWorkflowExecutorConfig ¶
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 ¶
func (a *AWSWorkflowExecutorConfig) GetAccountID() string
func (*AWSWorkflowExecutorConfig) GetRegion ¶
func (a *AWSWorkflowExecutorConfig) GetRegion() string
func (*AWSWorkflowExecutorConfig) GetScheduleScheduleQueueName ¶
func (a *AWSWorkflowExecutorConfig) GetScheduleScheduleQueueName() string
type AdminRateLimit ¶
func (*AdminRateLimit) GetBurst ¶
func (f *AdminRateLimit) GetBurst() int
func (*AdminRateLimit) GetTps ¶
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"` // Environment variables to be set for the execution. Envs map[string]string `json:"envs,omitempty"` FeatureGates FeatureGates `json:"featureGates" pflag:",Enable experimental features."` // A URL pointing to the flyteconsole instance used to hit this flyteadmin instance. ConsoleURL string `json:"consoleUrl,omitempty" pflag:",A URL pointing to the flyteconsole instance used to hit this flyteadmin instance."` // Enabling this will instruct operator to use storage (s3/gcs/etc) to offload workflow execution inputs instead of storing them inline in the CRD. UseOffloadedInputs bool `json:"useOffloadedInputs" pflag:",Use offloaded inputs for workflows."` }
ApplicationConfig is the base configuration to start admin
func (*ApplicationConfig) GetAnnotations ¶
func (a *ApplicationConfig) GetAnnotations() *admin.Annotations
func (*ApplicationConfig) GetAsWorkflowExecutionConfig ¶
func (a *ApplicationConfig) GetAsWorkflowExecutionConfig() *admin.WorkflowExecutionConfig
GetAsWorkflowExecutionConfig returns the WorkflowExecutionConfig as extracted from this object
func (*ApplicationConfig) GetAsyncEventsBufferSize ¶
func (a *ApplicationConfig) GetAsyncEventsBufferSize() int
func (*ApplicationConfig) GetEnvs ¶
func (a *ApplicationConfig) GetEnvs() *admin.Envs
func (*ApplicationConfig) GetEventVersion ¶
func (a *ApplicationConfig) GetEventVersion() int
func (*ApplicationConfig) GetInterruptible ¶
func (a *ApplicationConfig) GetInterruptible() *wrappers.BoolValue
func (*ApplicationConfig) GetLabels ¶
func (a *ApplicationConfig) GetLabels() *admin.Labels
func (*ApplicationConfig) GetMaxParallelism ¶
func (a *ApplicationConfig) GetMaxParallelism() int32
func (*ApplicationConfig) GetMetadataStoragePrefix ¶
func (a *ApplicationConfig) GetMetadataStoragePrefix() []string
func (*ApplicationConfig) GetMetricsScope ¶
func (a *ApplicationConfig) GetMetricsScope() string
func (*ApplicationConfig) GetOverwriteCache ¶
func (a *ApplicationConfig) GetOverwriteCache() bool
func (*ApplicationConfig) GetProfilerPort ¶
func (a *ApplicationConfig) GetProfilerPort() int
func (*ApplicationConfig) GetRawOutputDataConfig ¶
func (a *ApplicationConfig) GetRawOutputDataConfig() *admin.RawOutputDataConfig
func (*ApplicationConfig) GetRoleNameKey ¶
func (a *ApplicationConfig) GetRoleNameKey() string
func (*ApplicationConfig) GetSecurityContext ¶
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 CloudEventVersion ¶ added in v1.10.7
type CloudEventVersion uint8
const ( // This is the initial version of the cloud events CloudEventVersionv1 CloudEventVersion = iota // Version 2 of the cloud events add a lot more information into the event CloudEventVersionv2 )
func CloudEventVersionString ¶ added in v1.10.7
func CloudEventVersionString(s string) (CloudEventVersion, error)
CloudEventVersionString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.
func CloudEventVersionValues ¶ added in v1.10.7
func CloudEventVersionValues() []CloudEventVersion
CloudEventVersionValues returns all values of the enum
func (CloudEventVersion) IsACloudEventVersion ¶ added in v1.10.7
func (i CloudEventVersion) IsACloudEventVersion() bool
IsACloudEventVersion returns "true" if the value is listed in the enum definition. "false" otherwise
func (CloudEventVersion) MarshalJSON ¶ added in v1.10.7
func (i CloudEventVersion) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface for CloudEventVersion
func (CloudEventVersion) MarshalYAML ¶ added in v1.10.7
func (i CloudEventVersion) MarshalYAML() (interface{}, error)
MarshalYAML implements a YAML Marshaler for CloudEventVersion
func (CloudEventVersion) String ¶ added in v1.10.7
func (i CloudEventVersion) String() string
func (*CloudEventVersion) UnmarshalJSON ¶ added in v1.10.7
func (i *CloudEventVersion) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaler interface for CloudEventVersion
func (*CloudEventVersion) UnmarshalYAML ¶ added in v1.10.7
func (i *CloudEventVersion) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements a YAML Unmarshaler for CloudEventVersion
type CloudEventsConfig ¶
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"` // Transform the raw events into the fuller cloudevent events before publishing CloudEventVersion CloudEventVersion `json:"cloudEventVersion"` }
type ClusterConfig ¶
type ClusterConfig struct { Name string `json:"name"` Endpoint string `json:"endpoint"` Auth Auth `json:"auth"` Enabled bool `json:"enabled"` KubeClientConfig *config.KubeClientConfig `json:"kubeClientConfig,omitempty"` InCluster bool `json:"inCluster"` }
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 ¶
type ClusterPoolAssignment ¶
type ClusterPoolAssignment struct {
Pool string `json:"pool"`
}
type ClusterPoolAssignmentConfig ¶
type ClusterPoolAssignmentConfig struct {
ClusterPoolAssignments ClusterPoolAssignments `json:"clusterPoolAssignments"`
}
type ClusterPoolAssignmentConfiguration ¶
type ClusterPoolAssignmentConfiguration interface {
GetClusterPoolAssignments() ClusterPoolAssignments
}
type ClusterPoolAssignments ¶
type ClusterPoolAssignments = map[DomainName]ClusterPoolAssignment
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 ClusterPoolAssignmentConfiguration() ClusterPoolAssignmentConfiguration }
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 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 ¶
type DomainName = string
type DomainsConfig ¶
type DomainsConfig = []Domain
type EmailServerConfig ¶
type EmailServerConfig struct { ServiceName string `json:"serviceName"` // Only one of these should be set. APIKeyEnvVar string `json:"apiKeyEnvVar"` APIKeyFilePath string `json:"apiKeyFilePath"` SMTPServer string `json:"smtpServer"` SMTPPort string `json:"smtpPort"` SMTPSkipTLSVerify bool `json:"smtpSkipTLSVerify"` SMTPUsername string `json:"smtpUsername"` SMTPPasswordSecretName string `json:"smtpPasswordSecretName"` }
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 ¶
func (e *EventSchedulerConfig) GetAWSSchedulerConfig() *AWSSchedulerConfig
func (*EventSchedulerConfig) GetFlyteSchedulerConfig ¶
func (e *EventSchedulerConfig) GetFlyteSchedulerConfig() *FlyteSchedulerConfig
func (*EventSchedulerConfig) GetRegion ¶
func (e *EventSchedulerConfig) GetRegion() string
func (*EventSchedulerConfig) GetScheduleNamePrefix ¶
func (e *EventSchedulerConfig) GetScheduleNamePrefix() string
func (*EventSchedulerConfig) GetScheduleRole ¶
func (e *EventSchedulerConfig) GetScheduleRole() string
func (*EventSchedulerConfig) GetScheme ¶
func (e *EventSchedulerConfig) GetScheme() string
func (*EventSchedulerConfig) GetTargetName ¶
func (e *EventSchedulerConfig) GetTargetName() string
type EventsPublisherConfig ¶
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"` // Whether to publish enriched events for all workflow execution events EnrichAllWorkflowEventTypes bool `json:"enrichAllWorkflowEventTypes"` }
This section handles configuration for the workflow notifications pipeline.
type ExecutionQueue ¶
Holds details about a queue used for task execution. Matching attributes determine which workflows' tasks will run where.
func (ExecutionQueue) GetAttributes ¶
func (q ExecutionQueue) GetAttributes() []string
type ExecutionQueues ¶
type ExecutionQueues []ExecutionQueue
type ExternalEventsConfig ¶
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 FeatureGates ¶ added in v1.10.7
type FeatureGates struct {
EnableArtifacts bool `json:"enableArtifacts" pflag:",Enable artifacts feature."`
}
type FlyteSchedulerConfig ¶
type FlyteSchedulerConfig struct { }
FlyteSchedulerConfig is the config for native or default flyte scheduler
type FlyteWorkflowExecutorConfig ¶
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 ¶
func (f *FlyteWorkflowExecutorConfig) GetAdminRateLimit() *AdminRateLimit
func (*FlyteWorkflowExecutorConfig) GetUseUTCTz ¶
func (f *FlyteWorkflowExecutorConfig) GetUseUTCTz() bool
type GCPConfig ¶
type GCPConfig struct {
ProjectID string `json:"projectId"`
}
This section holds common config for GCP
type InlineEventDataPolicy ¶
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 ¶
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 ¶
func InlineEventDataPolicyValues() []InlineEventDataPolicy
InlineEventDataPolicyValues returns all values of the enum
func (InlineEventDataPolicy) IsAInlineEventDataPolicy ¶
func (i InlineEventDataPolicy) IsAInlineEventDataPolicy() bool
IsAInlineEventDataPolicy returns "true" if the value is listed in the enum definition. "false" otherwise
func (InlineEventDataPolicy) String ¶
func (i InlineEventDataPolicy) String() string
type KafkaConfig ¶
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"` // sasl config SASLConfig SASLConfig `json:"saslConfig"` // tls config TLSConfig TLSConfig `json:"tlsConfig"` }
This section holds configs for Kafka clients
func (KafkaConfig) UpdateSaramaConfig ¶ added in v1.14.0
func (k KafkaConfig) UpdateSaramaConfig(ctx context.Context, s *sarama.Config)
type NamespaceMappingConfig ¶
type NamespaceMappingConfig struct { Mapping string `json:"mapping"` // Deprecated Template string `json:"template"` TemplateData TemplateData `json:"templateData"` }
type NamespaceMappingConfiguration ¶
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 ¶
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 ¶
type QualityOfServiceConfig struct { TierExecutionValues map[TierName]QualityOfServiceSpec `json:"tierExecutionValues"` DefaultTiers map[DomainName]TierName `json:"defaultTiers"` }
type QualityOfServiceConfiguration ¶
type QualityOfServiceConfiguration interface { GetTierExecutionValues() map[core.QualityOfService_Tier]*core.QualityOfServiceSpec GetDefaultTiers() map[DomainName]core.QualityOfService_Tier }
type QualityOfServiceSpec ¶
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 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 SASLConfig ¶ added in v1.14.0
type SASLConfig struct { // Whether to use SASL Enabled bool `json:"enabled"` // The username User string `json:"user"` // The password Password string `json:"password"` PasswordPath string `json:"passwordPath"` Handshake bool `json:"handshake"` // Which SASL Mechanism to use. Defaults to PLAIN Mechanism sarama.SASLMechanism `json:"mechanism"` }
This section holds SASL config for Kafka
type SQLiteConfig ¶
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 ¶
func (s *SchedulerConfig) GetEventSchedulerConfig() EventSchedulerConfig
func (*SchedulerConfig) GetReconnectAttempts ¶
func (s *SchedulerConfig) GetReconnectAttempts() int
func (*SchedulerConfig) GetReconnectDelaySeconds ¶
func (s *SchedulerConfig) GetReconnectDelaySeconds() int
func (*SchedulerConfig) GetWorkflowExecutorConfig ¶
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 TLSConfig ¶ added in v1.14.0
type TLSConfig struct { // Whether to use TLS Enabled bool `json:"enabled"` // Whether to skip certificate verification InsecureSkipVerify bool `json:"insecureSkipVerify"` // The location of the client certificate CertPath string `json:"certPath"` // The location of the client private key KeyPath string `json:"keyPath"` }
This section holds TLS config for Kafka clients
type TaskResourceConfiguration ¶
type TaskResourceConfiguration interface { GetDefaults() TaskResourceSet GetLimits() TaskResourceSet }
Provides default values for task resource limits and defaults.
type TaskResourceSet ¶
type TaskTypeWhitelist ¶
type TaskTypeWhitelist = map[string][]WhitelistScope
Defines specific task types whitelisted for support.
type TemplateData ¶
type TemplateData = map[string]DataSource
type WhitelistConfiguration ¶
type WhitelistConfiguration interface { // Returns whitelisted task types defined in runtime configuration files. GetTaskTypeWhitelist() TaskTypeWhitelist }
type WhitelistScope ¶
type WorkflowConfig ¶
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 ¶
func (w *WorkflowExecutorConfig) GetAWSWorkflowExecutorConfig() *AWSWorkflowExecutorConfig
func (*WorkflowExecutorConfig) GetAccountID ¶
func (w *WorkflowExecutorConfig) GetAccountID() string
func (*WorkflowExecutorConfig) GetFlyteWorkflowExecutorConfig ¶
func (w *WorkflowExecutorConfig) GetFlyteWorkflowExecutorConfig() *FlyteWorkflowExecutorConfig
func (*WorkflowExecutorConfig) GetRegion ¶
func (w *WorkflowExecutorConfig) GetRegion() string
func (*WorkflowExecutorConfig) GetScheduleScheduleQueueName ¶
func (w *WorkflowExecutorConfig) GetScheduleScheduleQueueName() string
func (*WorkflowExecutorConfig) GetScheme ¶
func (w *WorkflowExecutorConfig) GetScheme() string
Source Files ¶
- application_configuration.go
- cloudeventversion_enumer.go
- cluster_configuration.go
- cluster_pools.go
- cluster_resource_configuration.go
- configuration.go
- inlineeventdatapolicy_enumer.go
- namespace_configuration.go
- quality_of_service_configuration.go
- queue_configuration.go
- registration_validation_provider.go
- task_resource_configuration.go
- whitelist.go