Skip to content

docs: recording and mocking Redis needs Keploy Enterprise - #939

Draft
slayerjain wants to merge 1 commit into
mainfrom
train/docs/redis-enterprise-only
Draft

slayerjain wants to merge 1 commit into
mainfrom
train/docs/redis-enterprise-only

Conversation

@slayerjain

@slayerjain slayerjain commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

What has changed?

The open-source keploy no longer records or mocks Redis. It passes Redis calls through to the real Redis server in keploy record and keploy test, records no Redis mocks, and logs one warning per Redis address that links to Keploy Enterprise. The docs still presented Redis mocking as available in every keploy. This PR makes Redis support truthful with small edits; no page is rewritten.

What changes for readers

  • dependencies/redis.md: a note at the top of the page.
    • Recording and mocking Redis, and Redis-compatible servers such as Valkey, KeyDB and Dragonfly, is Keploy Enterprise only. Keploy Enterprise is the keploy the default install script installs, and a free account is enough to record and replay with it.
    • How to recognise the open-source keploy: install.sh --oss, the GitHub releases, the ghcr.io/keploy/keploy image, or a build from source.
    • What the open-source keploy does with Redis:
      • It detects Redis by the first command and passes it through in record and test.
      • It skips Redis mocks with a warning each time it loads the test set, and leaves Generic Redis mocks out of the replay with a warning once per run.
      • Redis must be running at keploy test, with the data the tests expect.
      • It dials Redis directly at replay, so a Redis reached through an HTTP CONNECT proxy must be reachable without the proxy.
    • What it does not detect, which is still recorded as Generic: inline commands, unknown module commands, and commands only a Redis-compatible server has, such as Tile38's NEARBY.
    • "How it works" is now scoped to Keploy Enterprise on Linux, Docker and WSL.
  • quickstart/go-gin-redis.md (both sections) and quickstart/flask-redis.md: a similar note near the top, which says a free account is enough. Each one names the test that changes for that app with the open-source keploy:
    • gin-redis: OTP verification fails.
    • flask-redis: the IDs come from a Redis counter.
  • Both Redis quickstarts carried an Enterprise-only badge (ProductTier tiers="Enterprise" offerings="Self-Hosted, Dedicated"). They now carry the same badge as the other quickstarts (tiers="Free, Teams, Scale, Enterprise", no offerings), in line with their notes.
  • go-gin-redis.md: its mocks.yml example showed kind: Generic (PING/SET/GET), which contradicts the note. It is now a SET/GET excerpt in the shape Keploy Enterprise records: kind: Redis with RequestBin/ResponseBin.
  • dependencies/index.md (Supported Dependencies) and content/llms-full-root.txt (served as the root of llms-full.txt): Redis mocking is Keploy Enterprise only, a free account is enough for it, and the open-source keploy passes Redis through.
  • running-keploy/mock-your-tests.md: a note beside the replay bullet, and the quick start's replay comment, say that with the open-source keploy Redis must be running during keploy mock replay, as keploy mock --help says, and that Keploy Enterprise records and mocks Redis with a free account.
  • keploy-cloud/installation.md (Get Started on the Enterprise Plan): a note, "Redis works with a free account", above the page's plan section. It says that the keploy the install script installs by default (without --oss) is Keploy Enterprise, which records and mocks Redis on Linux and in Docker or WSL with a free account.
  • "Keploy Enterprise" links /docs/keploy-cloud/cloud-installation/, the page the open-source keploy's Redis warning links, so the warning and the docs point to one page. The install-script links go to /docs/server/installation/.
  • The free-account sentence is the one the install pages already use. The badge change follows from it; the PR makes no other claim about plans or pricing.

Left alone, on purpose

  • version-3.0.0: docusaurus.config.js onlyIncludeVersions does not build it.
  • 1.0.0 and 2.0.0: archived and unmaintained. They describe the keploy of their time.
  • The unversioned docs/ directory has no Redis content.
  • samples-java spring-mysql-redis commits 23 kind: Redis mocks, but its README has no keploy steps, so there is nothing to change there.
  • The native macOS/Windows wording ("other services ... are captured only as raw bytes") stays accurate. Keploy Enterprise claims Redis on those platforms, so it records Redis there through the Generic parser as before.

Why: Redis recording and mocking moved to Keploy Enterprise. An open-source user who follows the old pages would expect Redis to be mocked at replay, stop Redis, and see their tests fail with no explanation.

When to merge: the site deploys main at once. Merge this only after the open-source keploy release with the Redis skip has shipped. Until then, these pages describe behaviour that no released open-source keploy has yet.

This PR Resolves NA

Type of change

  • Bug fix (non-breaking change which fixes an issue).
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected).
  • Documentation update (if none of the other choices apply).

