Skip to content

Fix broken links reported by the link checker#1255

Merged
mbuechse merged 4 commits into
mainfrom
fix/link-checker-broken-links
Jul 22, 2026
Merged

Fix broken links reported by the link checker#1255
mbuechse merged 4 commits into
mainfrom
fix/link-checker-broken-links

Conversation

@jklare

@jklare jklare commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

The daily link-validator workflow was failing on a number of broken links across the Standards and Drafts. This PR fixes them, split into commits by category so each change is easy to review.

Moved / relocated targets (docs: Update links whose targets have moved)

Resources that still exist but have a new location:

  • OSS-Health: Drafts/OSS-Health.md was promoted to the decision record Standards/scs-0008-v1-oss-health.md (referenced from scs-0212, scs-0218, scs-0401).
  • k8s_version_policy.py: moved to Tests/kaas/scs_0210_version_policy/ (scs-0210-w1).
  • Mandatory flavors spec: renamed to Tests/iaas/SCS-Spec.MandatoryFlavors.verbose.yaml (scs-0110).
  • Container registry standard: Harbor draft referenced the old singular filename; corrected to scs-0212-v1-requirements-for-container-registries.md.
  • STIG Viewer finding V-242387: /stig//stigs/ (scs-0217).
  • dNation Thanos SVG: moved into docs/images/ (scs-0403).

Dead links (docs: Replace dead links with live equivalents)

Resources gone with no redirect, repointed to the closest live equivalent:

  • cState demo cstate.netlify.app (404) → upstream repo github.com/cstate/cstate (scs-0400).
  • Patrole "RBAC Overview": Patrole is a retired OpenStack project; cite the current Keystone identity-API-protection docs instead (scs-0302).

False positive (docs: Fix footnote so link checker parses RBAC link)

The Neutron RBAC link in scs-0126 was valid, but a footnote placing the link directly after the [^rbac]: label confused the checker's parser (reported as a mangled %5BRBAC%5D(...) target). Added leading text so it parses; the URL is unchanged.

Config (ci: Ignore medium.com links in link checker)

Medium serves HTTP 403 to automated clients even though the cited article (scs-0008) is reachable in a browser. Added a medium.com ignorePatterns entry to mlc_config.json.

Not changed

scs.community / docs.scs.community links were left as-is: they resolve fine and were verified live; they are not part of the failures.

🤖 Generated with Claude Code

jklare added 4 commits July 22, 2026 09:42
The link checker flagged several links that returned 404 because the
referenced resource still exists but has been relocated. Point each link
at its current location so the checker passes again and readers reach the
intended target:

- OSS-Health: the former Drafts/OSS-Health.md was promoted to the
  decision record Standards/scs-0008-v1-oss-health.md (referenced from
  scs-0212, scs-0218 and scs-0401).
- k8s_version_policy.py moved from Tests/kaas/k8s-version-policy/ to
  Tests/kaas/scs_0210_version_policy/ (scs-0210-w1).
- The mandatory flavors spec was renamed from
  Tests/iaas/SCS-Spec.MandatoryFlavors.yaml to the auto-generated
  Tests/iaas/SCS-Spec.MandatoryFlavors.verbose.yaml (scs-0110).
- The container registry standard file is
  scs-0212-v1-requirements-for-container-registries.md (plural);
  the Harbor draft referenced the old singular name.
- The STIG Viewer finding V-242387 moved from the /stig/ path to /stigs/
  (scs-0217).
- The dNation Thanos deployment architecture SVG moved into the
  docs/images/ directory of the kubernetes-monitoring-stack repo
  (scs-0403).

These are pure URL updates; no wording or content is changed.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Jan Klare <klare@osism.tech>
Two links flagged by the link checker point at resources that no longer
exist and have no redirect, so they are replaced with the closest live
equivalent:

- The cState demo at https://cstate.netlify.app/ is gone (404). Point the
  project-page entry in the status-page comparison table at the upstream
  repository https://github.com/cstate/cstate instead (scs-0400).
- The Patrole "RBAC Overview" page is no longer published; Patrole is a
  retired OpenStack project and docs.openstack.org now redirects it to a
  bare README. Cite the current Keystone documentation on identity API
  protection with RBAC instead (scs-0302).

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Jan Klare <klare@osism.tech>
The Neutron RBAC link in the provider networks implementation notes is
valid, but the link checker reported it as a dead link with a mangled,
URL-encoded target ("%5BRBAC%5D(https://...)"). The cause is the footnote
definition placing a markdown link immediately after the "[^rbac]: "
label, which the checker's parser fails to recognize as a link.

Add leading text before the link ("See [RBAC](...) in the OpenStack
Neutron documentation.") so the link is parsed correctly. The target URL
is unchanged.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Jan Klare <klare@osism.tech>
The link checker reports the Medium article cited in scs-0008 as a dead
link because Medium serves HTTP 403 to automated clients, even though the
article is reachable in a browser. This is a false positive that cannot
be fixed by changing the URL.

Add an ignorePatterns entry for medium.com to mlc_config.json so the
checker skips these links instead of failing the run.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Jan Klare <klare@osism.tech>

@mbuechse mbuechse left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Thanks a ton! Two remarks that need not be addressed here, but should be discussed.

Comment thread Standards/scs-0110-v1-ssd-flavors.md
Comment thread Standards/scs-0400-v1-status-page-create-decision.md
@mbuechse
mbuechse merged commit 0725b80 into main Jul 22, 2026
8 checks passed
@mbuechse
mbuechse deleted the fix/link-checker-broken-links branch July 22, 2026 16:35
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