docs(install): stop the local install page implying Lima or Docker is required - #913
Merged
Merged
Conversation
… required /docs/server/install/ opened with "Keploy uses eBPF to intercept API calls on network layer", declared its tools as "Linux kernel >= 5.10" and its supplies as "A Linux or WSL2 machine", and titled its HowTo "Install Keploy on Linux". A macOS or Windows reader landing there concluded they needed a VM or a container — which has not been true since native interception shipped. It now says what is actually the case: one command for all three, eBPF and root on Linux, userspace and no privileges on macOS (Apple Silicon) and Windows (x86-64), with Docker/Lima/WSL as alternatives and as the route on an Intel Mac or Windows/ARM. The platform-requirements table embedded at the top of that page said "Native" in the Without Docker column while its Prerequisites column demanded Docker Desktop and Lima on macOS, and WSL on Windows — the two columns contradicted each other in the same row. Prerequisites now leads with what native needs (nothing) and lists the container prerequisites as what they are: needed only if you pick that route. The Related list pointed at this page itself; it now points at the per-OS guides. Signed-off-by: slayerjain <shubham@keploy.io>
slayerjain
added a commit
that referenced
this pull request
Sep 23, 2026
Every deploy ran reggionick/s3-deploy with delete-removed: upload the new build, then delete every object it did not contain. Docusaurus names each JS/CSS chunk by content hash, so the previous build's chunks vanished the moment a deploy ran, and anything still holding the previous HTML - an open tab, a cached page, or a second deploy running at the same time - requested chunks that no longer existed and never hydrated. Two merges 17s apart (#912, #913) did exactly that to production: the pages rendered but no control on them worked, including the macOS tab on /docs/server/installation/. The action's cache input was also word-split into the malformed header "Cache-Control: max-age=public," on every object. - main.yml: one deploy at a time (concurrency group, never cancelling a deploy in flight), and each run deploys main as it is when it starts, so a queued, cancelled or re-run deploy can never ship an older main. - .github/scripts/deploy-docs.sh replaces the action. Hashed assets go up first and are never deleted in the same pass; a per-deploy manifest is written before any page; static files, text and pages follow, pages last; CloudFront is invalidated, dropped static files are deleted once it has landed, and the deploy is marked complete. Assets are pruned only once every page that used them was replaced more than 14 days ago, counted from the newest completed deploy, so a half-failed deploy can never cut the window short. - Correct cache headers per class: immutable for hashed assets, revalidate for pages and text, one hour for other static files; UTF-8 charset on .txt and .md (llms.txt, llms-full.txt, page copies). - .github/scripts/deploy-docs-test.sh deploys the PR's real build into a local S3 (moto) on every PR and replays the incident and the weeks after it: a deploy that dies once its pages are up, >1000-key prunes, every asset a live or still-open page loads, and the step order. Signed-off-by: slayerjain <shubhamkjain@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem
https://keploy.io/docs/server/install/reads as though Keploy needs Linux, or a VM/container on anything else. On the live page today:tools: ["bash", "curl", "Linux kernel >= 5.10"]andsupplies: ["A Linux or WSL2 machine", "Sudo access"], under the title "Install Keploy on Linux and capture your first test".wsl --install").So a Mac or Windows visitor reasonably concludes Lima or Docker is required. It has not been, since native interception shipped.
The fix
The page now states the actual contract — one command everywhere, differing only in how it intercepts:
The HowTo metadata, title and
descriptionfrontmatter stop asserting Linux. The Prerequisites cells lead with "Native: nothing to install" and list the container prerequisites as what they are — needed only if you choose that route. And the Related list, which pointed at this very page ("the full install guide with OS tabs"), now points at the per-OS guides.No install command changed; this is what the page claims about itself.
Prettier clean. Follow-up to #911 and #912.