Skip to main content
  • Kind: Dependency
  • Version: 1
  • Fleet Manager owner: Fleet Manager squad, #fleet-manager-chat (individual claimant pending)
  • Counterpart owner: unassigned, Platform Services storage team (UNI object storage)
  • Last reviewed: 2026-09-09

What flows

Fleet Manager reads and writes artifacts in an S3-compatible bucket, one per environment (fleet-manager-s3-<env> unless overridden). Hardware-test squashfs images are published to and pulled from it (ADR-0033, src/fleet_manager/temporal/activities/hardware_test_images.py); burn-in reports and customer handover bundles are uploaded to it (src/fleet_manager/temporal/activities/reports.py); firmware verification and in-band firmware inventory artifacts land there too. The workflow agent turns stored artifacts into download links for operators. Fleet Manager holds no device state in the bucket; losing it loses evidence and images, not the state machine.

What breaks if this changes

A quota, credential or endpoint problem fails image preparation, report generation and firmware verification workflows at their upload or download step. The satellite chart keeps in-band firmware inventory off until the resolved credential can reach the bucket for that reason. A quota exhaustion has already broken this relationship once, before the bucket was UNI-backed.

Enforcement

  • Principal: the object-storage credential issued to the workflow agent and Temporal worker per site.
  • Mechanism: S3 access key and secret, either from the Kubernetes Secret produced by the object-storage operator (enableOperatorSecret, default workflow-agent-object-storage-credentials) or from the object-storage 1Password item (src/fleet_manager/settings/clients/object_storage.py, see onepassword); endpoint defaults to https://s3.glo1.nscale.com.
  • Chart: objectStorage blocks in the hub and satellite charts.

Gaps

  • No quota or usage signal reaches Fleet Manager; the first symptom of a full bucket is a failed workflow.
  • No pact or contract test; the S3 API surface used is small and stable.

Change log

  • 2026-09-09 v1: created; describes present behaviour.