@flyteorg/flyteidl 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5967,6 +5967,9 @@ export namespace flyteidl {
5967
5967
 
5968
5968
  /** Identity oauth2Client */
5969
5969
  oauth2Client?: (flyteidl.core.IOAuth2Client|null);
5970
+
5971
+ /** Identity userIdentifier */
5972
+ userIdentifier?: (string|null);
5970
5973
  }
5971
5974
 
5972
5975
  /** Represents an Identity. */
@@ -5987,6 +5990,9 @@ export namespace flyteidl {
5987
5990
  /** Identity oauth2Client. */
5988
5991
  public oauth2Client?: (flyteidl.core.IOAuth2Client|null);
5989
5992
 
5993
+ /** Identity userIdentifier. */
5994
+ public userIdentifier: string;
5995
+
5990
5996
  /**
5991
5997
  * Creates a new Identity instance using the specified properties.
5992
5998
  * @param [properties] Properties to set
@@ -14264,6 +14264,7 @@
14264
14264
  * @property {string|null} [iamRole] Identity iamRole
14265
14265
  * @property {string|null} [k8sServiceAccount] Identity k8sServiceAccount
14266
14266
  * @property {flyteidl.core.IOAuth2Client|null} [oauth2Client] Identity oauth2Client
14267
+ * @property {string|null} [userIdentifier] Identity userIdentifier
14267
14268
  */
14268
14269
 
14269
14270
  /**
@@ -14305,6 +14306,14 @@
14305
14306
  */
14306
14307
  Identity.prototype.oauth2Client = null;
14307
14308
 
14309
+ /**
14310
+ * Identity userIdentifier.
14311
+ * @member {string} userIdentifier
14312
+ * @memberof flyteidl.core.Identity
14313
+ * @instance
14314
+ */
14315
+ Identity.prototype.userIdentifier = "";
14316
+
14308
14317
  /**
14309
14318
  * Creates a new Identity instance using the specified properties.
14310
14319
  * @function create
@@ -14335,6 +14344,8 @@
14335
14344
  writer.uint32(/* id 2, wireType 2 =*/18).string(message.k8sServiceAccount);
14336
14345
  if (message.oauth2Client != null && message.hasOwnProperty("oauth2Client"))
14337
14346
  $root.flyteidl.core.OAuth2Client.encode(message.oauth2Client, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
14347
+ if (message.userIdentifier != null && message.hasOwnProperty("userIdentifier"))
14348
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.userIdentifier);
14338
14349
  return writer;
14339
14350
  };
14340
14351
 
@@ -14365,6 +14376,9 @@
14365
14376
  case 3:
14366
14377
  message.oauth2Client = $root.flyteidl.core.OAuth2Client.decode(reader, reader.uint32());
14367
14378
  break;
14379
+ case 4:
14380
+ message.userIdentifier = reader.string();
14381
+ break;
14368
14382
  default:
14369
14383
  reader.skipType(tag & 7);
14370
14384
  break;
@@ -14395,6 +14409,9 @@
14395
14409
  if (error)
14396
14410
  return "oauth2Client." + error;
14397
14411
  }
14412
+ if (message.userIdentifier != null && message.hasOwnProperty("userIdentifier"))
14413
+ if (!$util.isString(message.userIdentifier))
14414
+ return "userIdentifier: string expected";
14398
14415
  return null;
14399
14416
  };
14400
14417
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyteorg/flyteidl",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "Compiled protocol buffers and gRPC service clients/servers for Flyte IDLs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -69,6 +69,9 @@ message Identity {
69
69
  // oauth2_client references an oauth2 client. Backend plugins can use this information to impersonate the client when
70
70
  // making external calls.
71
71
  OAuth2Client oauth2_client = 3;
72
+
73
+ // user_identifier references the id of the user who executes the task.
74
+ string user_identifier = 4;
72
75
  }
73
76
 
74
77
  // OAuth2TokenRequest encapsulates information needed to request an OAuth2 token.
@@ -0,0 +1,33 @@
1
+ syntax = "proto3";
2
+
3
+ package flyteidl.plugins.kubeflow;
4
+
5
+ option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/plugins";
6
+
7
+
8
+ enum RestartPolicy {
9
+ RESTART_POLICY_NEVER = 0;
10
+ RESTART_POLICY_ON_FAILURE = 1;
11
+ RESTART_POLICY_ALWAYS = 2;
12
+ }
13
+
14
+ enum CleanPodPolicy {
15
+ CLEANPOD_POLICY_NONE = 0;
16
+ CLEANPOD_POLICY_RUNNING = 1;
17
+ CLEANPOD_POLICY_ALL = 2;
18
+ }
19
+
20
+ message RunPolicy {
21
+ // Defines the policy to kill pods after the job completes. Default to None.
22
+ CleanPodPolicy clean_pod_policy = 1;
23
+
24
+ // TTL to clean up jobs. Default to infinite.
25
+ int32 ttl_seconds_after_finished = 2;
26
+
27
+ // Specifies the duration in seconds relative to the startTime that the job may be active
28
+ // before the system tries to terminate it; value must be positive integer.
29
+ int32 active_deadline_seconds = 3;
30
+
31
+ // Number of retries before marking this job failed.
32
+ int32 backoff_limit = 4;
33
+ }
@@ -0,0 +1,43 @@
1
+ syntax = "proto3";
2
+
3
+ package flyteidl.plugins.kubeflow;
4
+
5
+ option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/plugins";
6
+
7
+ import "flyteidl/core/tasks.proto";
8
+ import "flyteidl/plugins/kubeflow/common.proto";
9
+
10
+ // Proto for plugin that enables distributed training using https://github.com/kubeflow/mpi-operator
11
+ message DistributedMPITrainingTask {
12
+ // Worker replicas spec
13
+ DistributedMPITrainingReplicaSpec worker_replicas = 1;
14
+
15
+ // Master replicas spec
16
+ DistributedMPITrainingReplicaSpec launcher_replicas = 2;
17
+
18
+ // RunPolicy encapsulates various runtime policies of the distributed training
19
+ // job, for example how to clean up resources and how long the job can stay
20
+ // active.
21
+ RunPolicy run_policy = 3;
22
+
23
+ // Number of slots per worker
24
+ int32 slots = 4;
25
+ }
26
+
27
+ // Replica specification for distributed MPI training
28
+ message DistributedMPITrainingReplicaSpec {
29
+ // Number of replicas
30
+ int32 replicas = 1;
31
+
32
+ // Image used for the replica group
33
+ string image = 2;
34
+
35
+ // Resources required for the replica group
36
+ core.Resources resources = 3;
37
+
38
+ // Restart policy determines whether pods will be restarted when they exit
39
+ RestartPolicy restart_policy = 4;
40
+
41
+ // MPI sometimes requires different command set for different replica groups
42
+ repeated string command = 5;
43
+ }
@@ -0,0 +1,49 @@
1
+ syntax = "proto3";
2
+
3
+ package flyteidl.plugins.kubeflow;
4
+
5
+ option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/plugins";
6
+
7
+ import "flyteidl/core/tasks.proto";
8
+ import "flyteidl/plugins/kubeflow/common.proto";
9
+
10
+ // Custom proto for torch elastic config for distributed training using
11
+ // https://github.com/kubeflow/training-operator/blob/master/pkg/apis/kubeflow.org/v1/pytorch_types.go
12
+ message ElasticConfig {
13
+ string rdzv_backend = 1;
14
+ int32 min_replicas = 2;
15
+ int32 max_replicas = 3;
16
+ int32 nproc_per_node = 4;
17
+ int32 max_restarts = 5;
18
+ }
19
+
20
+ // Proto for plugin that enables distributed training using https://github.com/kubeflow/pytorch-operator
21
+ message DistributedPyTorchTrainingTask {
22
+ // Worker replicas spec
23
+ DistributedPyTorchTrainingReplicaSpec worker_replicas = 1;
24
+
25
+ // Master replicas spec, master replicas can only have 1 replica
26
+ DistributedPyTorchTrainingReplicaSpec master_replicas = 2;
27
+
28
+ // RunPolicy encapsulates various runtime policies of the distributed training
29
+ // job, for example how to clean up resources and how long the job can stay
30
+ // active.
31
+ RunPolicy run_policy = 3;
32
+
33
+ // config for an elastic pytorch job
34
+ ElasticConfig elastic_config = 4;
35
+ }
36
+
37
+ message DistributedPyTorchTrainingReplicaSpec {
38
+ // Number of replicas
39
+ int32 replicas = 1;
40
+
41
+ // Image used for the replica group
42
+ string image = 2;
43
+
44
+ // Resources required for the replica group
45
+ core.Resources resources = 3;
46
+
47
+ // RestartPolicy determines whether pods will be restarted when they exit
48
+ RestartPolicy restart_policy = 4;
49
+ }
@@ -0,0 +1,39 @@
1
+ syntax = "proto3";
2
+
3
+ package flyteidl.plugins.kubeflow;
4
+
5
+ option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/plugins";
6
+
7
+ import "flyteidl/core/tasks.proto";
8
+ import "flyteidl/plugins/kubeflow/common.proto";
9
+
10
+ // Proto for plugin that enables distributed training using https://github.com/kubeflow/tf-operator
11
+ message DistributedTensorflowTrainingTask {
12
+ // Worker replicas spec
13
+ DistributedTensorflowTrainingReplicaSpec worker_replicas = 1;
14
+
15
+ // Parameter server replicas spec
16
+ DistributedTensorflowTrainingReplicaSpec ps_replicas = 2;
17
+
18
+ // Chief replicas spec
19
+ DistributedTensorflowTrainingReplicaSpec chief_replicas = 3;
20
+
21
+ // RunPolicy encapsulates various runtime policies of the distributed training
22
+ // job, for example how to clean up resources and how long the job can stay
23
+ // active.
24
+ RunPolicy run_policy = 4;
25
+ }
26
+
27
+ message DistributedTensorflowTrainingReplicaSpec {
28
+ // Number of replicas
29
+ int32 replicas = 1;
30
+
31
+ // Image used for the replica group
32
+ string image = 2;
33
+
34
+ // Resources required for the replica group
35
+ core.Resources resources = 3;
36
+
37
+ // RestartPolicy Determines whether pods will be restarted when they exit
38
+ RestartPolicy restart_policy = 4;
39
+ }