Skip to content

Introduce pluggable fleet storage - #1261

Open
floitsch wants to merge 16 commits into
floitsch/build-artemis-service.s-new.180from
floitsch/build-artemis-service.s-new.190
Open

Introduce pluggable fleet storage#1261
floitsch wants to merge 16 commits into
floitsch/build-artemis-service.s-new.180from
floitsch/build-artemis-service.s-new.190

Conversation

@floitsch

Copy link
Copy Markdown
Member

Summary

  • add a FleetStore persistence strategy and a FileFleetStore for the existing fleet.json/devices.json layout
  • give Fleet the store and move group/device mutations out of command handlers
  • collapse FleetWithDevices into Fleet while retaining explicit reference-only and device-required construction paths
  • add a shared contract test that exercises both an in-memory store and the file-backed implementation

Compatibility

This is a behavior-preserving extraction. Existing fleet files, reference files, migration fields, server wiring, recovery URLs, and pod specification locations remain unchanged. Server and migration fields on FleetStore are explicitly transitional until workspace construction supplies backend strategies independently.

Tests

  • toit analyze src/cli/cli.toit
  • toit analyze --project-root tests tests/*-test.toit
  • toit run --project-root tests tests/fleet-store-test.toit
  • cmd-fleet-group-test.toit with local HTTP servers
  • cmd-fleet-create-reference-test.toit with local HTTP servers
  • fleet-root-test.toit with local HTTP servers

@floitsch
floitsch force-pushed the floitsch/build-artemis-service.s-new.180 branch from cee88b1 to a7b4aaf Compare August 28, 2026 16:48
@floitsch
floitsch force-pushed the floitsch/build-artemis-service.s-new.190 branch 9 times, most recently from 02acca0 to 5f0f464 Compare August 29, 2026 10:10
@floitsch
floitsch force-pushed the floitsch/build-artemis-service.s-new.190 branch from 5f0f464 to 2cf7e5c Compare August 29, 2026 10:16
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.

1 participant