Conversation
…t S3 backups, ARM64 CI - fix #26: redeploy() reloads service.toml from disk before reconciling so mount/env edits take effect without a full orca deploy - feat #12: WS log streaming — master routes LogRequest to the correct agent over WebSocket, collects LogChunk frames with 30s timeout, returns full logs - feat #25: agent S3 backup dispatch — backup scheduler broadcasts BackupRequest to all connected agents; agents run backup subprocess with config from env var - feat #7: ARM64 CI job cross-compiles release binary and uploads as artifact - bump workspace version to 0.2.4-dev Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- operations.rs: 4 new tests for load_fresh_config — monolithic fallback, per-service precedence, missing service, invalid TOML; serialize CWD- mutating tests via a shared Mutex to prevent parallel test races - backup_scheduler.rs: 2 async tests for dispatch_agent_backups — verifies BackupRequest is sent to all connected agents, and no panic when empty - api/handlers/ops.rs: 5 tests for remote log streaming — remote_node_id extraction from runtime_id prefix, local id rejection, bad suffix, listener registration lifecycle, cleanup when agent disconnected - ws_client.rs: 4 tests — log handle naming convention, LogChunk done=true round-trip, backup config JSON round-trip, BackupResult failure round-trip - backup.rs (cli): 3 tests — env var JSON config loading, malformed JSON fallthrough, default config values Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
redeploynow re-readsservices/{name}/service.toml(orservices.toml) from disk before reconciling — mount/env edits take effect without a fullorca deployLogRequestto the correct agent over WebSocket, collectsLogChunkframes with 30s timeout, and returns the full log outputBackupRequestto all connected agents; agents run the backup subprocess with config passed viaORCA_BACKUP_CONFIG_JSONenv varorca-linux-arm64artifact on every push to mainTests added (19 new)
operations.rsservices.tomlfallback, per-service precedence, missing service name, invalid TOML; CWD tests serialized withstatic Mutexto fix pre-existing racebackup_scheduler.rsdispatch_agent_backupssends to all agents (async mpsc), noop when no agents connectedapi/handlers/ops.rsruntime_idprefix, local id rejection, bad suffix, listener lifecycle, cleanup on agent disconnectws_client.rsLogChunkdone=trueround-trip, backup config JSON round-trip,BackupResultfailure round-tripbackup.rs(cli)Test plan
cargo fmt --all && cargo clippy -- -D warnings— passes cleancargo test— all tests pass (19 new, 0 failures)orca redeploy <service>after editingservice.toml— verify new config takes effectorca logs <remote-service>streams from agent nodeBackupRequest🤖 Generated with Claude Code