@cofy-x/axern-sdk 0.5.1 → 0.7.0

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.
Files changed (62) hide show
  1. package/README.md +39 -52
  2. package/dist/client/index.d.ts +12 -11
  3. package/dist/client/index.js +64 -65
  4. package/dist/config/index.d.ts +0 -1
  5. package/dist/config/index.js +2 -4
  6. package/dist/generated/proto.js +0 -1
  7. package/dist/index.d.ts +6 -5
  8. package/dist/index.js +2 -2
  9. package/dist/network-policy.d.ts +41 -0
  10. package/dist/network-policy.js +132 -0
  11. package/dist/node/attached_process.d.ts +1 -2
  12. package/dist/node/attached_process.js +12 -26
  13. package/dist/node/client.d.ts +4 -6
  14. package/dist/node/client.js +2 -9
  15. package/dist/node/exec.d.ts +1 -3
  16. package/dist/node/exec.js +0 -43
  17. package/dist/proto/axern/control/admin/v1/access.proto +12 -5
  18. package/dist/proto/axern/control/admin/v1/audit.proto +14 -16
  19. package/dist/proto/axern/control/admin/v1/node.proto +23 -67
  20. package/dist/proto/axern/control/admin/v1/reliability.proto +11 -78
  21. package/dist/proto/axern/control/capability/v1/capability.proto +35 -90
  22. package/dist/proto/axern/control/common/v1/common.proto +72 -102
  23. package/dist/proto/axern/control/environment/v1/environment.proto +42 -26
  24. package/dist/proto/axern/control/gateway/v1/gateway.proto +18 -59
  25. package/dist/proto/axern/control/identity/v1/identity.proto +1 -1
  26. package/dist/proto/axern/control/namespace/v1/namespace.proto +2 -3
  27. package/dist/proto/axern/control/quota/v1/quota.proto +22 -32
  28. package/dist/proto/axern/control/run/v1/run.proto +26 -22
  29. package/dist/proto/axern/control/secret/v1/secret.proto +1 -3
  30. package/dist/proto/axern/control/tunnel/v1/tunnel.proto +18 -25
  31. package/dist/proto/axern/node/sandbox/v1/node.proto +59 -375
  32. package/dist/sandbox/index.d.ts +5 -9
  33. package/dist/sandbox/index.js +14 -22
  34. package/dist/sandbox/lifecycle.d.ts +1 -1
  35. package/dist/sandbox/lifecycle.js +55 -17
  36. package/dist/tunnel/connector.js +1 -1
  37. package/dist/tunnel/control.d.ts +0 -1
  38. package/dist/tunnel/control.js +0 -1
  39. package/dist/tunnel/runtime.d.ts +0 -1
  40. package/dist/tunnel/runtime.js +0 -1
  41. package/dist/tunnel/types.d.ts +0 -1
  42. package/dist/types.d.ts +4 -21
  43. package/dist/types.js +1 -3
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +1 -1
  47. package/dist/proto/axern/control/admin/v1/allocation_lifecycle.proto +0 -91
  48. package/dist/proto/axern/control/admin/v1/service.proto +0 -18
  49. package/dist/proto/axern/control/admin/v1/storage.proto +0 -81
  50. package/dist/proto/axern/control/agentprofile/v1/agent_profile.proto +0 -169
  51. package/dist/proto/axern/control/catalog/v1/catalog.proto +0 -127
  52. package/dist/proto/axern/control/function/v1/function.proto +0 -130
  53. package/dist/proto/axern/control/function/v1/function_types.proto +0 -233
  54. package/dist/proto/axern/control/node/v1/node_control.proto +0 -443
  55. package/dist/proto/axern/control/rollout/v1/rollout.proto +0 -344
  56. package/dist/proto/axern/control/service/v1/service.proto +0 -96
  57. package/dist/proto/axern/control/service/v1/service_event.proto +0 -47
  58. package/dist/proto/axern/control/service/v1/service_replica.proto +0 -78
  59. package/dist/proto/axern/control/service/v1/service_types.proto +0 -155
  60. package/dist/proto/axern/control/storage/v1/storage.proto +0 -107
  61. package/dist/proto/axern/control/storage/v1/storage_types.proto +0 -125
  62. package/dist/proto/axern/data/artifact/v1/artifact.proto +0 -19
