syntax = "proto3"; import "flyteidl/core/tasks.proto"; package flyteidl.plugins; option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/plugins"; // Custom Proto for Dask Plugin. message DaskJob { // Spec for the scheduler pod. DaskScheduler scheduler = 1; // Spec of the default worker group. DaskWorkerGroup workers = 2; } // Specification for the scheduler pod. message DaskScheduler { // Optional image to use. If unset, will use the default image. string image = 1; // Resources assigned to the scheduler pod. core.Resources resources = 2; } message DaskWorkerGroup { // Number of workers in the group. uint32 number_of_workers = 1; // Optional image to use for the pods of the worker group. If unset, will use the default image. string image = 2; // Resources assigned to the all pods of the worker group. // As per https://kubernetes.dask.org/en/latest/kubecluster.html?highlight=limit#best-practices // it is advised to only set limits. If requests are not explicitly set, the plugin will make // sure to set requests==limits. // The plugin sets ` --memory-limit` as well as `--nthreads` for the workers according to the limit. core.Resources resources = 3; }