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}
19
20/// Authentication information for remote workspaces
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub enum RemoteAuth {
23 /// Bearer token authentication
24 BearerToken(String),
25 /// API key authentication
26 ApiKey(String),
27}