• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / sonde / 25824709908 / 1
82%
main: 82%

Build:
DEFAULT BRANCH: main
Ran 13 May 2026 08:43PM UTC
Files 124
Run time 6s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 May 2026 08:31PM UTC coverage: 83.147% (+0.1%) from 83.043%
25824709908.1

push

github

web-flow
feat(azure-handler): implement ProgramIngest HTTP trigger endpoint (#898)

* feat(azure-handler): implement ProgramIngest HTTP trigger endpoint

Implement the ProgramIngest Azure Function endpoint (WEB-0300) that
accepts ELF binaries via JSON POST, verifies them with Prevail, encodes
deterministic CBOR program images, and stores them in Azure Tables for
delivery via DESIRED_STATE messages.

Changes:

**sonde-azure-handler (lib.rs)**
- Add ProgramImageRow struct and HandlerStore::store_program_image()
  trait method with AzureTablesStore implementation (upsert via
  insert_or_replace).
- Add AzureHandler::handle_program_ingest() — parses JSON body with
  base64-encoded ELF, delegates to ProgramLibrary::ingest_elf() for
  Prevail verification and CBOR encoding, normalizes source_filename,
  and stores the resulting program image.
- Add IngestResponse/IngestError types with HTTP status mapping
  (400/413/422/500).
- Add xtract_http_trigger_body() for Azure Functions HTTP trigger
  envelope parsing and ormat_ingest_response() for \Outputs.res\
  response envelope.
- Input validation: base64 integrity, empty check, 1 MB ELF size limit
  (pre-decode and post-decode), \bi_version\ type/range, and
  \erification_profile\ enum.
- Expand ProgramImageEntity with optional metadata fields
  (\source_filename\, \bi_version\, \size_bytes\,
  \erification_profile\, \created_at\) — backward-compatible with
  existing read path.
- 16 new unit tests covering T-WEB-0301 through T-WEB-0308 plus edge
  cases (invalid base64, missing fields, invalid \bi_version\,
  idempotent re-ingest, envelope parsing).

**sonde-azure-handler (main.rs)**
- Add dedicated \/ProgramIngest\ route separate from the catch-all
  connector message route.

**ProgramIngest/function.json**
- Rename HTTP output binding from \\\ to \es\ for correct
  \Outputs.res\ envelope binding.

**Specification updates**
- \gateway-companion-api.md\: Document key 5 (\ssigned_program_image\)
  in DESIRED_S... (continued)

34255 of 41198 relevant lines covered (83.15%)

194.79 hits per line

Source Files on job 25824709908.1
  • Tree
  • List 124
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25824709908
  • d0c536a2 on github
  • Prev Job for on main (#25820661224.1)
  • Next Job for on main (#25824716717.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc