Pages: the hub serves static sites built by a repository's Flow runs (name to choose) issue #336
open andymccall opened this · 0 comments
andymccall
Andy (2026-10-26): "We do want to create OxygenHub Pages (or a better name) as we do need that feature." Static sites served by the hub from a repository, as GitHub Pages and GitLab Pages do. Separate from oxygenvcs.com itself, which is pull-deployed to a dedicated host (andymccall/oxygenvcs-web#1).
Shape (to agree before building):
A repository opts in (Settings › Pages): which bookmark (default the default bookmark), and which Flow artifact is the site (default one named site). Each green run on that bookmark publishes its artifact; the previous ones stay for a one-click rollback.
Served at OWNER.pages-host/NAME/ by default (a separate origin from the hub, so a site's scripts never run with the hub's cookies), and at a custom domain the owner proves with a DNS TXT record. TLS from the proxy in front (Cloudflare today).
Static files only: no server code; a strict default CSP, X-Content-Type-Options, no directory listings; size and file-count limits per site.
What is live is verifiable: the page footer link / a /.well-known/ file names the run, state and artifact hash, signed by the hub and in its transparency log, like a release.
Private repositories' sites visible only to people who can read the repository (a later step).
oh pages status|publish RUN|rollback.
Name ideas (Andy to pick): OxygenHub Pages; Sites; Air (static, light); Atmosphere; Exhale ("what a repository breathes out").
Where it fits: a --role pages of the hub could serve only sites, so a small box (the VisionFive 2 Lite) could later serve Pages for many repositories, pulling from the main hub, the same pull model as oxygenvcs.com.
Andy (2026-10-26): "We do want to create OxygenHub Pages (or a better name) as we do need that feature." Static sites served by the hub from a repository, as GitHub Pages and GitLab Pages do. Separate from oxygenvcs.com itself, which is pull-deployed to a dedicated host (andymccall/oxygenvcs-web#1).
Shape (to agree before building):
site). Each green run on that bookmark publishes its artifact; the previous ones stay for a one-click rollback.OWNER.pages-host/NAME/by default (a separate origin from the hub, so a site's scripts never run with the hub's cookies), and at a custom domain the owner proves with a DNS TXT record. TLS from the proxy in front (Cloudflare today).X-Content-Type-Options, no directory listings; size and file-count limits per site./.well-known/file names the run, state and artifact hash, signed by the hub and in its transparency log, like a release.oh pages status|publish RUN|rollback.Name ideas (Andy to pick): OxygenHub Pages; Sites; Air (static, light); Atmosphere; Exhale ("what a repository breathes out").
Where it fits: a
--role pagesof the hub could serve only sites, so a small box (the VisionFive 2 Lite) could later serve Pages for many repositories, pulling from the main hub, the same pull model as oxygenvcs.com.