Summary
Two near-duplicate copies of the "Kubernetes Request Flow" tutorial exist, and one claims the other's URL as an alias. Hugo writes both to the same output path, so /kanvas/tutorials/kubernetes-request-flow/ is a race between the real page and a redirect stub. Which one wins can change from build to build.
The collision
| File |
URL it produces |
content/en/kanvas/tutorials/kubernetes-request-flow.md |
/kanvas/tutorials/kubernetes-request-flow/ (its own page) |
content/en/kanvas/tutorials/kubernetes/kubernetes-request-flow.md |
/kanvas/tutorials/kubernetes/kubernetes-request-flow/, plus aliases: - /kanvas/tutorials/kubernetes-request-flow |
The second file's alias is the first file's real URL.
Evidence
Building the same commit of master twice produced different output at that path:
- one build: the full tutorial page, ~403 KB
- another build: a 417-byte redirect stub,
<meta http-equiv="refresh" content="0; url=https://docs.layer5.io/kanvas/tutorials/kubernetes/kubernetes-request-flow/">
Production currently serves the real page (HTTP 200), so the impact is latent rather than live, but any rebuild can flip it and silently replace the tutorial with a redirect.
The two files are almost identical, differing mostly in wording ("Kanvas" vs "Meshery Kanvas") and front matter.
Summary
Two near-duplicate copies of the "Kubernetes Request Flow" tutorial exist, and one claims the other's URL as an alias. Hugo writes both to the same output path, so
/kanvas/tutorials/kubernetes-request-flow/is a race between the real page and a redirect stub. Which one wins can change from build to build.The collision
content/en/kanvas/tutorials/kubernetes-request-flow.md/kanvas/tutorials/kubernetes-request-flow/(its own page)content/en/kanvas/tutorials/kubernetes/kubernetes-request-flow.md/kanvas/tutorials/kubernetes/kubernetes-request-flow/, plusaliases: - /kanvas/tutorials/kubernetes-request-flowThe second file's alias is the first file's real URL.
Evidence
Building the same commit of
mastertwice produced different output at that path:<meta http-equiv="refresh" content="0; url=https://docs.layer5.io/kanvas/tutorials/kubernetes/kubernetes-request-flow/">Production currently serves the real page (HTTP 200), so the impact is latent rather than live, but any rebuild can flip it and silently replace the tutorial with a redirect.
The two files are almost identical, differing mostly in wording ("Kanvas" vs "Meshery Kanvas") and front matter.