From 8f909c0105c79e1a7c36a9d1b09e8f011904133220155335c2beb23231969920 Mon Sep 17 00:00:00 2001 From: Till Wegmueller Date: Tue, 18 Nov 2025 14:48:20 +0100 Subject: [PATCH] Update default SSH user to 'sol' and enhance cloud-init config; bump version to 0.1.15 - Change the default SSH username from 'ubuntu' to 'sol' for consistency with Solstice CI environment. - Modify cloud-init user configuration to align with the new default, adding enhanced permissions and settings for 'sol' user. - Increment orchestrator version to 0.1.15. Signed-off-by: Till Wegmueller --- crates/orchestrator/Cargo.toml | 2 +- crates/orchestrator/src/main.rs | 12 ++++++++---- crates/orchestrator/src/scheduler.rs | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/crates/orchestrator/Cargo.toml b/crates/orchestrator/Cargo.toml index 35b089e..eec675a 100644 --- a/crates/orchestrator/Cargo.toml +++ b/crates/orchestrator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "orchestrator" -version = "0.1.14" +version = "0.1.15" edition = "2024" build = "build.rs" diff --git a/crates/orchestrator/src/main.rs b/crates/orchestrator/src/main.rs index 081817e..42c67ed 100644 --- a/crates/orchestrator/src/main.rs +++ b/crates/orchestrator/src/main.rs @@ -245,7 +245,7 @@ async fn main() -> Result<()> { let mq_cfg_clone = mq_cfg.clone(); let tx_for_consumer = sched_tx.clone(); let persist_for_consumer = persist.clone(); - let default_ssh_user = std::sync::Arc::new(String::from("ubuntu")); + let default_ssh_user = std::sync::Arc::new(String::from("sol")); // Start consumer that can be shut down cooperatively on ctrl-c let (shutdown_tx, shutdown_rx) = tokio::sync::oneshot::channel::<()>(); let consumer_task = tokio::spawn(async move { @@ -446,9 +446,13 @@ fn make_cloud_init_userdata( let s = format!( r#"#cloud-config users: - - default -ssh_authorized_keys: - - {ssh_pubkey} + - name: sol + gecos: Solstice CI + groups: [sudo] + shell: /bin/bash + sudo: ALL=(ALL) NOPASSWD:ALL + ssh_authorized_keys: + - {ssh_pubkey} write_files: - path: /etc/solstice/job.yaml permissions: '0644' diff --git a/crates/orchestrator/src/scheduler.rs b/crates/orchestrator/src/scheduler.rs index a88895b..9c28f7c 100644 --- a/crates/orchestrator/src/scheduler.rs +++ b/crates/orchestrator/src/scheduler.rs @@ -221,7 +221,7 @@ impl Scheduler { ).await { Some(ip) => { let ip_owned = ip.clone(); - let user = item.ctx.ssh_user.clone().unwrap_or_else(|| "ubuntu".to_string()); + let user = item.ctx.ssh_user.clone().unwrap_or_else(|| "sol".to_string()); let per_job_key_path = item.ctx.ssh_private_key_path.as_ref().map(|s| expand_tilde(s)); let key_mem_opt = item.ctx.ssh_private_key_pem.clone(); // Choose correct runner binary based on label (illumos vs linux)