Skip to content

feat(infra): binary mirroring and manifest generation from R2 #167

@CalvinAllen

Description

@CalvinAllen

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions