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 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 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 SQLiteConfig
- type SchedulerConfig
- type SignedURL
- 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"`
}
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 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"`
}
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"`
}
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 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"`
}
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 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 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 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 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
- 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