Skip to content

Commit

Permalink
Fix-keploy#1640 Added version argument to installation script
Browse files Browse the repository at this point in the history
  • Loading branch information
Tushar-kalsi committed Mar 4, 2024
1 parent 28e14bf commit 717978d
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 11 deletions.
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,19 @@ On MacOS and Windows, additional tools are required for Keploy due to the lack o
# 🚀 Quick Installation

To get started let's set Keploy alias by running.
To install latest version of keploy
```shell
curl -O https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh installKeploy
```

To install particular fuction of keploy
```shell
curl -O https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh installKeploy -version=$version
```

Example :
```shell
curl -O https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh
curl -O https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh installKeploy -version=v2.0.0-alpha43
```

## Capturing Testcases
Expand Down
53 changes: 43 additions & 10 deletions keploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,32 @@

installKeploy (){
IS_CI=false
VERSION="latest" # Default to the latest version
for arg in "$@"
do
case $arg in
-isCI)
IS_CI=true
shift
;;
-version=*)
VERSION="${arg#*=}" # Extract the version number
shift
;;
*)
;;
esac
done

install_keploy_arm() {
curl --silent --location "https://github.com/keploy/keploy/releases/latest/download/keploy_linux_arm64.tar.gz" | tar xz -C /tmp
local download_url="https://github.com/keploy/keploy/releases"
if [ "$VERSION" = "latest" ]; then
download_url+="/latest/download/keploy_linux_arm64.tar.gz"
else
download_url+="/download/$VERSION/keploy_linux_arm64.tar.gz"
fi

curl --silent --location "$download_url" | tar xz -C /tmp

sudo mkdir -p /usr/local/bin && sudo mv /tmp/keploy /usr/local/bin/keploybin

Expand All @@ -38,7 +50,15 @@ installKeploy (){
}

install_keploy_amd() {
curl --silent --location "https://github.com/keploy/keploy/releases/latest/download/keploy_linux_amd64.tar.gz" | tar xz -C /tmp

local download_url="https://github.com/keploy/keploy/releases"
if [ "$VERSION" = "latest" ]; then
download_url+="/latest/download/keploy_linux_amd64.tar.gz"
else
download_url+="/download/$VERSION/keploy_linux_amd64.tar.gz"
fi

curl --silent --location "$download_url" | tar xz -C /tmp

sudo mkdir -p /usr/local/bin && sudo mv /tmp/keploy /usr/local/bin/keploybin

Expand All @@ -50,8 +70,10 @@ installKeploy (){
return
fi
add_network

}


append_to_rc() {
last_byte=$(tail -c 1 $2)
if [[ "$last_byte" != "" ]]; then
Expand Down Expand Up @@ -156,6 +178,14 @@ installKeploy (){
}

install_docker() {
local keploy_version
# Determine which Keploy version to use in the Docker run command
if [ "$VERSION" = "latest" ]; then
keploy_version="latest"
else
keploy_version="$VERSION"
fi

if [ "$OS_NAME" = "Darwin" ]; then
check_docker_status_for_Darwin
dockerStatus=$?
Expand All @@ -166,11 +196,12 @@ installKeploy (){
if ! docker volume inspect debugfs &>/dev/null; then
docker volume create --driver local --opt type=debugfs --opt device=debugfs debugfs
fi
set_alias 'docker run --pull always --name keploy-v2 -p 16789:16789 --privileged --pid=host -it -v $(pwd):$(pwd) -w $(pwd) -v /sys/fs/cgroup:/sys/fs/cgroup -v debugfs:/sys/kernel/debug:rw -v /sys/fs/bpf:/sys/fs/bpf -v /var/run/docker.sock:/var/run/docker.sock -v '"$HOME"'/.keploy-config:/root/.keploy-config -v '"$HOME"'/.keploy:/root/.keploy --rm ghcr.io/keploy/keploy'
set_alias "docker run --pull always --name keploy-v2 -p 16789:16789 --privileged --pid=host -it -v \$(pwd):\$(pwd) -w \$(pwd) -v /sys/fs/cgroup:/sys/fs/cgroup -v debugfs:/sys/kernel/debug:rw -v /sys/fs/bpf:/sys/fs/bpf -v /var/run/docker.sock:/var/run/docker.sock -v \$HOME/.keploy-config:/root/.keploy-config -v \$HOME/.keploy:/root/.keploy --rm ghcr.io/keploy/keploy:$keploy_version"
else
set_alias 'docker run --pull always --name keploy-v2 -p 16789:16789 --privileged --pid=host -it -v $(pwd):$(pwd) -w $(pwd) -v /sys/fs/cgroup:/sys/fs/cgroup -v /sys/kernel/debug:/sys/kernel/debug -v /sys/fs/bpf:/sys/fs/bpf -v /var/run/docker.sock:/var/run/docker.sock -v '"$HOME"'/.keploy-config:/root/.keploy-config -v '"$HOME"'/.keploy:/root/.keploy --rm ghcr.io/keploy/keploy'
set_alias "docker run --pull always --name keploy-v2 -p 16789:16789 --privileged --pid=host -it -v \$(pwd):\$(pwd) -w \$(pwd) -v /sys/fs/cgroup:/sys/fs/cgroup -v /sys/kernel/debug:/sys/kernel/debug -v /sys/fs/bpf:/sys/fs/bpf -v /var/run/docker.sock:/var/run/docker.sock -v \$HOME/.keploy-config:/root/.keploy-config -v \$HOME/.keploy:/root/.keploy --rm ghcr.io/keploy/keploy:$keploy_version"
fi
}
}



ARCH=$(uname -m)
Expand Down Expand Up @@ -209,11 +240,13 @@ installKeploy (){
return
fi
fi

if command -v keploy &> /dev/null; then
keploy example
rm keploy.sh
fi

}

installKeploy

if command -v keploy &> /dev/null; then
keploy example
rm keploy.sh
fi

0 comments on commit 717978d

Please sign in to comment.