Some checks failed
api-governance / spectral-lint (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
oas-ci / oas-validate (push) Has been cancelled
SDK Publish & Sign / sdk-publish (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Policy Simulation / policy-simulate (push) Has been cancelled
devportal-offline / build-offline (push) Has been cancelled
2.0 KiB
2.0 KiB
Symbol Bundle Guide
This guide explains how to package, validate, and distribute symbol bundles that comply with SYMBOL_MANIFEST/v1.
1. Packaging steps
- Gather debug artifacts (ELF
.debug, PDB, dSYM) for the target release. - Compute
sha256for each file and record size/arch/format. - Build
manifest.jsonas perSYMBOL_MANIFEST_v1.md; sort entries bybuild_id, thenfile. - Write
manifest.json.sha256with the hex digest ofmanifest.json. - Create a deterministic tarball:
- POSIX ustar
- Sorted file order
mtime=0,uid=gid=0,uname=guname=root- Compression: gzip
-nto avoid timestamps
- Optional: wrap as OCI artifact with media type
application/vnd.stella.symbols.manifest.v1+json.
2. Validation checklist
manifest.jsonhashes tomanifest.json.sha256.- Each file hash matches manifest entry.
- Build-id path structure is correct (ELF
.build-id/aa/<rest>.debug). - Tenant in manifest matches upload tenant.
- Tarball ordering is lexicographic and mtimes are zeroed.
3. Ingestion (API)
- POST the tar/OCI blob to
/api/v1/symbols/ingestwith headerX-Stella-Tenant. - Server recomputes digests; rejects mismatches or tenant mismatch.
- Optional DSSE attestation digest recorded in manifest for downstream verification.
4. Reachability integration
- Scanner attaches
build_idand source image digest to reachability edges; Graph API can fetch symbol manifests to render function names in overlays. - When symbols are missing, UI shows “symbol lookup unavailable” badge; import the matching manifest to enable function-level overlays.
5. Offline kits
- Place
symbols/directory (manifest + files) at the kit root; include tarball and manifest digest. debug-manifest.jsonin Offline Kit should link to symbol manifest for cross-reference.
6. Tenant controls & audit
- Symbol server enforces tenant; exports are tagged with tenant in manifest and tar annotations.
- Emit Timeline events on ingest with bundle digest and tenant; attach DSSE attestation if present.