@@ -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
@@ -534,6 +549,9 @@ message StartWorkspaceSpec {
534
549
535
550
// volume_snapshot to use to restore PVC from, if set
536
551
VolumeSnapshotInfo volume_snapshot = 14 ;
552
+
553
+ // ssh_public_keys is user's uploaded ssh public keys
554
+ repeated string ssh_public_keys = 15 ;
537
555
}
538
556
539
557
// WorkspaceFeatureFlag enable non-standard behaviour in workspaces
@@ -618,3 +636,9 @@ message ExposedPorts {
618
636
// ports is the set of ports which ought to be exposed to the internet
619
637
repeated PortSpec ports = 1 ;
620
638
}
639
+
640
+ // SSHPublicKeys describes the user's uploaded ssh public keys, it will be used only in annotations.
641
+ message SSHPublicKeys {
642
+ // keys is the set of ssh public key
643
+ repeated string keys = 1 ;
644
+ }
0 commit comments