Over-The-Air Updates (OTAs)

Overview of software components

The OTA system for the orb is comprised of several parts. All components are FOSS unless stated otherwise. Backend infrastructure is owned by Worldcoin Foundation and operated by Tools For Humanity, unless otherwise noted.

It is a long term goal to make these components FOSS, and decentralize them as much as possible.

OTA Consumption (On the orb):

OTA Production (Backend)

  • orb-os repo: Not yet FOSS 😢. Contains build scripts and CI to produce the custom debian based linux distro we ship on orbs.
  • orb-bidiff-cli: Produces binary diffs of OTAs for download size reduction.
  • orb-updates-lambda: Not FOSS 😢. Legacy golang lambda that runs when orb-os builds an OTA, to post-process it.
  • orb-manager: Not FOSS 😢. Legacy golang endpoints for OTA updates being migrated to orb-fleet-backend.

OTA Consumption (Backend)

  • orb-manager: see above.
  • orb-fleet-backend: Not FOSS 😢. New rust/axum service that will manage orbs.
  • AWS S3 buckets: Used to persist orb-os builds, OTAs, and bidiffs.
  • MongoDB: Tracks various information about OTAs and which orbs they are assigned to.