steer_workspace/config.rs
1use serde::{Deserialize, Serialize};
2
3/// Configuration for a workspace
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub enum WorkspaceConfig {
6 /// Local filesystem workspace
7 Local {
8 /// Path to the workspace directory
9 path: std::path::PathBuf,
10 },
11 /// Remote workspace accessed via gRPC
12 Remote {
13 /// Address of the remote workspace service (e.g., "localhost:50051")
14 address: String,
15 /// Optional authentication for the remote service
16 auth: Option<RemoteAuth>,
17 },
18 /// Container workspace (not yet implemented)
19 Container {
20 /// Container ID or name
21 container_id: String,
22 },
23}
24
25/// Authentication information for remote workspaces
26#[derive(Debug, Clone, Serialize, Deserialize)]
27pub enum RemoteAuth {
28 /// Bearer token authentication
29 BearerToken(String),
30 /// API key authentication
31 ApiKey(String),
32}