docs: say that this repository is not what deploys the site #2

Merged
jlxq0 merged 1 commit from docs/deployed-copy into main 2026-08-24 23:56:18 +00:00
Owner

Fixes the one thing in this repository that is actively harmful, ahead of the decisions in #1.

AGENTS.md said "run npm run build and commit both source and output", with nothing anywhere saying the output goes nowhere. Follow that instruction, look at the result, and copying it over the live copy is the obvious next step — which silently removes the Plausible tag and the ?v=1 cache-busting, because both exist only in oddie-apps/static-sites.

Measured

  • www.lindner.earth answers from static-sites behind the anycast edges — Souin cache header, the edge CSP — not from anything built here.
  • index.html is 8,638 bytes here, 9,516 live. The other five runtime files are byte-identical, so this is drift in one file rather than a fork.
  • The live copy is ahead by static-sites 252859d (Plausible, 2026-08-12) and 599e711 (?v=1, 2026-07-12).
  • k8s/ declares a lindner-web Deployment in namespace web. kubectl get deploy -n web returns static-sites and nothing else, and no ArgoCD Application references this repository.
  • .forgejo/workflows/docker.yaml is a complete push-to-deploy pipeline: build, self-bump the tag in k8s/deployment.yaml, let ArgoCD roll it out. The first two steps still work. The third has nothing to roll out — the head commit of this repository is that self-bump, and every lindner_web image in the registry is dated 2026-07-12, deployed nowhere.

Not done here, deliberately

Which copy is authoritative, whether k8s/ and the workflow should be deleted, and what to do about xq0.net serving a *.github.io certificate and a 404 are all decisions, and they are in #1 for Julian. This PR only stops the tree from instructing someone into the bad outcome while those wait.

npm test: 23 passing.

Fixes the one thing in this repository that is actively harmful, ahead of the decisions in #1. `AGENTS.md` said "run `npm run build` and commit both source and output", with nothing anywhere saying the output goes nowhere. Follow that instruction, look at the result, and copying it over the live copy is the obvious next step — which silently removes the Plausible tag and the `?v=1` cache-busting, because both exist only in `oddie-apps/static-sites`. ### Measured - `www.lindner.earth` answers from `static-sites` behind the anycast edges — Souin cache header, the edge CSP — not from anything built here. - `index.html` is 8,638 bytes here, 9,516 live. The other five runtime files are byte-identical, so this is drift in one file rather than a fork. - The live copy is ahead by `static-sites` `252859d` (Plausible, 2026-08-12) and `599e711` (`?v=1`, 2026-07-12). - `k8s/` declares a `lindner-web` Deployment in namespace `web`. `kubectl get deploy -n web` returns `static-sites` and nothing else, and no ArgoCD Application references this repository. - `.forgejo/workflows/docker.yaml` is a complete push-to-deploy pipeline: build, self-bump the tag in `k8s/deployment.yaml`, let ArgoCD roll it out. The first two steps still work. The third has nothing to roll out — the head commit of this repository *is* that self-bump, and every `lindner_web` image in the registry is dated 2026-07-12, deployed nowhere. ### Not done here, deliberately Which copy is authoritative, whether `k8s/` and the workflow should be deleted, and what to do about `xq0.net` serving a `*.github.io` certificate and a 404 are all decisions, and they are in #1 for Julian. This PR only stops the tree from instructing someone into the bad outcome while those wait. `npm test`: 23 passing.
AGENTS.md instructed "run npm run build and commit both source and output",
with nothing saying that the output goes nowhere. Following it produces a build
a reasonable person would then copy over the live copy — and doing that removes
the Plausible tag and the cache-busting, silently, because both exist only in
oddie-apps/static-sites. An instruction that damages production if followed is
worth fixing ahead of the decision about which copy should be authoritative.

Measured rather than assumed:

- www.lindner.earth answers from static-sites behind the anycast edges (Souin
  cache header, the edge CSP), not from anything built here.
- index.html is 8,638 bytes here and 9,516 live. The other five runtime files
  are byte-identical, so this is drift in one file, not a fork.
- The live copy is ahead by static-sites 252859d (Plausible, 2026-08-12) and
  599e711 (?v=1 cache-busting, 2026-07-12).
- k8s/ declares a lindner-web Deployment in namespace web. `kubectl get deploy
  -n web` returns static-sites and nothing else, and no ArgoCD Application
  references this repository.
- .forgejo/workflows/docker.yaml still builds and still self-bumps the tag in
  k8s/deployment.yaml. Both steps work; there is nothing to roll out. The head
  commit of this repository is that self-bump, and every image in the registry
  is dated 2026-07-12, deployed nowhere.

The README's "served as a static Caddy image with no active backend" described
that dead path, so it is corrected too.

Which copy should be authoritative, whether k8s/ and the workflow should go, and
what to do about xq0.net's certificate error are all open in the issue. This
change only stops the tree from telling you to do something harmful.

npm test: 23 passing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FkJYro1NVLepi6wJawWbVd
jlxq0 merged commit 449d90d9a6 into main 2026-08-24 23:56:18 +00:00
jlxq0 deleted branch docs/deployed-copy 2026-08-24 23:56:18 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jlxq0/lindner_web!2
No description provided.