Since 2026-09-28 (about 20:09 UTC), bioconductor.org is answered by a Cloudflare Worker, bioc-site, reading from an R2 bucket, also named bioc-site. The legacy server, master.bioconductor.org, is still running and still produces the package repositories. The Worker’s bucket is refreshed from it every hour.
Click any box to go to the page that explains it.
New Bioconductor ecosystem: domains, Workers, buckets
New Bioconductor ecosystem (since 2026-09-28): domains, Workers, buckets
Cloudflare account
Domain names
Production hostnames, answered by the bioc-site Worker
bioconductor.org · www. production (Cloudflare zone + WAF)
Same content as production
next.bioconductor.org same content as production
Pull request previews
bioc-dev.cancerdatasci.org PR previews at /_pr/<n>/
The registry's own repository host
bioc-registry.seandavi.workers.dev gated R repos · not serving bioconductor.org
How a request is answered
Worker: bioc-site
repo bioc-edge · build first, then mirror
redirects, symlink map, 404 page, edge cache
cron 15 min · Workflow bioc-release-roll
/packages/stats: from R2
The registry and the propagation gate
Worker: bioc-registry
repo bioc-registry · observes r-universe
propagation gate · cron 15 min
Workflow bioc-registry-observe
Stub that redirects to bioc-registry
Worker: bioc-prop stub, 301 → bioc-registry
The mirror and the site builds
R2: bioc-site (private)
mirror: packages/, checkResults/ (~5.1 TB)
site/<sha>-<hash>/ + site/latest (builds)
preview/pr-<n>/ · _routes.json · _symlinks.json
_ci/site-data.tar.zst · manifest
The registry's archive bucket
R2: bioc-prop registry archive bucket data/prop/{bioc,bioc-release}
Request metrics and logs
Analytics Engine bioc_site_requests_v3 (metrics)
Buckets outside Cloudflare
Access logs delivered by Logpush
GCS: bioc-u24-logs cloudflare/bioc-access-logs/ (Logpush) BigQuery external tables · DuckLake
Archive bucket for releases 3.22 and older
OSN: mghp.osn.xsede.org archive bucket, releases ≤ 3.22 (anonymous S3) packages.bioconductor.org alias redirects here
The legacy server, still producing the package repositories
master.bioconductor.org legacy AWS EC2 · BBS output retires at parity (roadmap M2)
Where most Windows and macOS binaries are built
r-universe (bioc, bioc-release) Windows/macOS binaries, metadata
Upstream prose and assets
Bioconductor/bioconductor.org git: prose, assets (upstream content)
Jobs and CI (outside Cloudflare)
Hourly copy of master into R2
bioc-sync · bioc-reconcile systemd on onclappc02 · hourly / Sun 04:00 rsync master → upload R2 → purge 4 hosts
Site build and publish
bioc-website CI (Astro) GitHub Actions · every push / PR + bioc-site-refresh every 20 min
Daily health and parity checks
bioc-edge health + parity GitHub Actions, daily compare bioconductor.org with master
Classifies request-log traffic and computes download statistics
bioc-traffic traffic classes, download statistics reads logs from GCS
Legend
domain name
Cloudflare Worker
bucket / data store
job / CI
legacy or external
request / write
read / background
Arrows: Worker → GCS is Logpush; sync and CI write R2. Serving: browser → domain → bioc-site Worker → R2 bioc-site (build first, else mirror). Not drawn: master → sync, r-universe and upstream repo → CI, GCS → bioc-traffic.
Logs: Worker → Logpush → GCS bioc-u24-logs → bioc-traffic. Registry (Worker + R2 bioc-prop) observes r-universe and is not in the bioconductor.org path yet.
Other bioconductor.org subdomains (git., support., code., etc.) are copied into the Cloudflare zone from Route53 and are not drawn. Sources: how-it-works.qmd, cloudflare-account-migration.qmd, ADR 0003, r2-migration.qmd.
Checked against repo docs 2026-10-16, not against the live Cloudflare account.
What each box is
bioconductor.org, www., next.
Three hostnames answered by the same Worker, so they serve the same content
Hosts
bioc-dev.cancerdatasci.org
Serves pull-request previews of the site at /_pr/<n>/
Hosts
Worker bioc-site
Answers each request from the site build first and the mirror second. It applies redirects and caches responses at the edge
Serving , Edge cache
R2 bioc-site
The private bucket the Worker reads. It holds the mirror of master’s package repositories and every site build
Terms
master.bioconductor.org
The legacy server. The mirror is copied from it
Terms
Worker bioc-registry, R2 bioc-prop, bioc-registry.seandavi.workers.dev
The registry: observes r-universe, applies the propagation gate and publishes its own repository. It is not in the path that serves bioconductor.org
Propagation gate , Registry switch
Worker bioc-prop
A stub that returns a 301 redirect to bioc-registry
Cloudflare account migration
r-universe
Builds most Windows and macOS binaries and supplies package metadata
Publishing
Bioconductor/bioconductor.org
The upstream git repository for prose pages and assets
The site
OSN archive bucket
Holds package archives for releases 3.22 and older. packages.bioconductor.org redirects to it
R2 migration
GCS bioc-u24-logs, Analytics Engine
Per-request logs delivered by Logpush, and request metrics
ADR 0003
bioc-sync, bioc-reconcile
Hourly copy of master into R2, and a weekly checksum check of R2 against the local copy
Publishing , Scheduled jobs
bioc-website CI
Builds the site with Astro on every push and pull request, and publishes it to R2
The site
Health and parity checks
Daily comparison of bioconductor.org with master, and a health check
Scheduled jobs
bioc-traffic
Classifies requests in the logs by traffic class and computes package download statistics and traffic rollups from them. It writes the /packages/stats/ file tree on a daily timer and uploads it, .tab files and HTML pages, to R2, where the Worker serves them
Traffic report
The page How bioconductor.org works has the full request order, the glossary and the caching rules. If something looks wrong, see Reporting a problem .
Drawn from the repository docs, not from the live Cloudflare account. Other bioconductor.org subdomains (git., support., code. and so on) are not shown.