@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.
- package/gen/pb-js/flyteidl.d.ts +6 -0
- package/gen/pb-js/flyteidl.js +17 -0
- package/package.json +1 -1
- package/protos/flyteidl/core/security.proto +3 -0
- package/protos/flyteidl/plugins/kubeflow/common.proto +33 -0
- package/protos/flyteidl/plugins/kubeflow/mpi.proto +43 -0
- package/protos/flyteidl/plugins/kubeflow/pytorch.proto +49 -0
- package/protos/flyteidl/plugins/kubeflow/tensorflow.proto +39 -0
package/gen/pb-js/flyteidl.d.ts
CHANGED
|
@@ -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
|
package/gen/pb-js/flyteidl.js
CHANGED
|
@@ -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
|
@@ -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
|
+
}
|