@@ -43,6 +43,9 @@ service WorkspaceManager {
43
43
44
44
// deleteVolumeSnapshot asks ws-manager to delete specific volume snapshot and delete source from cloud provider as well
45
45
rpc DeleteVolumeSnapshot (DeleteVolumeSnapshotRequest ) returns (DeleteVolumeSnapshotResponse ) {}
46
+
47
+ // UpdateSSHKey update ssh keys
48
+ rpc UpdateSSHKey (UpdateSSHKeyRequest ) returns (UpdateSSHKeyResponse ) {}
46
49
}
47
50
48
51
// MetadataFilter describes conditions for matching a set of workspaces.
@@ -252,6 +255,18 @@ message BackupWorkspaceResponse {
252
255
string url = 1 ;
253
256
}
254
257
258
+ // UpdateSSHKeyRequest update ssh public key
259
+ message UpdateSSHKeyRequest {
260
+ // ID is the unique identifier of the workspace
261
+ string id = 1 ;
262
+
263
+ // keys is a set of authorized_keys
264
+ repeated string keys = 2 ;
265
+ }
266
+
267
+ // UpdateSSHKeyResponse is the answer to a upload ssh key request
268
+ message UpdateSSHKeyResponse {}
269
+
255
270
// WorkspaceStatus describes a workspace status
256
271
message WorkspaceStatus {
257
272
// ID is the unique identifier of the workspace
@@ -540,6 +555,9 @@ message StartWorkspaceSpec {
540
555
541
556
// volume_snapshot to use to restore PVC from, if set
542
557
VolumeSnapshotInfo volume_snapshot = 14 ;
558
+
559
+ // ssh_public_keys is user's uploaded ssh public keys
560
+ repeated string ssh_public_keys = 15 ;
543
561
}
544
562
545
563
// WorkspaceFeatureFlag enable non-standard behaviour in workspaces
@@ -624,3 +642,9 @@ message ExposedPorts {
624
642
// ports is the set of ports which ought to be exposed to the internet
625
643
repeated PortSpec ports = 1 ;
626
644
}
645
+
646
+ // SSHPublicKeys describes the user's uploaded ssh public keys, it will be used only in annotations.
647
+ message SSHPublicKeys {
648
+ // keys is the set of ssh public key
649
+ repeated string keys = 1 ;
650
+ }
0 commit comments