Migrate trust resolution and config loading to async fs

This commit is contained in:
pakrym-oai
2026-03-24 15:25:47 -07:00
parent bc1714b51e
commit 109a876270
31 changed files with 906 additions and 611 deletions
+2 -2
View File
@@ -2,9 +2,9 @@ use std::sync::Arc;
use crate::ExecServerClient;
use crate::ExecServerError;
use crate::LOCAL_FS;
use crate::RemoteExecServerConnectArgs;
use crate::file_system::ExecutorFileSystem;
use crate::local_file_system::LocalFileSystem;
use crate::local_process::LocalProcess;
use crate::process::ExecProcess;
use crate::remote_file_system::RemoteFileSystem;
@@ -101,7 +101,7 @@ impl Environment {
if let Some(client) = self.remote_exec_server_client.clone() {
Arc::new(RemoteFileSystem::new(client))
} else {
Arc::new(LocalFileSystem)
Arc::new(LOCAL_FS)
}
}
}
+5
View File
@@ -39,6 +39,11 @@ pub type FileSystemResult<T> = io::Result<T>;
pub trait ExecutorFileSystem: Send + Sync {
async fn read_file(&self, path: &AbsolutePathBuf) -> FileSystemResult<Vec<u8>>;
async fn read_to_string(&self, path: &AbsolutePathBuf) -> FileSystemResult<String> {
let bytes = self.read_file(path).await?;
String::from_utf8(bytes).map_err(|err| io::Error::new(io::ErrorKind::InvalidData, err))
}
async fn write_file(&self, path: &AbsolutePathBuf, contents: Vec<u8>) -> FileSystemResult<()>;
async fn create_directory(
+3
View File
@@ -39,6 +39,7 @@ pub use file_system::FileMetadata;
pub use file_system::FileSystemResult;
pub use file_system::ReadDirectoryEntry;
pub use file_system::RemoveOptions;
pub use local_file_system::LocalFileSystem;
pub use process::ExecProcess;
pub use process::ExecServerEvent;
pub use protocol::ExecExitedNotification;
@@ -58,3 +59,5 @@ pub use server::DEFAULT_LISTEN_URL;
pub use server::ExecServerListenUrlParseError;
pub use server::run_main;
pub use server::run_main_with_listen_url;
pub const LOCAL_FS: LocalFileSystem = LocalFileSystem;
@@ -18,7 +18,7 @@ use crate::RemoveOptions;
const MAX_READ_FILE_BYTES: u64 = 512 * 1024 * 1024;
#[derive(Clone, Default)]
pub(crate) struct LocalFileSystem;
pub struct LocalFileSystem;
#[async_trait]
impl ExecutorFileSystem for LocalFileSystem {