Update link format for internal documentation - #129
Conversation
|
Warning Review limit reached
Next review available in: 54 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe documentation changes the inScope reference from bold text to a Markdown link for the internal Kessel documentation. ChangesDocumentation link update
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/content/docs/for-red-hatters.md`:
- Line 9: Update the inScope link in for-red-hatters.md to explicitly indicate
that access requires VPN, then add inscope\\.corp\\.redhat\\.com to the
exclusions in .lychee.toml with the repository’s required-auth reason format.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: f5eed486-5f89-4518-b8cf-c5a7ec8da7ba
📒 Files selected for processing (1)
src/content/docs/for-red-hatters.md
|
|
||
| Kessel is an open source project also deployed internally. To learn more about leveraging Kessel | ||
| internally as well as Red Hat-specific examples and configurations, see our internal docs in **inScope** | ||
| internally as well as Red Hat-specific examples and configurations, see our internal docs in [**inScope**](https://inscope.corp.redhat.com/docs/default/component/kessel-internal-docs/) |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== locate file =="
git ls-files | grep -F 'src/content/docs/for-red-hatters.md' || true
echo "== relevant docs frontmatter/body =="
if [ -f src/content/docs/for-red-hatters.md ]; then
nl -ba src/content/docs/for-red-hatters.md | sed -n '1,80p'
fi
echo "== search for inScope and vpn note patterns =="
rg -n --hidden --glob '!node_modules' --glob '!dist' --glob '!build' \
'inscope\.corp\.redhat\.com|VPN-only|VPN access required|VPN-only;|VPN access' . || true
echo "== link checker config candidates =="
git ls-files | grep -Ei '(^|/)(\.lychee|lychee|check-links|linkchecker|links|\.github/workflows/.+)(|/)' | sort | sed -n '1,120p'
echo "== search link checker scripts/configs =="
rg -n --hidden --glob '!node_modules' --glob '!dist' --glob '!build' 'lychee|check-links|inscope\.corp\.redhat\.com|exclude-link|external|checkLinks' . || trueRepository: project-kessel/docs
Length of output: 288
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== deterministic markdown/link text extraction =="
python3 - <<'PY'
from pathlib import Path
p = Path('src/content/docs/for-red-hatters.md')
if not p.exists():
print("missing src/content/docs/for-red-hatters.md")
raise SystemExit
s = p.read_text()
print("has_title_frontmatter=", bool(s.startswith('---\n') or 'title:' in s.split('---',2)[1]))
print("line9:", next((f'{i}:{line}' for i,line in enumerate(s.splitlines(),1) if i==9), ''))
print("contains_ins_url=", 'https://inscope.corp.redhat.com/docs/default/component/kessel-internal-docs/' in s)
print("contains_vpnonly=", 'VPN-only' in s or 'VPN access required' in s or 'VPN-only;' in s)
print("contains_public_docs_instructions_text=", 'Red Hat-specific operational content' in (Path('README.md').read_text() if Path('README.md').exists() else ''))
PY
echo "== inspect docs guidelines files for vpn rule =="
rg -n --hidden --glob '!node_modules' --glob '!dist' --glob '!build' 'VPN-only links|explicitly marked|VPN access required|internal Red Hat systems' . || trueRepository: project-kessel/docs
Length of output: 781
🌐 Web query:
Red Hat inScope VPN access required docs URL inscope.corp.redhat.com
💡 Result:
The URL inscope.corp.redhat.com refers to an internal Red Hat portal used for various corporate services, including ephemeral namespace management [1][2] and documentation for specific internal projects [3][4]. Access to this site requires an active connection to the Red Hat corporate VPN [1][2]. There is no single "access documentation" URL for inScope itself; rather, it is a service platform that requires internal network authorization to reach. If you are a Red Hat employee or contractor requiring access, you should ensure your VPN client is configured and connected according to official Red Hat IT internal guidelines. Technical documentation concerning VPN configuration in general (e.g., for Red Hat Enterprise Linux) is available on the public Red Hat documentation site [5][6], but these resources describe how to set up VPNs, not how to access internal corporate portals like inScope.
Citations:
- 1: https://github.com/openshift/ci-docs/blob/main/content/en/how-tos/ephemeral-namespace-workflow.md
- 2: openshift/ci-docs@2713321
- 3: https://github.com/RedHatInsights/frontend-experience-docs
- 4: https://github.com/RedHatInsights/yuptoo
- 5: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/securing_networks/setting-up-an-ipsec-vpn_securing-networks
- 6: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-a-vpn-connection_configuring-and-managing-networking
🌐 Web query:
GitHub project-kessel docs src/content/docs for-red-hatters md inScope link check-links Lychee
💡 Result:
The documentation for Project Kessel, specifically the file located at src/content/docs/for-red-hatters.md within the project-kessel/docs repository [1][2], serves as an internal guide for Red Hat employees. This document is part of the project's documentation infrastructure, which is managed via the project-kessel/docs repository [1]. Regarding the specific tools mentioned: - InScope: This refers to internal documentation repositories and resources accessible to Red Hat employees, often referenced in guidelines and developer guides (such as the insights-service-deployer repository [3]). - check-links (Lychee): The project utilizes Lychee for link checking within its documentation and CI pipelines to ensure the integrity of references across its various repositories [1][2][4]. For authoritative, up-to-date information, developers should consult the official Kessel documentation portal at https://project-kessel.github.io/docs/ [1][2]. Red Hat employees looking for proprietary setup, deployment, or internal integration instructions should refer to the internal "Kessel Internal Documentation" linked within their internal InScope platform or via the specific guidelines files (e.g., AGENTS.md, integration-guidelines.md) found in project-kessel organization repositories [5][6][7][4].
Citations:
- 1: https://github.com/project-kessel/docs
- 2: https://github.com/project-kessel
- 3: https://github.com/project-kessel/insights-service-deployer
- 4: https://github.com/redhatinsights/rbac-config/
- 5: https://github.com/project-kessel/kessel-sdk-node
- 6: https://github.com/project-kessel/kessel-sdk-java
- 7: https://github.com/project-kessel/insights-rbac
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 <<'PY'
import re
from pathlib import Path
p=Path('src/content/docs/for-red-hatters.md')
text=p.read_text()
lines=text.splitlines()
print('total_lines=', len(lines))
print('line9=', lines[8])
has_vpn_patterns=[
'VPN-only',
'VPN access required',
'Vpn access required',
'vPN-only',
'VPN-required',
'requires VPN',
]
print('vpn_patterns_present={', {pat: (pat in text) for pat in has_vpn_patterns}, '}')
ins_url='https://inscope.corp.redhat.com/docs/default/component/kessel-internal-docs/'
for i,l in enumerate(lines,1):
if ins_url in l:
print('inscope_markdown_line=', i, 'line=', l)
PY
python3 - <<'PY'
from pathlib import Path
for name in ['package.json','.lycheeignore','.github/workflows','package-lock.json','pnpm-lock.yaml','yarn.lock','bun.lockb']:
p=Path(name)
print(f'{name}: exists={p.exists()}, is_file={p.is_file()}, type={p.stat().st_mode if p.exists() else None}')
if p.is_file():
try:
txt=p.read_text(errors='ignore')
except Exception as e:
txt=f'<read_error {e}>'
for line in txt.splitlines()[:80]:
if any(tok in line for tok in ['lychee','check-links','checkLinks','exclude-link','external','inscope']):
print(f' {line}')
PYRepository: project-kessel/docs
Length of output: 1126
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== package scripts =="
python3 - <<'PY'
import json
from pathlib import Path
p=Path('package.json')
if p.exists():
data=json.loads(p.read_text())
print(json.dumps(data.get('scripts', {}), indent=2))
else:
print('no package.json')
PY
echo "== workflow files =="
find .github/workflows -maxdepth 2 -type f -print -exec sed -n '1,160p' {} \; || trueRepository: project-kessel/docs
Length of output: 3978
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== .lychee.toml =="
if [ -f .lychee.toml ]; then
cat -n .lychee.toml
else
echo "missing .lychee.toml"
fi
echo "== repo files relevant =="
find . -maxdepth 3 \( -name '.lychee*' -o -name 'lychee*' \) -print -exec echo "--- {} ---" \; -exec cat -n {} \; 2>/dev/null || trueRepository: project-kessel/docs
Length of output: 8032
Mark the inScope link as VPN-only and add a link-check exclusion.
This URL points to an internal Red Hat portal that requires VPN access, but the sentence does not note that. Add a VPN-only notice in the link text, and add inscope\\.corp\\.redhat\\.com to .lychee.toml with the required-auth reason so public CI link checks can complete.
🧰 Tools
🪛 GitHub Actions: Link Check / 0_check-links.txt
[error] 9-9: Lychee link check failed for https://inscope.corp.redhat.com/docs/default/component/kessel-internal-docs/: Connection failed. Check network connectivity and firewall settings.
🪛 GitHub Actions: Link Check / check-links
[error] 9-9: Lychee link check failed for https://inscope.corp.redhat.com/docs/default/component/kessel-internal-docs/: connection failed. The command exited with code 2.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/content/docs/for-red-hatters.md` at line 9, Update the inScope link in
for-red-hatters.md to explicitly indicate that access requires VPN, then add
inscope\\.corp\\.redhat\\.com to the exclusions in .lychee.toml with the
repository’s required-auth reason format.
Sources: Path instructions, Pipeline failures
The inScope link added in the previous commit points to inscope.corp.redhat.com, a VPN-gated Red Hat internal host that the CI runner cannot reach, causing the link checker to fail with a connection error. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@tylercreller or @tonytheleg FYI (noticed this when we were chatting with the Features Service team today). |
@rabbott01 we're purposefully not linking InScope to not publish a private domain in public docs, we need to keep that information off of there |
|
Gotcha, ok - closing |
Adding link to InScope
Summary by CodeRabbit