Skip to content

feat(site): federation disclaimer + operator waitlist + live news feed#19

Merged
NetworkTheoryAppliedResearchInstitute merged 1 commit into
mainfrom
feat/site-waitlist-newsfeed
Jul 14, 2026
Merged

feat(site): federation disclaimer + operator waitlist + live news feed#19
NetworkTheoryAppliedResearchInstitute merged 1 commit into
mainfrom
feat/site-waitlist-newsfeed

Conversation

@NetworkTheoryAppliedResearchInstitute

Copy link
Copy Markdown
Contributor

Federation stays closed until the network moves to post-quantum ML-DSA-65 keys with the Go 1.27 rollout. This gates operator signup, captures interest, and makes the landing news feed real.

What

  • cmd/sitesvc + Dockerfile.sitesvc + compose service — a small stdlib-only public-site backend behind the frontend edge, on the compose network.
    • POST /api/waitlist — appends prospective-operator emails (JSONL, deduped, 0600, persisted to a mounted dir).
    • GET /api/news — the "communities vs. datacenters" feed: real headlines fetched from a news RSS source on a 6h timer, cached in memory, served as JSON. No fabricated content; fail-open (keeps the previous cache / the static cards).
  • deploy/frontend/operators/apply now serves a disclaimer + waitlist page (operators-apply.html, on-brand with the homepage) explaining the ML-DSA-65 / Go 1.27 gate, instead of proxying to the onboarding console. nginx proxies /api/waitlist and /api/news to sitesvc; the landing news rail fetches /api/news and falls back to its static dispatches on any error.
  • operator_apply.html — the operator credential is now stated as post-quantum ML-DSA-65 (the federation-launch crypto), replacing Ed25519.

Deployed + verified live (through soholink.org)

  • /operators/apply serves the disclaimer (was the onboarding console).
  • POST /api/waitlist returns {ok:true} and persists the email.
  • GET /api/news returns real headlines (e.g. "Data center moratorium advances for Indianapolis").

Not in this PR

The full new-schema restyle of the ~30 portal templates (login, register, dashboard, operator console, etc.) to the homepage's design system — that's a large, separable design pass, staged as its own effort. The operator console pages remain gated behind the disclaimer meanwhile.

Author does not self-merge — for review.

…ews feed

Federation stays closed until the network moves to post-quantum ML-DSA-65 keys
with the Go 1.27 rollout. This gates operator signup, captures interest, and
makes the landing news feed real.

- cmd/sitesvc + Dockerfile.sitesvc + compose service: a small stdlib-only
  public-site backend behind the frontend. POST /api/waitlist appends emails
  (JSONL, deduped, persisted); GET /api/news serves datacenter-opposition
  headlines fetched from a news RSS source on a 6h timer (real sources, no
  fabricated content, fail-open to the static cards).
- deploy/frontend: /operators/apply now serves a disclaimer + waitlist page
  (operators-apply.html, on-brand with the homepage) explaining the ML-DSA-65 /
  Go 1.27 gate, instead of proxying to the onboarding console; nginx proxies
  /api/waitlist and /api/news to sitesvc; the landing news rail fetches
  /api/news and falls back to its static dispatches.
- operator_apply.html: the operator credential is stated as post-quantum
  ML-DSA-65 (the federation-launch crypto), replacing Ed25519.

Deployed + verified live: /operators/apply serves the disclaimer, a POST
persists to the waitlist, /api/news returns real headlines, all through
soholink.org.

Signed-off-by: Jodson Graves <info@ntari.org>
@NetworkTheoryAppliedResearchInstitute
NetworkTheoryAppliedResearchInstitute merged commit f430e7d into main Jul 14, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant