From 911d9a0a3466b9a092da0556bfb6d79eaab76d8f Mon Sep 17 00:00:00 2001 From: slayerjain Date: Sun, 1 Nov 2026 13:51:48 +0530 Subject: [PATCH 1/2] docs: install Keploy without writing install.sh in the working directory The docs told users to install Keploy with `curl --silent -O -L https://keploy.io/install.sh && source install.sh` (or `&& bash install.sh` in the Jenkins pages). curl -O saves the installer as ./install.sh, so run from a repository root it overwrote the repository's own install.sh before the installer even started. The 79 lines in 42 files now say, where the script was sourced: source /dev/stdin <<<"$(curl -fsSL URL || echo '...; return 1')" and in the Jenkins pages, where it was run with bash: (curl -fsSL URL || echo '...; exit 1') | bash with the echoed script `echo Keploy installer download failed >&2`. Neither writes a file. The sourced form still sets PATH in the user's shell; it reads a here-string because macOS's bash 3.2 sources `<(curl ...)` as an empty file. A failed download prints the message and returns 1, so a CI step stops at the install line instead of going on without keploy. The URLs are unchanged; the two Windows pages that had no -L now follow redirects like the rest. The change is mechanical: putting the old command back in each changed line gives the old line byte for byte. Signed-off-by: slayerjain --- content/llms-full-root.txt | 2 +- versioned_docs/version-2.0.0/ci-cd/gitlab.md | 2 +- versioned_docs/version-2.0.0/ci-cd/jenkins.md | 4 ++-- .../version-2.0.0/concepts/installation.md | 4 ++-- .../version-2.0.0/keploy-cloud/installation.md | 2 +- .../quickstart/java-spring-boot-xml.md | 4 ++-- .../version-2.0.0/running-keploy/keploy-karaf.md | 2 +- .../version-2.0.0/server/linux/installation.md | 2 +- .../version-2.0.0/server/macos/installation.md | 2 +- .../version-2.0.0/server/windows/installation.md | 2 +- versioned_docs/version-3.0.0/ci-cd/gitlab.md | 2 +- versioned_docs/version-3.0.0/ci-cd/jenkins.md | 4 ++-- .../version-3.0.0/concepts/installation.md | 4 ++-- versioned_docs/version-3.0.0/installation/linux.md | 2 +- versioned_docs/version-3.0.0/installation/macos.md | 4 ++-- .../version-3.0.0/installation/windows.md | 4 ++-- .../version-3.0.0/keploy-cloud/installation.md | 2 +- .../version-3.0.0/running-keploy/keploy-karaf.md | 2 +- .../version-3.0.0/server/installation_tabs.md | 12 ++++++------ .../version-3.0.0/server/linux/installation.md | 2 +- .../version-3.0.0/server/macos/installation.md | 2 +- .../version-3.0.0/server/windows/installation.md | 2 +- versioned_docs/version-4.0.0/ci-cd/github.md | 8 ++++---- versioned_docs/version-4.0.0/ci-cd/gitlab.md | 6 +++--- versioned_docs/version-4.0.0/ci-cd/jenkins.md | 8 ++++---- .../version-4.0.0/concepts/installation.md | 4 ++-- .../concepts/platform-requirements.md | 2 +- versioned_docs/version-4.0.0/installation/linux.md | 2 +- versioned_docs/version-4.0.0/installation/macos.md | 6 +++--- .../version-4.0.0/installation/windows.md | 2 +- .../version-4.0.0/keploy-cloud/installation.md | 2 +- .../keploy-explained/common-errors.md | 2 +- .../version-4.0.0/keploy-explained/dev-guide.md | 12 ++++++------ .../version-4.0.0/keploy-explained/mac-linux.md | 2 +- .../version-4.0.0/keploy-explained/windows-wsl.md | 4 ++-- .../running-keploy/api-testing-cicd.md | 2 +- .../version-4.0.0/running-keploy/keploy-karaf.md | 2 +- .../version-4.0.0/server/installation.md | 2 +- .../version-4.0.0/server/installation_tabs.md | 14 +++++++------- .../version-4.0.0/server/linux/installation.md | 4 ++-- .../version-4.0.0/server/macos/installation.md | 4 ++-- .../version-4.0.0/server/windows/installation.md | 2 +- 42 files changed, 79 insertions(+), 79 deletions(-) diff --git a/content/llms-full-root.txt b/content/llms-full-root.txt index 1332549939..c898b92442 100644 --- a/content/llms-full-root.txt +++ b/content/llms-full-root.txt @@ -101,7 +101,7 @@ You install one product, `keploy`; on Linux and macOS the same install script in ### Linux (Any Distribution) ``` -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" keploy --version ``` diff --git a/versioned_docs/version-2.0.0/ci-cd/gitlab.md b/versioned_docs/version-2.0.0/ci-cd/gitlab.md index 0ed2341a89..7badf3ac7f 100644 --- a/versioned_docs/version-2.0.0/ci-cd/gitlab.md +++ b/versioned_docs/version-2.0.0/ci-cd/gitlab.md @@ -51,7 +51,7 @@ Now that we have Keploy installed, and all ready, we need switch to path where ` script: ## Steps to install Keploy and run application # Install Keploy - - curl --silent -O -L https://keploy.io/install.sh && source install.sh + - source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" # Mount required filesystems - mount -t debugfs nodev /sys/kernel/debug || true diff --git a/versioned_docs/version-2.0.0/ci-cd/jenkins.md b/versioned_docs/version-2.0.0/ci-cd/jenkins.md index 6bfad8f9ef..cdd9a97343 100644 --- a/versioned_docs/version-2.0.0/ci-cd/jenkins.md +++ b/versioned_docs/version-2.0.0/ci-cd/jenkins.md @@ -38,7 +38,7 @@ pipeline { stage('Install Keploy') { steps { sh ''' - curl --silent -O -L https://keploy.io/install.sh && bash install.sh + (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash ''' } } @@ -77,7 +77,7 @@ pipeline { stage('Install Keploy') { steps { sh ''' - curl --silent -O -L https://keploy.io/install.sh && bash install.sh + (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash ''' } } diff --git a/versioned_docs/version-2.0.0/concepts/installation.md b/versioned_docs/version-2.0.0/concepts/installation.md index b27b9194d6..6b384a23dc 100644 --- a/versioned_docs/version-2.0.0/concepts/installation.md +++ b/versioned_docs/version-2.0.0/concepts/installation.md @@ -31,7 +31,7 @@ import PlatformRequirements from '../concepts/platform-requirements.md' Let's get started by setting up the Keploy alias with this command: ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` You should see something like this: @@ -88,7 +88,7 @@ docker network create keploy-network 2. Install Keploy ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` #### Examples: diff --git a/versioned_docs/version-2.0.0/keploy-cloud/installation.md b/versioned_docs/version-2.0.0/keploy-cloud/installation.md index 44cd3bd471..621b4b695e 100644 --- a/versioned_docs/version-2.0.0/keploy-cloud/installation.md +++ b/versioned_docs/version-2.0.0/keploy-cloud/installation.md @@ -50,7 +50,7 @@ import PlatformRequirements from '../concepts/platform-requirements.md' Install and Validate the Keploy Cloud Agent by following the steps below: ```bash -curl --silent -O -L https://keploy.io/ent/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/ent/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` Enter your **API Key** when prompted, ask your org Admin to re-regenerate the API key in case you lose it. diff --git a/versioned_docs/version-2.0.0/quickstart/java-spring-boot-xml.md b/versioned_docs/version-2.0.0/quickstart/java-spring-boot-xml.md index fb57544730..586575c7dd 100644 --- a/versioned_docs/version-2.0.0/quickstart/java-spring-boot-xml.md +++ b/versioned_docs/version-2.0.0/quickstart/java-spring-boot-xml.md @@ -98,7 +98,7 @@ Harness Keploy's test generation capabilities easily: ### Install Keploy ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` or @@ -106,7 +106,7 @@ or ### Install the cloud version - ```bash - curl --silent -O -L https://keploy.io/ent/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/ent/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ### Record Test Cases diff --git a/versioned_docs/version-2.0.0/running-keploy/keploy-karaf.md b/versioned_docs/version-2.0.0/running-keploy/keploy-karaf.md index 7b27893995..1a153221c8 100644 --- a/versioned_docs/version-2.0.0/running-keploy/keploy-karaf.md +++ b/versioned_docs/version-2.0.0/running-keploy/keploy-karaf.md @@ -28,7 +28,7 @@ keywords: Use Keploy's one-click installation to download and install the latest Keploy binary: ```bash -curl --silent -O -L https://keploy.io/ent/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/ent/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ### Download Required JARs diff --git a/versioned_docs/version-2.0.0/server/linux/installation.md b/versioned_docs/version-2.0.0/server/linux/installation.md index 7f6dddc8e9..80e1c84fe3 100644 --- a/versioned_docs/version-2.0.0/server/linux/installation.md +++ b/versioned_docs/version-2.0.0/server/linux/installation.md @@ -29,7 +29,7 @@ Keploy can be installed in two ways: ## One click install Keploy. ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ## Manual Install diff --git a/versioned_docs/version-2.0.0/server/macos/installation.md b/versioned_docs/version-2.0.0/server/macos/installation.md index 7b92856a6e..7cdca8ea31 100644 --- a/versioned_docs/version-2.0.0/server/macos/installation.md +++ b/versioned_docs/version-2.0.0/server/macos/installation.md @@ -32,7 +32,7 @@ There are two ways to install Keploy eBPF in MacOS, you can use either use: ## One click install Keploy. ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ## Using Docker Desktop diff --git a/versioned_docs/version-2.0.0/server/windows/installation.md b/versioned_docs/version-2.0.0/server/windows/installation.md index 67e5f9f066..29783ceb4d 100644 --- a/versioned_docs/version-2.0.0/server/windows/installation.md +++ b/versioned_docs/version-2.0.0/server/windows/installation.md @@ -28,7 +28,7 @@ Keploy can be installed in two ways: ## One click install Keploy. ```shell - curl --silent -O https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ## Manual Install diff --git a/versioned_docs/version-3.0.0/ci-cd/gitlab.md b/versioned_docs/version-3.0.0/ci-cd/gitlab.md index a29506e4e3..be0845dd66 100644 --- a/versioned_docs/version-3.0.0/ci-cd/gitlab.md +++ b/versioned_docs/version-3.0.0/ci-cd/gitlab.md @@ -51,7 +51,7 @@ Now that we have Keploy installed, and all ready, we need switch to path where ` script: ## Steps to install Keploy and run application # Install Keploy - - curl --silent -O -L https://keploy.io/install.sh && source install.sh + - source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" # Mount required filesystems - mount -t debugfs nodev /sys/kernel/debug || true diff --git a/versioned_docs/version-3.0.0/ci-cd/jenkins.md b/versioned_docs/version-3.0.0/ci-cd/jenkins.md index cabb6bf686..c5d2917e61 100644 --- a/versioned_docs/version-3.0.0/ci-cd/jenkins.md +++ b/versioned_docs/version-3.0.0/ci-cd/jenkins.md @@ -42,7 +42,7 @@ pipeline { stage('Install Keploy') { steps { sh ''' - curl --silent -O -L https://keploy.io/install.sh && bash install.sh + (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash ''' } } @@ -77,7 +77,7 @@ pipeline { stage('Install Keploy') { steps { sh ''' - curl --silent -O -L https://keploy.io/install.sh && bash install.sh + (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash ''' } } diff --git a/versioned_docs/version-3.0.0/concepts/installation.md b/versioned_docs/version-3.0.0/concepts/installation.md index ae8a675e83..c2f2d435f5 100644 --- a/versioned_docs/version-3.0.0/concepts/installation.md +++ b/versioned_docs/version-3.0.0/concepts/installation.md @@ -31,7 +31,7 @@ import PlatformRequirements from '../concepts/platform-requirements.md' Let's get started by setting up the Keploy alias with this command: ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` You should see something like this: @@ -88,7 +88,7 @@ docker network create keploy-network 2. Install Keploy ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` #### Examples: diff --git a/versioned_docs/version-3.0.0/installation/linux.md b/versioned_docs/version-3.0.0/installation/linux.md index a3001ddb61..a4e9c15433 100644 --- a/versioned_docs/version-3.0.0/installation/linux.md +++ b/versioned_docs/version-3.0.0/installation/linux.md @@ -19,7 +19,7 @@ Keploy uses eBPF to intercept API calls on network layer and generates test case Run the following command in your terminal: ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ## 2. Verify Installation diff --git a/versioned_docs/version-3.0.0/installation/macos.md b/versioned_docs/version-3.0.0/installation/macos.md index d0fe68756b..143e4f4d77 100644 --- a/versioned_docs/version-3.0.0/installation/macos.md +++ b/versioned_docs/version-3.0.0/installation/macos.md @@ -55,7 +55,7 @@ Keploy uses eBPF to intercept API calls on network layer and generates test case 6. **Install Keploy inside Lima** ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 7. **Verify the installation** @@ -88,7 +88,7 @@ Begin recording your API calls and automatically generate test cases with Keploy 3. **Install Keploy** ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 4. **Verify the installation** diff --git a/versioned_docs/version-3.0.0/installation/windows.md b/versioned_docs/version-3.0.0/installation/windows.md index dee4c24d3e..d1deba0b0d 100644 --- a/versioned_docs/version-3.0.0/installation/windows.md +++ b/versioned_docs/version-3.0.0/installation/windows.md @@ -48,7 +48,7 @@ If you already have WSL, Go to Step 2. Inside your WSL terminal, run: ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Verify Installation** @@ -81,7 +81,7 @@ Begin recording your API calls and automatically generate test cases with Keploy 3. **Install Keploy** ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 4. **Verify the installation** diff --git a/versioned_docs/version-3.0.0/keploy-cloud/installation.md b/versioned_docs/version-3.0.0/keploy-cloud/installation.md index c6e816f3fe..67235da3b8 100644 --- a/versioned_docs/version-3.0.0/keploy-cloud/installation.md +++ b/versioned_docs/version-3.0.0/keploy-cloud/installation.md @@ -58,7 +58,7 @@ To begin using Keploy Enterprise, you need to install the **Keploy Enterprise Ag Follow the steps below to install and validate the Keploy Enterprise Agent: ```bash -curl --silent -O -L https://keploy.io/ent/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/ent/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` When recording API calls using the Enterprise Agent, you will be prompted to provide your **API key**. diff --git a/versioned_docs/version-3.0.0/running-keploy/keploy-karaf.md b/versioned_docs/version-3.0.0/running-keploy/keploy-karaf.md index 7b27893995..1a153221c8 100644 --- a/versioned_docs/version-3.0.0/running-keploy/keploy-karaf.md +++ b/versioned_docs/version-3.0.0/running-keploy/keploy-karaf.md @@ -28,7 +28,7 @@ keywords: Use Keploy's one-click installation to download and install the latest Keploy binary: ```bash -curl --silent -O -L https://keploy.io/ent/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/ent/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ### Download Required JARs diff --git a/versioned_docs/version-3.0.0/server/installation_tabs.md b/versioned_docs/version-3.0.0/server/installation_tabs.md index 411f4c0bd0..13ced44eb7 100644 --- a/versioned_docs/version-3.0.0/server/installation_tabs.md +++ b/versioned_docs/version-3.0.0/server/installation_tabs.md @@ -46,7 +46,7 @@ Make sure your Linux kernel version is **5.10 or higher**. ### 1. Install Keploy ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ### 2. Once done, You should see something like this: @@ -95,7 +95,7 @@ You’ve successfully installed **Keploy on Linux**. 2. **Install Keploy** ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Once done, You should see something like this:** @@ -180,7 +180,7 @@ limactl shell debian-12 6. **Install Keploy inside Lima** ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 7. **Once done, You should see something like this:** @@ -230,7 +230,7 @@ You’ve successfully set up **Keploy on macOS** using **Lima**. 2. **Install Keploy** ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Verify the installation** @@ -386,7 +386,7 @@ wsl --install -d Inside your WSL terminal, run: ```shell -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Verify Installation** @@ -436,7 +436,7 @@ You’ve successfully set up **Keploy on Windows** using **WSL**. 2. **Install Keploy** ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Verify the installation** diff --git a/versioned_docs/version-3.0.0/server/linux/installation.md b/versioned_docs/version-3.0.0/server/linux/installation.md index 2903eab365..dfb443612b 100644 --- a/versioned_docs/version-3.0.0/server/linux/installation.md +++ b/versioned_docs/version-3.0.0/server/linux/installation.md @@ -29,7 +29,7 @@ Keploy can be installed in two ways: ## One click install Keploy. ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ## Manual Install diff --git a/versioned_docs/version-3.0.0/server/macos/installation.md b/versioned_docs/version-3.0.0/server/macos/installation.md index e47228bdc6..16eee717ab 100644 --- a/versioned_docs/version-3.0.0/server/macos/installation.md +++ b/versioned_docs/version-3.0.0/server/macos/installation.md @@ -32,7 +32,7 @@ There are two ways to install Keploy eBPF in MacOS, you can use either use: ## One click install Keploy. ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ## Using Docker Desktop diff --git a/versioned_docs/version-3.0.0/server/windows/installation.md b/versioned_docs/version-3.0.0/server/windows/installation.md index c6691c9415..7b8690b403 100644 --- a/versioned_docs/version-3.0.0/server/windows/installation.md +++ b/versioned_docs/version-3.0.0/server/windows/installation.md @@ -28,7 +28,7 @@ Keploy can be installed in two ways: ## One click install Keploy. ```shell - curl --silent -O https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ## Manual Install diff --git a/versioned_docs/version-4.0.0/ci-cd/github.md b/versioned_docs/version-4.0.0/ci-cd/github.md index eb9352882c..b9ebfc854f 100644 --- a/versioned_docs/version-4.0.0/ci-cd/github.md +++ b/versioned_docs/version-4.0.0/ci-cd/github.md @@ -53,7 +53,7 @@ GitHub scripts are the easiest way to integrate Keploy with GitHub. We will be u env: KEPLOY_API_KEY: ${{ secrets.KEPLOY_API_KEY }} run: | - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ... ``` @@ -76,7 +76,7 @@ While using [express-mongoose](https://github.com/keploy/samples-typescript/tree env: KEPLOY_API_KEY: ${{ secrets.KEPLOY_API_KEY }} run: | - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" # Install application dependencies npm install @@ -250,7 +250,7 @@ The CLI reads the `KEPLOY_API_KEY` environment variable automatically — no bro - **Locally:** `export KEPLOY_API_KEY=""` before running the command. - **In CI:** store the key as a secret in your CI system so it gets injected as an environment variable at runtime. Never hard-code it in your pipeline file. -> Install Keploy with `curl --silent -O -L https://keploy.io/install.sh && source install.sh`. With `KEPLOY_API_KEY` set, Keploy signs in with your key. +> Install Keploy with `source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')"`. With `KEPLOY_API_KEY` set, Keploy signs in with your key. ### Steps @@ -278,7 +278,7 @@ jobs: steps: - name: Install Keploy run: | - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" - name: Cloud replay run: | diff --git a/versioned_docs/version-4.0.0/ci-cd/gitlab.md b/versioned_docs/version-4.0.0/ci-cd/gitlab.md index bfbf0b3998..c993a89517 100644 --- a/versioned_docs/version-4.0.0/ci-cd/gitlab.md +++ b/versioned_docs/version-4.0.0/ci-cd/gitlab.md @@ -67,7 +67,7 @@ Now that we have Keploy installed, and all ready, we need switch to path where ` script: ## Steps to install Keploy and run application # Install Keploy - - curl --silent -O -L https://keploy.io/install.sh && source install.sh + - source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" # Mount required filesystems - mount -t debugfs nodev /sys/kernel/debug || true @@ -186,7 +186,7 @@ In GitLab CI, go to **Settings → CI/CD → Variables**, add `KEPLOY_API_KEY` a 2. Install Keploy on the runner. 3. Run `keploy cloud replay` with your application and cluster details. -> Install Keploy with `curl --silent -O -L https://keploy.io/install.sh && source install.sh`. With `KEPLOY_API_KEY` set, Keploy signs in with your key. +> Install Keploy with `source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')"`. With `KEPLOY_API_KEY` set, Keploy signs in with your key. ### Example: GitLab CI @@ -197,7 +197,7 @@ keploy-cloud-replay: # KEPLOY_API_KEY is injected automatically from the masked CI/CD variable script: - apt-get update -qq && apt-get install -y -qq curl sudo - - curl --silent -O -L https://keploy.io/install.sh && source install.sh + - source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" - | keploy cloud replay \ --app "." \ diff --git a/versioned_docs/version-4.0.0/ci-cd/jenkins.md b/versioned_docs/version-4.0.0/ci-cd/jenkins.md index 3565d02439..320427822e 100644 --- a/versioned_docs/version-4.0.0/ci-cd/jenkins.md +++ b/versioned_docs/version-4.0.0/ci-cd/jenkins.md @@ -58,7 +58,7 @@ pipeline { stage('Install Keploy') { steps { sh ''' - curl --silent -O -L https://keploy.io/install.sh && bash install.sh + (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash ''' } } @@ -93,7 +93,7 @@ pipeline { stage('Install Keploy') { steps { sh ''' - curl --silent -O -L https://keploy.io/install.sh && bash install.sh + (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash ''' } } @@ -211,7 +211,7 @@ In Jenkins, go to **Manage Jenkins → Credentials**, add a **Secret text** cred 2. Install Keploy on the agent. 3. Run `keploy cloud replay` with your application and cluster details. -> Install Keploy with the same script as above: `curl --silent -O -L https://keploy.io/install.sh && bash install.sh`. With `KEPLOY_API_KEY` set, Keploy signs in with your key. +> Install Keploy with the same script as above: `(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash`. With `KEPLOY_API_KEY` set, Keploy signs in with your key. ### Example: Jenkins Declarative Pipeline @@ -222,7 +222,7 @@ pipeline { stage('Install Keploy') { steps { sh ''' - curl --silent -O -L https://keploy.io/install.sh && bash install.sh + (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash ''' } } diff --git a/versioned_docs/version-4.0.0/concepts/installation.md b/versioned_docs/version-4.0.0/concepts/installation.md index aee3165579..44ce021f7b 100644 --- a/versioned_docs/version-4.0.0/concepts/installation.md +++ b/versioned_docs/version-4.0.0/concepts/installation.md @@ -35,7 +35,7 @@ The install is the same whatever your plan. You need a free Keploy account to re On **Linux** and **macOS** (Apple Silicon), install Keploy with: ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` You should see something like this: @@ -92,7 +92,7 @@ docker network create keploy-network 3. Install Keploy: on Linux and macOS with the command below, on Windows with [the PowerShell steps](/docs/installation/windows-installation/#option-1-run-keploy-natively). On macOS the CLI is Apple Silicon (arm64) only — on an Intel Mac, run Keploy with [Lima](/docs/installation/macos-installation/#option-2-install-keploy-with-lima) instead. ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` #### Examples: diff --git a/versioned_docs/version-4.0.0/concepts/platform-requirements.md b/versioned_docs/version-4.0.0/concepts/platform-requirements.md index dd0866a956..3991cbda52 100644 --- a/versioned_docs/version-4.0.0/concepts/platform-requirements.md +++ b/versioned_docs/version-4.0.0/concepts/platform-requirements.md @@ -45,4 +45,4 @@ On Linux, Keploy records and tests applications that run in Podman as well as in - **Podman's API.** Keploy talks to Podman's Docker-compatible API. If the rootful `podman.socket` is enabled (`sudo systemctl enable --now podman.socket`) it uses that; otherwise it starts Podman's API service for the run and stops it when Keploy exits. - **Compose.** `podman compose` (Podman 4.7 or later; Keploy is tested with Podman 5) works with Docker Compose v2 or later (`docker-compose`) as its compose provider, on a host that runs systemd: Podman runs healthchecks with systemd timers, and your app's service waits for the healthcheck of Keploy's agent service. podman-compose isn't supported. - **Local Podman on Linux only.** A Podman set up as a podman-remote client (for example with `CONTAINER_HOST`, `CONTAINER_CONNECTION`, or `remote = true` in containers.conf) runs containers in another Podman service, but Keploy's agent runs in the local rootful Podman, so Keploy refuses it. On macOS and Windows, including Podman machine, Keploy refuses Podman commands: its agent uses Linux's eBPF. -- **Which Keploy.** Podman support is in the Keploy that `curl --silent -O -L https://keploy.io/install.sh && source install.sh` installs (free with an account), from v3.8.60. A `keploy` built from the open-source repository refuses Podman commands and says where to get it. +- **Which Keploy.** Podman support is in the Keploy that `source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')"` installs (free with an account), from v3.8.60. A `keploy` built from the open-source repository refuses Podman commands and says where to get it. diff --git a/versioned_docs/version-4.0.0/installation/linux.md b/versioned_docs/version-4.0.0/installation/linux.md index 2a78b7b387..f45bee3a59 100644 --- a/versioned_docs/version-4.0.0/installation/linux.md +++ b/versioned_docs/version-4.0.0/installation/linux.md @@ -19,7 +19,7 @@ Keploy uses eBPF to intercept API calls on network layer and generates test case Run the following command in your terminal: ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` :::note Keploy needs a free account diff --git a/versioned_docs/version-4.0.0/installation/macos.md b/versioned_docs/version-4.0.0/installation/macos.md index ed5342a3b7..a086ec003e 100644 --- a/versioned_docs/version-4.0.0/installation/macos.md +++ b/versioned_docs/version-4.0.0/installation/macos.md @@ -49,7 +49,7 @@ The native macOS build is **Apple Silicon (arm64) only**. On an Intel Mac the in 1. **Install Keploy** ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 2. **Record your app** — pass the command that starts it, exactly as you run it yourself: @@ -116,7 +116,7 @@ The native macOS build is **Apple Silicon (arm64) only**. On an Intel Mac the in 6. **Install Keploy inside Lima**, from the VM's own home directory ```bash - cd ~ && curl --silent -O -L https://keploy.io/install.sh && source install.sh + cd ~ && source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` Then `cd` into your project under `/Users//…` to record it. @@ -157,7 +157,7 @@ With this option your application and Keploy's agent run in containers, but the 3. **Install Keploy** ```bash - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 4. **Verify the installation** diff --git a/versioned_docs/version-4.0.0/installation/windows.md b/versioned_docs/version-4.0.0/installation/windows.md index ce89dc8d5f..b7e8731533 100644 --- a/versioned_docs/version-4.0.0/installation/windows.md +++ b/versioned_docs/version-4.0.0/installation/windows.md @@ -127,7 +127,7 @@ If you already have WSL, Go to Step 2. Inside your WSL terminal, run: ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Verify Installation** diff --git a/versioned_docs/version-4.0.0/keploy-cloud/installation.md b/versioned_docs/version-4.0.0/keploy-cloud/installation.md index 48d2fb9ba8..5c2ad80015 100644 --- a/versioned_docs/version-4.0.0/keploy-cloud/installation.md +++ b/versioned_docs/version-4.0.0/keploy-cloud/installation.md @@ -57,7 +57,7 @@ To begin, install **Keploy** and sign in with your Keploy account. On Linux or macOS, install Keploy with: ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` On Windows (x86-64), run `keploy.exe` natively from PowerShell — no Administrator needed. See [Run Keploy natively on Windows](/docs/installation/windows-installation/#option-1-run-keploy-natively). For platform details, see the [Linux](/docs/installation/linux-installation/), [macOS](/docs/installation/macos-installation/) and [Windows](/docs/installation/windows-installation/) installation guides. diff --git a/versioned_docs/version-4.0.0/keploy-explained/common-errors.md b/versioned_docs/version-4.0.0/keploy-explained/common-errors.md index bd77762f6c..b531d5145c 100644 --- a/versioned_docs/version-4.0.0/keploy-explained/common-errors.md +++ b/versioned_docs/version-4.0.0/keploy-explained/common-errors.md @@ -288,7 +288,7 @@ or Podman can't find the application's image although `podman images` (without ` #### Solution: -- Install or update Keploy with `curl --silent -O -L https://keploy.io/install.sh && source install.sh` (free with an account): Podman needs v3.8.60 or later. +- Install or update Keploy with `source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')"` (free with an account): Podman needs v3.8.60 or later. - Run Keploy on the Linux machine whose rootful Podman runs the app, with `CONTAINER_HOST` and `CONTAINER_CONNECTION` unset (or `CONTAINER_HOST` set to the rootful socket, `unix:///run/podman/podman.sock`, with the rootful `podman.socket` enabled) and without `remote = true` in containers.conf. - For compose, install Docker Compose (`docker-compose`) on that `PATH` and keep `podman-compose` out of containers.conf's `compose_providers`, or set `PODMAN_COMPOSE_PROVIDER` to docker-compose's path; and run it on a host with systemd, or use `podman run`. - Build or pull the image with `sudo podman`. See [Platform requirements](/docs/concepts/platform-requirements/#podman). diff --git a/versioned_docs/version-4.0.0/keploy-explained/dev-guide.md b/versioned_docs/version-4.0.0/keploy-explained/dev-guide.md index 26f096192c..fe446d9701 100644 --- a/versioned_docs/version-4.0.0/keploy-explained/dev-guide.md +++ b/versioned_docs/version-4.0.0/keploy-explained/dev-guide.md @@ -139,7 +139,7 @@ Make sure your Linux kernel version is **5.10 or higher**. ### 1. Install Keploy ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ### 2. Once done, you should see something like this: @@ -183,7 +183,7 @@ Use "keploy [command] --help" for more information about a command. 2. Install Keploy ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 🎉 You have successfully set up **Keploy on Linux** using **Docker**. @@ -206,7 +206,7 @@ Keploy runs natively on Apple Silicon Macs: no Lima VM, no Docker and no `sudo`. ### Install Keploy ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` @@ -246,7 +246,7 @@ limactl shell debian-12 6. Install Keploy inside Lima, from the VM's own home directory ```bash -cd ~ && curl --silent -O -L https://keploy.io/install.sh && source install.sh +cd ~ && source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 🎉 You have successfully set up **Keploy on macOS** using **Lima**. @@ -266,7 +266,7 @@ Your application and Keploy's agent run in containers here, but the `keploy` CLI 2. Install Keploy ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. Create the Docker network your app's container and Keploy share @@ -328,7 +328,7 @@ wsl --install -d 2. Install Keploy inside WSL ```shell -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 🎉 You have successfully set up **Keploy on Windows** using **WSL**. diff --git a/versioned_docs/version-4.0.0/keploy-explained/mac-linux.md b/versioned_docs/version-4.0.0/keploy-explained/mac-linux.md index 02dcfcc48b..d2b7a4fb4a 100644 --- a/versioned_docs/version-4.0.0/keploy-explained/mac-linux.md +++ b/versioned_docs/version-4.0.0/keploy-explained/mac-linux.md @@ -51,7 +51,7 @@ This page runs Keploy inside a Debian VM, which is the route for an **Intel Mac* 7. Now you are in the linux shell of the debian instance. Install Keploy from the VM's own home directory. The installer picks the Linux build for the VM's architecture, which matches your Mac's. ```bash - cd ~ && curl --silent -O -L https://keploy.io/install.sh && source install.sh + cd ~ && source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 8. Go to your project on the Mac side to record it. Replace `{Username}` with your actual macOS username. (You might need to allow access to Terminal.app in a popup) diff --git a/versioned_docs/version-4.0.0/keploy-explained/windows-wsl.md b/versioned_docs/version-4.0.0/keploy-explained/windows-wsl.md index 5d009a56c9..060dd022ec 100644 --- a/versioned_docs/version-4.0.0/keploy-explained/windows-wsl.md +++ b/versioned_docs/version-4.0.0/keploy-explained/windows-wsl.md @@ -25,7 +25,7 @@ tools={["Windows", "WSL", "Ubuntu", "Keploy CLI"]} steps={[ {name: "Check prerequisites", text: "Ensure you are on Windows 10 version 2004+ (build 19041+) or Windows 11 with admin access."}, {name: "Install WSL + Ubuntu", text: "Run wsl --install -d Ubuntu-22.04 from an elevated terminal and set up your Linux user."}, -{name: "Install the Keploy binary", text: "Inside the WSL shell run: curl --silent -O -L https://keploy.io/install.sh && source install.sh"}, +{name: "Install the Keploy binary", text: "Inside the WSL shell run: source /dev/stdin <<<\"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')\""}, {name: "Verify", text: "Run keploy in the WSL shell to confirm the CLI is installed."}, ]} visible={false} @@ -66,7 +66,7 @@ This command enables the features necessary to run WSL and installs the chosen U Once you are inside your WSL Ubuntu shell, install the Keploy binary. The installer picks the Linux build for your machine's architecture, x86-64 or ARM: ```shell -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` The installer prints the CLI help when it is done, confirming the binary is on your `PATH`. From here on, run every Keploy command from inside the WSL shell (not native PowerShell), and keep your application code on the WSL filesystem for the best performance. diff --git a/versioned_docs/version-4.0.0/running-keploy/api-testing-cicd.md b/versioned_docs/version-4.0.0/running-keploy/api-testing-cicd.md index 8cca0f0dea..eee756cbb8 100644 --- a/versioned_docs/version-4.0.0/running-keploy/api-testing-cicd.md +++ b/versioned_docs/version-4.0.0/running-keploy/api-testing-cicd.md @@ -46,7 +46,7 @@ Add the following steps to your `.github/workflows/ci.yml` file: ```yaml - name: Install Keploy CLI run: | - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ### Run Keploy API Tests diff --git a/versioned_docs/version-4.0.0/running-keploy/keploy-karaf.md b/versioned_docs/version-4.0.0/running-keploy/keploy-karaf.md index a1da46779e..8e2bd1cc50 100644 --- a/versioned_docs/version-4.0.0/running-keploy/keploy-karaf.md +++ b/versioned_docs/version-4.0.0/running-keploy/keploy-karaf.md @@ -28,7 +28,7 @@ keywords: Use Keploy's one-click installation to download and install the latest Keploy binary: ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ### Download Required JARs diff --git a/versioned_docs/version-4.0.0/server/installation.md b/versioned_docs/version-4.0.0/server/installation.md index e1ae3aca5f..4d8d9487ac 100644 --- a/versioned_docs/version-4.0.0/server/installation.md +++ b/versioned_docs/version-4.0.0/server/installation.md @@ -48,7 +48,7 @@ visible={false} steps={[ { name: "Download and install the Keploy binary", -text: "On Linux or macOS, run: curl --silent -O -L https://keploy.io/install.sh && source install.sh. On Windows, download https://keploy.io/ent/dl/latest/enterprise_windows_amd64.exe as keploy.exe into a folder on your PATH.", +text: "On Linux or macOS, run: source /dev/stdin <<<\"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')\". On Windows, download https://keploy.io/ent/dl/latest/enterprise_windows_amd64.exe as keploy.exe into a folder on your PATH.", }, { name: "Verify the installation", diff --git a/versioned_docs/version-4.0.0/server/installation_tabs.md b/versioned_docs/version-4.0.0/server/installation_tabs.md index 3aed4a83d8..398c5b6fd9 100644 --- a/versioned_docs/version-4.0.0/server/installation_tabs.md +++ b/versioned_docs/version-4.0.0/server/installation_tabs.md @@ -47,7 +47,7 @@ Make sure your Linux kernel version is **5.10 or higher**. ### 1. Install Keploy CLI ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ### 2. Once done, you should see something like this: @@ -141,7 +141,7 @@ Use "keploy [command] --help" for more information about a command. 2. **Install Keploy** ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Once done, you should see something like this:** @@ -237,7 +237,7 @@ Keploy records and tests applications that run in **rootful** Podman, started wi 2. **Install Keploy.** Podman needs v3.8.60 or later; re-run this to update an older Keploy. ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` The installer may say Docker isn't found; with Podman, ignore it. @@ -294,7 +294,7 @@ Keploy runs **natively** on Apple Silicon Macs: no Lima VM, no Docker and no `su ### 1. Install Keploy CLI ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` This installs `keploy` into `~/.keploy/bin` for your user — it never asks for `sudo`. Prefer Homebrew? `brew install keploy/tap/keploy` installs the same CLI. @@ -352,7 +352,7 @@ limactl shell debian-12 6. **Install Keploy inside Lima**, from the VM's own home directory ```bash -cd ~ && curl --silent -O -L https://keploy.io/install.sh && source install.sh +cd ~ && source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` Then `cd` into your project under `/Users//…` to record it. @@ -452,7 +452,7 @@ Your application and Keploy's agent run in containers here, but the `keploy` CLI 2. **Install Keploy** ```bash -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Create the Docker network** your app's container and Keploy share: @@ -698,7 +698,7 @@ wsl --install -d Inside your WSL terminal, run: ```shell -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` 3. **Verify Installation** diff --git a/versioned_docs/version-4.0.0/server/linux/installation.md b/versioned_docs/version-4.0.0/server/linux/installation.md index 83c2eb90fd..3fd9588ea4 100644 --- a/versioned_docs/version-4.0.0/server/linux/installation.md +++ b/versioned_docs/version-4.0.0/server/linux/installation.md @@ -30,7 +30,7 @@ description="Install the Keploy CLI on Linux with the one-click script, then run totalTime="PT5M" tools={["Linux", "curl", "Keploy CLI"]} steps={[ -{name: "One-click install", text: "Run: curl --silent -O -L https://keploy.io/install.sh && source install.sh"}, +{name: "One-click install", text: "Run: source /dev/stdin <<<\"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')\""}, {name: "Verify", text: "Run keploy to confirm the CLI is installed and on your PATH."}, ]} visible={false} @@ -44,7 +44,7 @@ Install Keploy with the [one-click install](#one-click-install-keploy), then use ## One click install Keploy. ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` The installer works on both x86-64 and ARM Linux. diff --git a/versioned_docs/version-4.0.0/server/macos/installation.md b/versioned_docs/version-4.0.0/server/macos/installation.md index 921f4100c1..56674fd8df 100644 --- a/versioned_docs/version-4.0.0/server/macos/installation.md +++ b/versioned_docs/version-4.0.0/server/macos/installation.md @@ -37,7 +37,7 @@ visible={false} steps={[ { name: "One-click install (recommended)", -text: "Run: curl --silent -O -L https://keploy.io/install.sh && source install.sh", +text: "Run: source /dev/stdin <<<\"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')\"", url: "#one-click-install-keploy", }, { @@ -66,7 +66,7 @@ Both routes install the native Keploy CLI, which is built for **Apple Silicon (a Run the following command in your terminal: ```shell - curl --silent -O -L https://keploy.io/install.sh && source install.sh + source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` ## Install with Homebrew diff --git a/versioned_docs/version-4.0.0/server/windows/installation.md b/versioned_docs/version-4.0.0/server/windows/installation.md index e705e7f3bc..95908a0433 100644 --- a/versioned_docs/version-4.0.0/server/windows/installation.md +++ b/versioned_docs/version-4.0.0/server/windows/installation.md @@ -105,7 +105,7 @@ see WSL manual installation steps for older versions. Then, inside the WSL shell, install Keploy: ```shell -curl --silent -O -L https://keploy.io/install.sh && source install.sh +source /dev/stdin <<<"$(curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; return 1')" ``` Inside WSL, `keploy record` and `keploy test` work as they do on Linux. From e5dbfda2e42a67210e02db9577faa07331b11251 Mon Sep 17 00:00:00 2001 From: slayerjain Date: Sun, 1 Nov 2026 14:33:19 +0530 Subject: [PATCH 2/2] docs: make the last three piped install lines fail on a failed download Three GitHub Actions steps piped the installer to bash without --fail: - version-3.0.0 running-keploy/api-testing-cicd.md: `curl --silent -L https://keploy.io/ent/install.sh | bash`; - version-4.0.0 quickstart/k8s-proxy-developer-workflow.md (2 lines): `curl -sSL https://keploy.io/install.sh | bash`. A download that gets no response (DNS, refused, timeout) hands bash an empty script, so the step passes with nothing installed. An HTTP error hands bash the site's HTML error page to run. They now show the form the other piped lines use: (curl -fsSL URL || echo 'echo Keploy installer download failed >&2; exit 1') | bash with each line's own URL. Any failed download prints the message and fails the step. Signed-off-by: slayerjain --- .../version-3.0.0/running-keploy/api-testing-cicd.md | 2 +- .../version-4.0.0/quickstart/k8s-proxy-developer-workflow.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/versioned_docs/version-3.0.0/running-keploy/api-testing-cicd.md b/versioned_docs/version-3.0.0/running-keploy/api-testing-cicd.md index 7aea265099..b43799efbe 100644 --- a/versioned_docs/version-3.0.0/running-keploy/api-testing-cicd.md +++ b/versioned_docs/version-3.0.0/running-keploy/api-testing-cicd.md @@ -46,7 +46,7 @@ Add the following steps to your `.github/workflows/ci.yml` file: ```yaml - name: Install Keploy CLI run: | - curl --silent -L https://keploy.io/ent/install.sh | bash + (curl -fsSL https://keploy.io/ent/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash ``` ### Run Keploy API Tests diff --git a/versioned_docs/version-4.0.0/quickstart/k8s-proxy-developer-workflow.md b/versioned_docs/version-4.0.0/quickstart/k8s-proxy-developer-workflow.md index a68dad05c7..382034f7fa 100644 --- a/versioned_docs/version-4.0.0/quickstart/k8s-proxy-developer-workflow.md +++ b/versioned_docs/version-4.0.0/quickstart/k8s-proxy-developer-workflow.md @@ -136,7 +136,7 @@ jobs: - uses: actions/checkout@v4 - name: Install Keploy - run: curl -sSL https://keploy.io/install.sh | bash + run: (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash - name: Replay against the PR branch env: @@ -186,7 +186,7 @@ jobs: - uses: actions/checkout@v4 - name: Install Keploy - run: curl -sSL https://keploy.io/install.sh | bash + run: (curl -fsSL https://keploy.io/install.sh || echo 'echo Keploy installer download failed >&2; exit 1') | bash - name: Merge the Keploy branch env: