Skip to content

feat: v0.2.4 — redeploy disk reload, WS log streaming, agent backups, ARM64 CI#27

Merged
mighty840 merged 2 commits intomainfrom
v0.2.4-rc
Apr 21, 2026
Merged

feat: v0.2.4 — redeploy disk reload, WS log streaming, agent backups, ARM64 CI#27
mighty840 merged 2 commits intomainfrom
v0.2.4-rc

Conversation

@mighty840
Copy link
Copy Markdown
Owner

Summary

Tests added (19 new)

File New tests
operations.rs monolithic services.toml fallback, per-service precedence, missing service name, invalid TOML; CWD tests serialized with static Mutex to fix pre-existing race
backup_scheduler.rs dispatch_agent_backups sends to all agents (async mpsc), noop when no agents connected
api/handlers/ops.rs remote node_id extraction from runtime_id prefix, local id rejection, bad suffix, listener lifecycle, cleanup on agent disconnect
ws_client.rs log handle naming convention, LogChunk done=true round-trip, backup config JSON round-trip, BackupResult failure round-trip
backup.rs (cli) env var JSON config loading, malformed JSON fallthrough, default config values

Test plan

  • cargo fmt --all && cargo clippy -- -D warnings — passes clean
  • cargo test — all tests pass (19 new, 0 failures)
  • Deploy to staging and run orca redeploy <service> after editing service.toml — verify new config takes effect
  • Verify orca logs <remote-service> streams from agent node
  • Trigger scheduled backup and confirm agent nodes receive BackupRequest
  • Check ARM64 artifact uploads in CI Actions tab

🤖 Generated with Claude Code

mighty840 and others added 2 commits April 16, 2026 09:06
…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>
@mighty840 mighty840 merged commit c65aa1b into main Apr 21, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

redeploy doesn't re-read service.toml — uses cached spec

1 participant