Skip to content

Commit e74f74f

Browse files
onsailsgithub-actions[bot]
authored andcommitted
chore(openshell): re-vendor proto to v0.0.88
1 parent 0b24979 commit e74f74f

4 files changed

Lines changed: 521 additions & 20 deletions

File tree

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
tag: v0.0.62
2-
fetched: 2026-06-13T07:00:33Z
1+
tag: v0.0.88
2+
fetched: 2026-07-22T07:56:06Z
33
upstream: https://github.com/NVIDIA/OpenShell

crates/right-openshell/proto/openshell/datamodel.proto

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ syntax = "proto3";
55

66
package openshell.datamodel.v1;
77

8+
import "options.proto";
9+
810
// Kubernetes-style metadata shared by all top-level OpenShell domain objects.
911
//
10-
// This structure provides consistent metadata (identity, labels, timestamps,
11-
// resource versioning) across Sandbox, Provider, SshSession, and other resources.
12+
// This structure provides consistent metadata (identity, labels, annotations,
13+
// timestamps, resource versioning) across Sandbox, Provider, SshSession, and
14+
// other resources.
1215
message ObjectMeta {
1316
// Stable object ID generated by the gateway.
1417
string id = 1;
@@ -26,6 +29,43 @@ message ObjectMeta {
2629
// Optimistic concurrency control version.
2730
// Incremented by the gateway on each update. Clients can use this for compare-and-swap operations.
2831
uint64 resource_version = 5;
32+
33+
// Opaque key-value metadata that is not used for selectors.
34+
// Annotation keys use the same qualified-key shape as labels, but values may be longer.
35+
map<string, string> annotations = 6;
36+
37+
// Workspace that owns this resource. Empty is normalized to "default" by the
38+
// gateway. Immutable after creation.
39+
string workspace = 7;
40+
41+
// Milliseconds since Unix epoch when graceful deletion was initiated.
42+
// Zero means the object is not being deleted. Once set, this field is
43+
// immutable — the only path forward is completing deletion.
44+
int64 deletion_timestamp_ms = 8;
45+
}
46+
47+
// Phase of a workspace's lifecycle.
48+
enum WorkspacePhase {
49+
WORKSPACE_PHASE_UNSPECIFIED = 0;
50+
WORKSPACE_PHASE_ACTIVE = 1;
51+
WORKSPACE_PHASE_TERMINATING = 2;
52+
}
53+
54+
// Status of a workspace.
55+
message WorkspaceStatus {
56+
WorkspacePhase phase = 1;
57+
}
58+
59+
// Workspace resource. A hard isolation boundary for sandboxes, providers, and
60+
// other workspace-scoped resources.
61+
message Workspace {
62+
// Kubernetes-style metadata (id, name, labels, timestamps, resource version).
63+
// The workspace field in this ObjectMeta is unused (a workspace does not
64+
// belong to another workspace).
65+
ObjectMeta metadata = 1;
66+
67+
// Current lifecycle status.
68+
WorkspaceStatus status = 2;
2969
}
3070

3171
// Provider model stored by OpenShell.
@@ -35,10 +75,14 @@ message Provider {
3575
// Canonical provider type slug (for example: "claude", "gitlab").
3676
string type = 2;
3777
// Secret values used for authentication.
38-
map<string, string> credentials = 3;
78+
map<string, string> credentials = 3 [(openshell.options.v1.secret) = true];
3979
// Non-secret provider configuration.
4080
map<string, string> config = 4;
4181
// Expiration timestamps for credential values, keyed by credential/env var
4282
// name. A zero or missing value means the credential does not expire.
4383
map<string, int64> credential_expires_at_ms = 5;
84+
// Workspace where this provider's type profile is stored.
85+
// Empty string = platform/global scope. Must be empty or match
86+
// metadata.workspace; cross-workspace references are rejected.
87+
string profile_workspace = 6;
4488
}

0 commit comments

Comments
 (0)