@@ -4,47 +4,14 @@ package axern.control.gateway.v1;
4
4
 
5
5
  option go_package = "github.com/cofy-x/axern/sdk/go/gen/axern/control/gateway/v1;gatewayv1";
6
6
 
7
- import "axern/control/common/v1/common.proto";
8
- import "axern/control/service/v1/service_types.proto";
9
-
10
- message ResolveServiceRouteRequest {
11
- string namespace = 1;
12
- string service_id = 2;
13
- string port_ref = 3;
14
- int64 ttl_seconds = 4;
15
- }
16
-
17
- message ServiceRoutePort {
18
- string name = 1;
19
- axern.control.common.v1.PortProtocol protocol = 2;
20
- int32 container_port = 3;
21
- }
22
-
23
- message ServiceRouteEndpoint {
24
- string allocation_id = 1;
25
- string node_id = 2;
26
- string node_target = 3;
27
- int64 attempt = 4;
28
- int32 container_port = 5;
29
- axern.control.common.v1.PortProtocol protocol = 6;
30
- bool ready = 7;
31
- axern.control.common.v1.ExecutionLease lease = 8;
32
- }
33
-
34
- message ResolveServiceRouteResponse {
35
- string service_id = 1;
36
- string namespace = 2;
37
- axern.control.service.v1.ServiceStatus service_status = 3;
38
- ServiceRoutePort port = 4;
39
- repeated ServiceRouteEndpoint endpoints = 5;
40
- }
41
-
7
+ import "google/protobuf/timestamp.proto";
8
+ import "google/protobuf/empty.proto";
42
9
  message ResolveAllocationTerminalRequest {
43
10
  string allocation_id = 1;
44
11
  int64 ttl_seconds = 2;
45
- string client_certificate_fingerprint = 3;
46
- string rollout_execution_lease = 4;
47
- AllocationAccessPurpose purpose = 5;
12
+ string credential_fingerprint = 3;
13
+ AllocationAccessPurpose purpose = 4;
14
+ string credential_kind = 5;
48
15
  }
49
16
 
