Merge pull request #1071 from fabro-sh/codex/installer-settings

Stop generating ignored run settings during browser installation
This commit is contained in:
Scott Werner 2026-10-23 17:38:33 -04:00 • committed by GitHub
commit 6f1e0fd0d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 49 deletions

View file

@ -956,14 +956,6 @@ async fn token_install_finish_persists_settings_env_and_vault() {
let settings = std::fs::read_to_string(&config_path).unwrap();
assert!(settings.contains("https://fabro.example.com"));
assert!(settings.contains("strategy = \"token\""));
assert!(
settings.contains("[run.environment]"),
"settings.toml should contain [run.environment]"
);
assert!(
!settings.contains("[environments"),
"settings.toml should not contain environment catalog entries"
);
assert_sandbox_provider_policy(&settings, true, true, false);
assert_no_legacy_environment_dir(&temp_dir);
let default_environment = seeded_default_environment(&temp_dir).await;
@ -2614,11 +2606,6 @@ async fn sandbox_switching_from_daytona_to_docker_drops_saved_key() {
)
.await;
let settings = std::fs::read_to_string(&config_path).unwrap();
assert!(
settings.contains("[run.environment]"),
"settings.toml should select the default environment"
);
assert_no_legacy_environment_dir(&temp_dir);
let default_environment = seeded_default_environment(&temp_dir).await;
assert_eq!(default_environment.settings.provider.to_string(), "docker");
@ -2730,14 +2717,6 @@ async fn daytona_install_finish_writes_settings_and_vault_secret() {
.await;
let settings = std::fs::read_to_string(&config_path).unwrap();
assert!(
settings.contains("[run.environment]"),
"settings.toml should contain [run.environment]"
);
assert!(
!settings.contains("[environments"),
"settings.toml should not contain environment catalog entries"
);
assert_sandbox_provider_policy(&settings, true, false, true);
assert_no_legacy_environment_dir(&temp_dir);
let default_environment = seeded_default_environment(&temp_dir).await;

View file

@ -498,10 +498,9 @@ pub fn write_sandbox_settings(
allow_local: bool,
) -> Result<()> {
let root = root_table_mut(doc)?;
let run = ensure_table(root, "run")?;
let environment = ensure_table(run, "environment")?;
environment.insert("id".to_string(), toml::Value::String("default".to_string()));
// Install seeds `default` in the server catalog separately. Run creation
// already selects it when no environment is supplied; writing a [run] table
// here would make the CLI warn about settings it does not transmit.
let server = ensure_table(root, "server")?;
write_sandbox_provider_policy(server, selection, allow_local)?;
Ok(())
@ -1325,7 +1324,6 @@ stale = "remove-me"
.and_then(toml::Value::as_str),
Some("/srv/fabro/objects")
);
assert!(server.get("slatedb").is_none());
assert!(plan.writes.is_empty());
assert_eq!(plan.removals.len(), 2);
}
@ -1354,7 +1352,6 @@ stale = "remove-me"
.and_then(toml::Value::as_str),
Some("artifacts")
);
assert!(server.get("slatedb").is_none());
assert!(plan.writes.is_empty());
}
@ -1393,42 +1390,22 @@ stale = "remove-me"
}
#[test]
fn write_sandbox_settings_records_run_default_without_environment_catalog() {
fn write_sandbox_settings_records_docker_policy() {
let mut doc = toml::Value::Table(toml::Table::default());
write_sandbox_settings(&mut doc, InstallSandboxSelection::Docker, true)
.expect("docker sandbox selection should succeed");
assert_eq!(
doc.get("run")
.and_then(toml::Value::as_table)
.and_then(|run| run.get("environment"))
.and_then(toml::Value::as_table)
.and_then(|env| env.get("id"))
.and_then(toml::Value::as_str),
Some("default")
);
assert!(doc.get("environments").is_none());
assert_eq!(sandbox_provider_enabled(&doc, "local"), Some(true));
assert_eq!(sandbox_provider_enabled(&doc, "docker"), Some(true));
assert_eq!(sandbox_provider_enabled(&doc, "daytona"), Some(false));
}
#[test]
fn write_sandbox_settings_records_daytona_policy_without_environment_catalog() {
fn write_sandbox_settings_records_daytona_policy() {
let mut doc = toml::Value::Table(toml::Table::default());
write_sandbox_settings(&mut doc, InstallSandboxSelection::Daytona, true)
.expect("daytona sandbox selection should succeed");
assert_eq!(
doc.get("run")
.and_then(toml::Value::as_table)
.and_then(|run| run.get("environment"))
.and_then(toml::Value::as_table)
.and_then(|env| env.get("id"))
.and_then(toml::Value::as_str),
Some("default")
);
assert!(doc.get("environments").is_none());
assert_eq!(sandbox_provider_enabled(&doc, "local"), Some(true));
assert_eq!(sandbox_provider_enabled(&doc, "docker"), Some(false));
assert_eq!(sandbox_provider_enabled(&doc, "daytona"), Some(true));