Propeller Configuration

Admin Service Configuration

Propeller uses the following configuration to talk with FlyteAdmin service (control plane). It needs to talk to FlyteAdmin Service for,
  • Publishing events of progress in workflow execution

  • Launching new launch plan executions as child executions

Propeller assumes a grpc endpoint available on the flyteadmin service, which is defined in flyteidl

Config Val

Type

Description

admin.endpoint

string

For admin types, specify where the uri of the service is located.

admin.insecure

Bool

Use insecure connection.

Event configuration

Propeller publishes events for every workflow execution and to prevent a large request spikes to FlyteAdmin service has a configurable tocken-bucket implementation. It can be configured using these parameters.

Config Val

Type

Description

event.capacity

int

The max bucket size for event recording tokens. (default 1000)

event.file-path

string

For file types, specify where the file should be located.

event.rate

int

Max rate at which events can be recorded per second. (default 500)

event.type

string

Sets the type of EventSink to configure [log/admin/file].

Propeller External Workflow Launcher configuration

Propeller can launch child-workflow/launch plan executions using a configurable flyteadmin service endpoint.

Config Val

Type

Description

propeller.admin-launcher.burst

int

Maximum burst for throttle (default 10)

propeller.admin-launcher.cacheSize

int

Maximum cache in terms of number of items stored. (default 10000)

propeller.admin-launcher.tps

int

The maximum number of transactions per second to flyte admin from this client. (default 5)

propeller.enable-admin-launcher

Bool

remote Workflow launcher to Admin

Catalog Service configuration

The Catalog service is an optional add-on to Flyte. It enables various features - refer to Catalog Service to understand the usecases. If available, it can be configured using.

Config Val

Type

Description

propeller.catalog-cache.endpoint

string

Endpoint for catalog service

propeller.catalog-cache.type

string

Catalog Implementation to use (default “noop”)

Propeller Core Configuration

This is the core configuration for propeller. It controls,
  • Garbage collection

  • Scale in terms of number of workers

  • namespaces to observe for new workflows

  • handling of system failures

  • and other system level configuration

Config Val

Type

Description

propeller.downstream-eval-duration

string

Frequency of re-evaluating downstream tasks (default “60s”)

propeller.gc-interval

string

Run periodic GC every 30 minutes (default “30m”)

propeller.kube-config

string

Path to kubernetes client config file.

propeller.limit-namespace

string

Namespaces to watch for this propeller (default “all”)

propeller.master

string

.

propeller.max-ttl-hours

int

Maximum number of hours a completed workflow should be retained. Number between 1-23 hours (default 23)

propeller.max-workflow-retries

int

Maximum number of retries per workflow (default 50)

propeller.metadata-prefix

string

MetadataPrefix should be used if all the metadata for Flyte executions should be stored under a specific prefix in CloudStorage. If not specified, the data will be stored in the base container directly.

propeller.metrics-prefix

string

An optional prefix for all published metrics. (default “flyte:”)

propeller.prof-port

string

Profiler port (default “10254”)

propeller.publish-k8s-events

Bool

events publishing to K8s events API.

propeller.workers

int

Number of threads to process workflows (default 2)

propeller.workflow-reeval-duration

string

Frequency of re-evaluating workflows (default “30s”)

Propeller Leader election configuration

Config Val

Type

Description

propeller.leader-election.enabled

Bool

s/Disables leader election.

propeller.leader-election.lease-duration

string

Duration that non-leader candidates will wait to force acquire leadership. This is measured against time of last observed ack. (default “15s”)

propeller.leader-election.lock-config-map.Name

string

Name of config-map used for leader.

propeller.leader-election.lock-config-map.Namespace

string

Namespace of config-map used for leader.

propeller.leader-election.renew-deadline

string

Duration that the acting master will retry refreshing leadership before giving up. (default “10s”)

propeller.leader-election.retry-period

string

Duration the LeaderElector clients should wait between tries of actions. (default “2s”)

Propeller Queue configuration

Propeller uses workqueues to manage the event loops and these queues can be configured using the following parameters.

Config Val

Type

Description

propeller.queue.batch-size

int

Number of downstream triggered top-level objects to re-enqueue every duration. -1 indicates all available. (default -1)

propeller.queue.batching-interval

string

Duration for which downstream updates are buffered (default “1s”)

propeller.queue.queue.base-delay

string

base backoff delay for failure (default “10s”)

propeller.queue.queue.capacity

int

Bucket capacity as number of items (default 100)

propeller.queue.queue.max-delay

string

Max backoff delay for failure (default “10s”)

propeller.queue.queue.rate

int

Bucket Refill rate per second (default 10)

propeller.queue.queue.type

string

Type of RateLimiter to use for the WorkQueue (default “default”)

propeller.queue.sub-queue.base-delay

string

base backoff delay for failure (default “10s”)

propeller.queue.sub-queue.capacity

int

Bucket capacity as number of items (default 100)

propeller.queue.sub-queue.max-delay

string

Max backoff delay for failure (default “10s”)

propeller.queue.sub-queue.rate

int

Bucket Refill rate per second (default 10)

propeller.queue.sub-queue.type

string

Type of RateLimiter to use for the WorkQueue (default “default”)

propeller.queue.type

string

Type of composite queue to use for the WorkQueue (default “simple”)

Propeller Commandline only parameters

These parameters are available when starting a propeller process.

Config Val

Type

Description

alsologtostderr

Bool

log to standard error as well as files

config

string

config file (default is $HOME/config.yaml)

errors.show-source

Bool

Indicates whether errors should include source code location information.

kubeconfig

string

Paths to a kubeconfig. Only required if out-of-cluster.

log_backtrace_at

Bool

trace location when logging hits line file:N, emit a stack trace (default :0)

log_dir

string

If non-empty, write log files in this directory

logtostderr

Bool

log to standard error instead of files

master

string

The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.

stderrthreshold

severity

logs at or above this threshold go to stderr (default 2)

Example Configuration