Skip to content

chore(site): point published URLs at www.ferrosa.ai - #31

Merged
bkearns merged 1 commit into
mainfrom
chore/point-urls-at-ferrosa-ai
Aug 24, 2026
Merged

chore(site): point published URLs at www.ferrosa.ai#31
bkearns merged 1 commit into
mainfrom
chore/point-urls-at-ferrosa-ai

Conversation

@bkearns

@bkearns bkearns commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Phase C of the ferrosadb.comferrosa.ai migration.

The site moved to www.ferrosa.ai on 2026-08-24 and ferrosadb.com now
301-redirects there with the path preserved, so nothing was broken before this
change
. This is so newly published content and newly downloaded install
scripts name the current domain.

Replaced https://ferrosadb.com and https://www.ferrosadb.com with
https://www.ferrosa.ai.

Why www. and not the bare apex

https://ferrosa.ai currently 404s — GitHub hasn't wired its apex→www
redirect and no Cloudflare rule covers it yet. Publishing the apex in an install
one-liner before it resolves would break installs. Switching to the bare apex is
a trivial follow-up once it's confirmed serving.

Deliberately not changed

Email addressesben@, security@, conduct@, invites@, ferrosa@.
ferrosa.ai is verified in Google Workspace, but DNS can't tell whether it's a
domain alias (receives mail) or a secondary domain (needs users
created). Publishing a security@ferrosa.ai that doesn't receive would bounce
security reports. Needs an Admin-console check first.

proxy.ferrosadb.com:29143 (ferrosa-osx) — a DBaaS proxy endpoint, not the
docs site. proxy.ferrosa.ai doesn't exist in DNS; rewriting it would break the
feature.

BASE_IRI and the dikw: prefix in
ferrosa-workbench/crates/ferrosa-workbench-app/src/ontology.rs — these are
RDF/OWL identifiers, not links. The constant is documented as "the base IRI
for terms this workbench MINTS" and is written into Turtle output as an
@prefix declaration. Renaming it means every triple already persisted under
the old IRI stops matching newly minted terms — the same concept silently
acquiring two identities in the graph. That's a data migration with its own
reasoning, not a URL sweep.

Dead links fixed in passing

Only because these exact lines were being rewritten — shipping a link I'd just
touched and knew was dead is worse than leaving it alone:

Verification

Every rewritten URL was actually fetched, not assumed:

endpoint result
https://www.ferrosa.ai/LATEST 200 — v0.20.0
https://www.ferrosa.ai/LATEST-MEMORY 200 — v0.28.0
install.sh, install-memory.sh 200
setup.sh, setup-memory.sh 200
database/getting-started.html 200
ferrosa-memory/design-system.html 200

Every changed shell script passes bash -n. The installer default now reads
FERROSA_LATEST_URL:-https://www.ferrosa.ai/LATEST, and that URL serves.

Part of t_dbbcc0a8.

Phase C of the domain migration. The site moved to www.ferrosa.ai on
2026-08-24 and ferrosadb.com now 301-redirects here with the path preserved,
so nothing was broken before this change -- this is so newly published
content and newly downloaded install scripts name the current domain.

Replaced `https://ferrosadb.com` and `https://www.ferrosadb.com` with
`https://www.ferrosa.ai` across the install scripts, the docs HTML, and the
cosmetic source comments.

Used `www.ferrosa.ai` rather than the bare apex deliberately: the apex
currently 404s (GitHub has not wired its apex->www redirect and no Cloudflare
rule covers it yet). Publishing the apex in an install one-liner before it
resolves would break installs. Switching to the bare apex is a trivial
follow-up once it is confirmed serving.

NOT changed, deliberately:

- Email addresses (ben@, security@, conduct@). ferrosa.ai is verified in
  Google Workspace but whether it is a domain ALIAS (receives mail) or a
  SECONDARY domain (needs users created) cannot be determined from DNS.
  Publishing a security@ferrosa.ai that does not receive would bounce
  security reports.
- `specs/docs-repository-migration.md`, which records the state at the time
  the docs repo was split out. That is a historical design record, not live
  instructions.

README's "Production Cutover" section was rewritten rather than
search-replaced. It described the cutover as pending work against a domain
that is no longer used, so renaming the domain in place would have left
misleading "when ready to move production traffic" instructions for something
already done. It now states the live URL and records the two facts that cost
time during the migration: this repo uses an Actions-based Pages deployment,
so `docs/CNAME` does NOT control the custom domain (it is a repository
setting, and a fresh deployment is required before a new hostname serves);
and the old domain must keep resolving and redirecting indefinitely because
`/LATEST` and the install scripts are compiled into already-installed
clients.

Verified: all four install scripts pass `bash -n`, and
https://www.ferrosa.ai/{install.sh,install-memory.sh,LATEST} all return 200.
@bkearns
bkearns merged commit 55a9125 into main Aug 24, 2026
1 check 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