## Summary Infrastructure to mirror all runtime binaries from upstream sources to `builds.dtvem.io` and generate manifests from our hosted binaries. ## Implemented Features ### Mirror Tool (`scripts/mirror-binaries`) - Downloads binaries from upstream URLs in manifests - Uploads to Cloudflare R2 with metadata files - Tracks checksum source (`upstream` or `dtvem`) - Parallel downloads with configurable workers - SHA256 checksum verification - Sync-only mode (skip existing files) - Dry-run mode for testing ### Manifest Generator (`scripts/generate-manifests-from-r2`) - Scans R2 bucket for `.meta.json` files - Generates manifests with `builds.dtvem.io` URLs - Includes `sha256_source` field in output ### Workflows - **mirror-all.yml**: Bulk migration for initial R2 population - **mirror-sync.yml**: Daily sync to catch new upstream versions - **generate-manifests-from-r2.yml**: Auto-generates manifests after mirroring, deploys to R2, creates PR for embedded manifests ### Schema Updates - Added `sha256_source` field to manifest schema (`"upstream"` or `"dtvem"`) - Updated Go `manifest.Download` struct with `SHA256Source` field ## Workflow Chain ``` Mirror Sync (daily) or Mirror All (manual) ↓ Generate Manifests from R2 (automatic) ↓ ├─ Deploy manifests to R2 (immediate) └─ Create PR for embedded manifests ``` ## Scope | Runtime | Versions | Downloads | |---------|----------|-----------| | Node.js | 703 | 3,922 | | Python | 132 | 482 | | Ruby | 98 | 427 | | **Total** | **933** | **4,831** | ## Related - Parent: #159 - PR: #166
Summary
Infrastructure to mirror all runtime binaries from upstream sources to
builds.dtvem.ioand generate manifests from our hosted binaries.Implemented Features
Mirror Tool (
scripts/mirror-binaries)upstreamordtvem)Manifest Generator (
scripts/generate-manifests-from-r2).meta.jsonfilesbuilds.dtvem.ioURLssha256_sourcefield in outputWorkflows
Schema Updates
sha256_sourcefield to manifest schema ("upstream"or"dtvem")manifest.Downloadstruct withSHA256SourcefieldWorkflow Chain
Scope
Related