How Has This Been Tested?

  • prettier 2.8.8 --check on every changed .md file, as prettify_code.yml runs it: clean, after each change.
  • commitlint with config-conventional on every commit: clean.
  • MDX v3 compile of the changed pages: OK.
  • Full yarn install --frozen-lockfile && yarn build with onBrokenLinks: throw: "[SUCCESS] Generated static files". npm run verify-schema (490 pages) and npm run verify-linkedin-tag pass.
  • The built HTML contains the notes on dependencies/redis, dependencies/index, quickstart/flask-redis, quickstart/samples-redis (go-gin-redis's slug) and llms-full.txt.
  • The linked pages return 200: /docs/keploy-cloud/cloud-installation/, /docs/server/installation/ and /docs/dependencies/redis/.
  • An independent review checked that the text matches the code:
    • one warning per test-set read for kind: Redis mocks;
    • the agent warns once per process for Generic Redis mocks;
    • the skip notice once per destination;
    • install.sh --oss exists and is the same script as keploy.sh.

Not run locally, so CI covers it:

  • verify-lastmod, which needs the real git history.
  • The full Docusaurus build on the later changes (the Enterprise links, the Redis-compatible-server, per-load warning and CONNECT sentences, the Mock Your Tests note, the note on Get Started on the Enterprise Plan, the free-account sentences and the quickstart badges). CI's deploy-preview builds them; they were checked with prettier and by three independent reviews.

Checklist:

  • My code follows the style guidelines of this project.
  • I have performed a self-review of my own code.

Changes since opening

  • "Keploy Enterprise" in the Redis notes (Redis Support, the dependency list, the flask-redis and go-gin-redis quickstarts, content/llms-full-root.txt) links /docs/keploy-cloud/cloud-installation/, the page the open-source keploy's Redis warning links. The install-script links stay on /docs/server/installation/.
  • Mock Your Tests (running-keploy/mock-your-tests.md) no longer says without a caveat that every dependency can be offline during keploy mock replay: with the open-source keploy, Redis must be running.
  • Get Started on the Enterprise Plan (keploy-cloud/installation.md) gets a note, "Redis works with a free account": the default install (without --oss) is Keploy Enterprise, which records and mocks Redis with a free account.
  • Every Redis note says that a free account is enough to record and replay with Keploy Enterprise, as the install pages already say for keploy.
  • The two Redis quickstarts carry the same plan badge as the other quickstarts instead of an Enterprise-only one.
  • The branch is one commit.
  • Checked: prettier 2.8.8 passes on the changed files, and the linked pages return 200.

The open-source keploy no longer records or mocks Redis. It detects a
Redis connection by its first command, passes the connection through to
the real Redis server in keploy record and keploy test, and logs once per
Redis address that the Redis calls are skipped, with the Keploy
Enterprise link. It does not serve Redis Mocks already in a Test-Set.
The docs still presented Redis mocking as available in every keploy.

- dependencies/redis.md: a note on what the open-source keploy does with
  Redis and with servers that speak Redis's protocol (Valkey, KeyDB,
  Dragonfly); which keploy is Keploy Enterprise (the one the install
  script installs by default, without --oss); when the warnings come;
  why Redis must be running at replay with the data the tests expect; a
  Redis reached through an HTTP CONNECT proxy; and which connections it
  does not detect. The "How it works" section is scoped to Keploy
  Enterprise on Linux, Docker and WSL.
- dependencies/index.md and content/llms-full-root.txt (served as the
  root of llms-full.txt): Redis mocking is Keploy Enterprise only, and a
  free account is enough for it.
- quickstart/go-gin-redis.md and quickstart/flask-redis.md: a similar
  note near the top of each section, naming the test this changes for that
  app. go-gin-redis's mock example showed kind: Generic, which Keploy
  Enterprise does not write; it is now an excerpt in the Redis kind.
- running-keploy/mock-your-tests.md: with the open-source keploy, Redis
  must be running during keploy mock replay, as keploy mock --help says.
- The two Redis quickstarts carried an Enterprise-only badge; they now
  carry the same badge as the other quickstarts, in line with their notes
  that a free account is enough.
- keploy-cloud/installation.md: a note that the keploy the install script
  installs by default (without --oss) is Keploy Enterprise, which records
  and mocks Redis with a free account.

Each Redis note says that a free account is enough to record and replay
Redis with Keploy Enterprise, as the install pages already say for
keploy itself.

"Keploy Enterprise" links /docs/keploy-cloud/cloud-installation/, the
page the open-source keploy's Redis warning links (keploy's
models.RedisEnterpriseURL), so the warning and the docs name one page.
The install-script links go to /docs/server/installation/.

version-3.0.0 is left alone: docusaurus.config.js does not build it.
1.0.0 and 2.0.0 are archived, unmaintained versions that describe the
keploy of their time.

Signed-off-by: slayerjain <shubhamkjain@outlook.com>

This branch has not been deployed

No deployments
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.

1 participant