Skip to content

chore: queue the move to our own server as a change - #57

Merged
yesbert merged 2 commits into
mainfrom
chore/queue-the-own-server-migration
Sep 3, 2026
Merged

chore: queue the move to our own server as a change#57
yesbert merged 2 commits into
mainfrom
chore/queue-the-own-server-migration

Conversation

@yesbert

@yesbert yesbert commented Sep 3, 2026

Copy link
Copy Markdown
Owner

What this changes

Adds the change serve-the-docs-from-our-own-server to the queue — planning artifacts only, nothing implemented. skip_specs: true: where a documentation site is hosted is not something a consumer of a published package observes, so no capability changes.

Today's attempt to move the site by pointing the apex at GitHub Pages was rolled back — too much else answers on that apex. The move is not abandoned but inverted: the site goes to the domain, by deploying to the Plesk vhost over rsync, the way loomweaver.dev already does from GitHub Actions.

  • proposal.md — why, and what is explicitly out of scope.
  • design.md — the decisions with the evidence each rests on.
  • tasks.md — 8 groups, ordered so that there is never a window in which neither host answers; steps that can only be done outside a pull request are marked owner.

Three things recorded so they are not rediscovered

  • The vhost's system user stratara.tech_d4hk78khxi has /bin/false as its login shell where loomweaver.dev_1kv2wmu3zbc has /bin/bash. Until Plesk changes that, a deploy key authenticates and the session ends immediately.
  • rsync --delete would remove httpdocs/.well-known/. LoomWeaver survives that only because Plesk's nginx serves ACME challenges from the default document root — a bet on an implementation detail whose failure mode is a certificate silently expiring. The design excludes the directory instead.
  • The two GitHub Pages behaviours that cost hours today: with the Actions-based deployment the CNAME file in the artifact does not set the custom domain, but it does decide which hostname Pages answers for; and a CNAME on an apex shadows the MX, TXT and NS records of the same name without deleting them, which broke mail to the address in the imprint until it was removed.

The proposal opens with > **Status:** proposed. Approval is the owner's.

How it was verified

  • openspec validate --changes --strict — 1 passed, 0 failed
  • openspec status — all planning artifacts complete, specs skipped as declared

Copilot AI lite review requested due to automatic review settings September 3, 2026 18:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Several multi-line inline code spans in tasks.md break CommonMark Markdown rendering and should be reformatted (plus one non-copyable CLI ellipsis in design.md).

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Queues the spec-driven change serve-the-docs-from-our-own-server as planning-only artifacts, describing an intended migration of the DocFX documentation site from GitHub Pages to the project’s own Plesk server (with skip_specs: true because this does not change published-package behavior).

Changes:

  • Adds a change proposal describing the motivation, scope, and expected impacts of hosting docs at stratara.tech.
  • Adds a design note capturing observed constraints, key decisions, and migration ordering/rollback considerations.
  • Adds a task plan broken into ordered groups, including owner-only steps and verification proofs.
File summaries
File Description
openspec/changes/serve-the-docs-from-our-own-server/.openspec.yaml Registers the change metadata and declares skip_specs: true.
openspec/changes/serve-the-docs-from-our-own-server/proposal.md Documents the “why/what” and scope boundaries for the hosting move.
openspec/changes/serve-the-docs-from-our-own-server/design.md Records context, decisions, risks, and the migration plan/rollback sequencing.
openspec/changes/serve-the-docs-from-our-own-server/tasks.md Provides the step-by-step execution checklist with proofs and ordering constraints.
Review details

Suppressed comments (2)

openspec/changes/serve-the-docs-from-our-own-server/tasks.md:43

  • This rsync command is split across lines inside a single inline code span (backticks), which breaks Markdown rendering in CommonMark; keep the inline code on one line or use a fenced code block.
- [ ] 2.5 Deploy step: `rsync -az --delete --exclude='.well-known' -e 'ssh -i <key>'
      docs/_site/ "${DEPLOY_USER}@${DEPLOY_HOST}:httpdocs/"`. The exclusion is decision 2 — without
      it the ACME challenge directory is deleted on every deploy.

openspec/changes/serve-the-docs-from-our-own-server/tasks.md:61

  • This curl example is split across lines inside a single inline code span (backticks), which breaks Markdown rendering in CommonMark; keep the inline code on one line or use a fenced code block.
- [ ] 3.2 Verify the redirect **before** any DNS moves, by asking the server directly with the
      right `Host`: `curl -sI --resolve docs.stratara.tech:443:217.154.79.173
      https://docs.stratara.tech/concepts/why-event-sourcing.html` returns `301` with a `Location`
      of the same path on the apex.
  • Files reviewed: 4/4 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread openspec/changes/serve-the-docs-from-our-own-server/design.md Outdated
Comment thread openspec/changes/serve-the-docs-from-our-own-server/tasks.md Outdated
@yesbert
yesbert merged commit ae7cdb7 into main Sep 3, 2026
5 checks passed
@yesbert
yesbert deleted the chore/queue-the-own-server-migration branch September 3, 2026 18:28
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.

2 participants