50
17
  enum AllocationAccessPurpose {
@@ -55,12 +22,18 @@ enum AllocationAccessPurpose {
55
22
 
56
23
  message ResolveAllocationTerminalResponse {
57
24
  string allocation_id = 1;
58
- string owner_type = 2;
59
- string owner_id = 3;
60
- string node_id = 4;
61
- string node_target = 5;
62
- int64 attempt = 6;
63
- axern.control.common.v1.ExecutionLease lease = 7;
25
+ string run_id = 2;
26
+ string node_id = 3;
27
+ string node_target = 4;
28
+ AllocationAccessGrant access_grant = 5;
29
+ }
30
+
31
+ message AllocationAccessGrant {
32
+ string grant_id = 1;
33
+ string allocation_id = 2;
34
+ string node_id = 3;
35
+ string plaintext_token = 4;
36
+ google.protobuf.Timestamp expires_at = 5;
64
37
  }
65
38
 
66
39
  message ResolveTunnelRelayTargetRequest {
@@ -71,22 +44,8 @@ message ResolveTunnelRelayTargetResponse {
71
44
  string node_edge_target = 1;
72
45
  }
73
46
 
74
- message ResolveServiceReplicaTargetsRequest {
75
- string service_id = 1;
76
- }
77
-
78
- message ServiceReplicaTarget {
79
- string allocation_id = 1;
80
- string node_id = 2;
81
- }
82
-
83
- message ResolveServiceReplicaTargetsResponse {
84
- repeated ServiceReplicaTarget replicas = 1;
85
- }
86
-
87
47
  service GatewayControl {
88
- rpc ResolveServiceRoute(ResolveServiceRouteRequest) returns (ResolveServiceRouteResponse) {}
48
+ rpc AuthorizeAllocationAccess(ResolveAllocationTerminalRequest) returns (google.protobuf.Empty) {}
89
49
  rpc ResolveAllocationTerminal(ResolveAllocationTerminalRequest) returns (ResolveAllocationTerminalResponse) {}
90
50
  rpc ResolveTunnelRelayTarget(ResolveTunnelRelayTargetRequest) returns (ResolveTunnelRelayTargetResponse) {}
91
- rpc ResolveServiceReplicaTargets(ResolveServiceReplicaTargetsRequest) returns (ResolveServiceReplicaTargetsResponse) {}
92
51
  }
@@ -17,7 +17,7 @@ message CredentialIdentity {
17
17
  string credential_id = 1;
18
18
  string label = 2;
19
19
  string fingerprint = 3;
20
- google.protobuf.Timestamp certificate_not_after = 4;
20
+ google.protobuf.Timestamp expires_at = 4;
21
21
  }
22
22
 
23
23
  message EffectiveRole {
@@ -8,9 +8,8 @@ import "google/protobuf/timestamp.proto";
8
8
 
9
9
  message Namespace {
10
10
  string namespace = 1;
11
- int64 version = 2;
12
- google.protobuf.Timestamp created_at = 3;
13
- google.protobuf.Timestamp updated_at = 4;
11
+ google.protobuf.Timestamp created_at = 2;
12
+ google.protobuf.Timestamp deleted_at = 3;
14
13
  }
15
14
 
16
15
  message CreateNamespaceRequest {
@@ -11,16 +11,15 @@ message NamespaceQuota {
11
11
  string namespace = 1;
12
12
  google.protobuf.Int64Value cpu_milli_limit = 2;
13
13
  google.protobuf.Int64Value memory_bytes_limit = 3;
14
- int64 reserved_cpu_milli = 4;
15
- int64 reserved_memory_bytes = 5;
14
+ int64 used_cpu_milli = 4;
15
+ int64 used_memory_bytes = 5;
16
16
  google.protobuf.Int64Value available_cpu_milli = 6;
17
17
  google.protobuf.Int64Value available_memory_bytes = 7;
18
- int64 version = 8;
19
- google.protobuf.Timestamp created_at = 9;
20
- google.protobuf.Timestamp updated_at = 10;
21
- google.protobuf.Int64Value ephemeral_storage_bytes_limit = 11;
22
- int64 reserved_ephemeral_storage_bytes = 12;
23
- google.protobuf.Int64Value available_ephemeral_storage_bytes = 13;
18
+ google.protobuf.Timestamp created_at = 8;
19
+ google.protobuf.Timestamp updated_at = 9;
20
+ google.protobuf.Int64Value ephemeral_storage_bytes_limit = 10;
21
+ int64 used_ephemeral_storage_bytes = 11;
22
+ google.protobuf.Int64Value available_ephemeral_storage_bytes = 12;
24
23
  }
25
24
 
26
25
  enum NamespaceQuotaEventType {
@@ -28,12 +27,6 @@ enum NamespaceQuotaEventType {
28
27
  NAMESPACE_QUOTA_EVENT_TYPE_ADMISSION_REJECTED = 1;
29
28
  }
30
29
 
31
- enum NamespaceQuotaEventWorkloadType {
32
- NAMESPACE_QUOTA_EVENT_WORKLOAD_TYPE_UNSPECIFIED = 0;
33
- NAMESPACE_QUOTA_EVENT_WORKLOAD_TYPE_RUN = 1;
34
- NAMESPACE_QUOTA_EVENT_WORKLOAD_TYPE_SERVICE = 2;
35
- }
36
-
37
30
  enum NamespaceQuotaEventReason {
38
31
  NAMESPACE_QUOTA_EVENT_REASON_UNSPECIFIED = 0;
39
32
  NAMESPACE_QUOTA_EVENT_REASON_INSUFFICIENT_CPU = 1;
@@ -46,24 +39,21 @@ message NamespaceQuotaEvent {
46
39
  string id = 1;
47
40
  string namespace = 2;
48
41
  NamespaceQuotaEventType type = 3;
49
- NamespaceQuotaEventWorkloadType workload_type = 4;
50
- string workload_id = 5;
51
- string environment_id = 6;
52
- NamespaceQuotaEventReason reason = 7;
53
- int64 requested_cpu_milli = 8;
54
- int64 reserved_cpu_milli = 9;
55
- google.protobuf.Int64Value cpu_milli_limit = 10;
56
- google.protobuf.Int64Value available_cpu_milli = 11;
57
- int64 requested_memory_bytes = 12;
58
- int64 reserved_memory_bytes = 13;
59
- google.protobuf.Int64Value memory_bytes_limit = 14;
60
- google.protobuf.Int64Value available_memory_bytes = 15;
61
- string message = 16;
62
- google.protobuf.Timestamp created_at = 17;
63
- int64 requested_ephemeral_storage_bytes = 18;
64
- int64 reserved_ephemeral_storage_bytes = 19;
65
- google.protobuf.Int64Value ephemeral_storage_bytes_limit = 20;
66
- google.protobuf.Int64Value available_ephemeral_storage_bytes = 21;
42
+ string environment_id = 4;
43
+ NamespaceQuotaEventReason reason = 5;
44
+ int64 requested_cpu_milli = 6;
45
+ int64 used_cpu_milli = 7;
46
+ google.protobuf.Int64Value cpu_milli_limit = 8;
47
+ google.protobuf.Int64Value available_cpu_milli = 9;
48
+ int64 requested_memory_bytes = 10;
49
+ int64 used_memory_bytes = 11;
50
+ google.protobuf.Int64Value memory_bytes_limit = 12;
51
+ google.protobuf.Int64Value available_memory_bytes = 13;
52
+ google.protobuf.Timestamp created_at = 14;
53
+ int64 requested_ephemeral_storage_bytes = 15;
54
+ int64 used_ephemeral_storage_bytes = 16;
55
+ google.protobuf.Int64Value ephemeral_storage_bytes_limit = 17;
56
+ google.protobuf.Int64Value available_ephemeral_storage_bytes = 18;
67
57
  }
68
58
 
69
59
  message GetNamespaceQuotaRequest {
@@ -6,17 +6,17 @@ option go_package = "github.com/cofy-x/axern/sdk/go/gen/axern/control/run/v1;run
6
6
 
7
7
  import "axern/control/common/v1/common.proto";
8
8
  import "axern/control/capability/v1/capability.proto";
9
+ import "axern/control/environment/v1/environment.proto";
9
10
  import "google/protobuf/timestamp.proto";
10
11
 
11
12
  enum RunStatus {
12
13
  RUN_STATUS_UNSPECIFIED = 0;
13
- RUN_STATUS_QUEUED = 1;
14
- RUN_STATUS_PLACED = 2;
15
- RUN_STATUS_STARTING = 3;
16
- RUN_STATUS_RUNNING = 4;
17
- RUN_STATUS_SUCCEEDED = 5;
18
- RUN_STATUS_FAILED = 6;
19
- RUN_STATUS_CANCELLED = 7;
14
+ RUN_STATUS_PLACED = 1;
15
+ RUN_STATUS_STARTING = 2;
16
+ RUN_STATUS_RUNNING = 3;
17
+ RUN_STATUS_SUCCEEDED = 4;
18
+ RUN_STATUS_FAILED = 5;
19
+ RUN_STATUS_CANCELLED = 6;
20
20
  }
21
21
 
22
22
  message Run {
@@ -24,21 +24,25 @@ message Run {
24
24
  string namespace = 2;
25
25
  string environment_id = 3;
26
26
  string allocation_id = 4;
27
- int64 attempt = 5;
28
- RunStatus status = 6;
29
- axern.control.common.v1.ExecutionConfig config = 7;
30
- map<string, string> labels = 8;
31
- int64 version = 9;
32
- google.protobuf.Timestamp created_at = 10;
33
- google.protobuf.Timestamp updated_at = 11;
34
- int32 exit_code = 12;
35
- bool exit_code_known = 13;
36
- string message = 14;
37
- axern.control.common.v1.WorkloadDiagnosticCode diagnostic_code = 15;
38
- // Full, monotonically revised allocation capability condition projection.
39
- // It is independent from run lifecycle status and message.
40
- axern.control.capability.v1.CapabilityConditionSet capability_conditions = 16;
41
- reserved 17 to 18;
27
+ RunStatus status = 5;
28
+ axern.control.common.v1.ExecutionConfig config = 6;
29
+ map<string, string> labels = 7;
30
+ int64 version = 8;
31
+ google.protobuf.Timestamp created_at = 9;
32
+ google.protobuf.Timestamp updated_at = 10;
33
+ optional int32 exit_code = 11;
34
+ string message = 12;
35
+ axern.control.common.v1.WorkloadDiagnosticCode diagnostic_code = 13;
36
+ // Latest allocation capability condition projection. It is independent
37
+ // from Run lifecycle status and message.
38
+ axern.control.capability.v1.CapabilityConditionSet capability_conditions = 14;
39
+ string node_id = 15;
40
+ // Immutable Environment input frozen atomically with Run admission. The
41
+ // source record may be deleted after this Run is created.
42
+ axern.control.environment.v1.EnvironmentSpec environment_spec = 16;
43
+ axern.control.environment.v1.ResolvedEnvironmentSpec resolved_environment_spec = 17;
44
+ // Node-local stdout/stderr availability deadline; node loss may make bytes unavailable earlier.
45
+ google.protobuf.Timestamp output_expires_at = 18;
42
46
  }
43
47
 
44
48
  message RunListFilter {
@@ -18,9 +18,7 @@ message Secret {
18
18
  SecretType type = 3;
19
19
  repeated string data_keys = 4;
20
20
  map<string, string> labels = 5;
21
- int64 version = 6;
22
- google.protobuf.Timestamp created_at = 7;
23
- google.protobuf.Timestamp updated_at = 8;
21
+ google.protobuf.Timestamp created_at = 6;
24
22
  }
25
23
 
26
24
  message SecretListFilter {
@@ -67,27 +67,21 @@ message TunnelSession {
67
67
  string session_id = 1;
68
68
  string allocation_id = 2;
69
69
  string node_id = 3;
70
- string node_target = 4;
71
- int64 attempt = 5;
72
- int32 remote_port = 6;
73
- string local_target = 7;
74
- string edge_target = 8;
75
- TunnelSessionStatus status = 9;
76
- string reason = 10;
77
- string bound_addr = 11;
78
- bool revoked = 12;
79
- google.protobuf.Timestamp created_at = 13;
80
- google.protobuf.Timestamp updated_at = 14;
81
- google.protobuf.Timestamp expires_at = 15;
82
- string node_edge_target = 16;
83
- string relay_id = 17;
84
- string client_edge_target = 18;
85
- google.protobuf.Timestamp ready_at = 19;
86
- google.protobuf.Timestamp last_peer_event_at = 20;
87
- int64 bytes_in = 21;
88
- int64 bytes_out = 22;
89
- string namespace = 23;
90
- string creator_principal_id = 24;
70
+ int32 remote_port = 4;
71
+ string client_edge_target = 5;
72
+ TunnelSessionStatus status = 6;
73
+ string reason = 7;
74
+ string bound_addr = 8;
75
+ google.protobuf.Timestamp created_at = 9;
76
+ google.protobuf.Timestamp updated_at = 10;
77
+ google.protobuf.Timestamp expires_at = 11;
78
+ string relay_id = 12;
79
+ google.protobuf.Timestamp ready_at = 13;
80
+ google.protobuf.Timestamp last_peer_event_at = 14;
81
+ int64 bytes_in = 15;
82
+ int64 bytes_out = 16;
83
+ string namespace = 17;
84
+ string creator_principal_id = 18;
91
85
  }
92
86
 
93
87
  message TunnelSessionEvent {
@@ -108,10 +102,9 @@ message TunnelSessionEvent {
108
102
  message CreateTunnelSessionRequest {
109
103
  string allocation_id = 1;
110
104
  optional int32 remote_port = 2;
111
- string local_target = 3;
112
- google.protobuf.Duration ttl = 4;
113
- bool wait_ready = 5;
114
- google.protobuf.Duration ready_timeout = 6;
105
+ google.protobuf.Duration ttl = 3;
106
+ bool wait_ready = 4;
107
+ google.protobuf.Duration ready_timeout = 5;
115
108
  }
116
109
 
117
110
  message CreateTunnelSessionResponse {