-
-
Notifications
You must be signed in to change notification settings - Fork 980
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Codestyle changes related to php-cs-fixer update (#1311) * Codestyle changes * Added missing type-hints * Added GETDEL command to KeyPrefixProcessor (#1306) * Added GETDEL command to KeyPrefixProcessor * Added test coverage * Codestyle fixes * Added timeout after FT.CREATE call * Added support for JSON.MERGE command (#1304) * Added support for JSON.MSET command (#1307) * Fixed subcommand test bug (#1313) * Update CHANGELOG.md * Update CHANGELOG.md * Fixed bug with incorrect multiple words processing (#1325) * Fixed bug with incorrect multiple words processing * Convert subcommand string to lower case * Update SubcommandStrategyResolver.php * Added test coverage * Codestyle fixes --------- Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Added support for FUNCTION DUMP, FUNCTION FLUSH, FUNCTION RESTORE commands (#1332) * Added support for CLIENT NO-EVICT command (#1335) * Added support for FUNCTION KILL, FUNCTION LIST, FUNCTION STATS commands (#1334) * Added support for FUNCTION KILL, FUNCTION LIST, FUNCTION STATS commands * Marked tests as relay-incompatible * Added support for tests running against redis cluster (#1236) * Added support for tests running against redis cluster * Test coverage * Added comment about master nodes * Codestyle fix * Revert changes * Revert DBNUM * Added cluster endpoints to relay tests env configuration * Exclude cluster tests from relay tests environment * Removed TODO comment * Changed cluster image version to unstable * Updated configuration to match unstable cluster * Fixed path * Updated cluster CI configuration * Removed redundant flag * Removed backslash * Updated file path * Updated file path variable * Added docker cluster initialization as additional step * Run cluster tests as separate workflow * Codestyle fixes * Updated exported files * Added additional timeout so cluster image could be settled * Added support for different cluster image, use docker compose for cluster tests CI * Remove unused flag * Removed variable from volume path * Added sleep timeout to allow docker setup after running * Added timeout before tests run * Updated linter settings * Include indent changes for.sh files * Added missing coverage * Revert expected files and mark docker folder as exclusion * Specify folder itself as excluded * Moved cluster tests as separate job in tests.yml * Updated name to contain cluster word --------- Co-authored-by: Chayim <chayim@users.noreply.github.com> --------- Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> Co-authored-by: Chayim <chayim@users.noreply.github.com>
- Loading branch information
1 parent
00e8764
commit ac37f5b
Showing
36 changed files
with
1,026 additions
and
31 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
FROM redis/redis-stack-server:latest as rss | ||
|
||
COPY create_cluster.sh /create_cluster.sh | ||
RUN ls -R /opt/redis-stack | ||
RUN chmod a+x /create_cluster.sh | ||
|
||
ENTRYPOINT [ "/create_cluster.sh"] |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
#! /bin/bash | ||
|
||
mkdir -p /nodes | ||
touch /nodes/nodemap | ||
if [ -z ${START_PORT} ]; then | ||
START_PORT=6372 | ||
fi | ||
if [ -z ${END_PORT} ]; then | ||
END_PORT=6377 | ||
fi | ||
if [ ! -z "$3" ]; then | ||
START_PORT=$2 | ||
START_PORT=$3 | ||
fi | ||
echo "STARTING: ${START_PORT}" | ||
echo "ENDING: ${END_PORT}" | ||
|
||
for PORT in `seq ${START_PORT} ${END_PORT}`; do | ||
mkdir -p /nodes/$PORT | ||
if [[ -e /redis.conf ]]; then | ||
cp /redis.conf /nodes/$PORT/redis.conf | ||
else | ||
touch /nodes/$PORT/redis.conf | ||
fi | ||
cat << EOF >> /nodes/$PORT/redis.conf | ||
port ${PORT} | ||
cluster-enabled yes | ||
daemonize yes | ||
logfile /redis.log | ||
dir /nodes/$PORT | ||
EOF | ||
|
||
set -x | ||
/opt/redis-stack/bin/redis-server /nodes/$PORT/redis.conf | ||
sleep 1 | ||
if [ $? -ne 0 ]; then | ||
echo "Redis failed to start, exiting." | ||
continue | ||
fi | ||
echo 127.0.0.1:$PORT >> /nodes/nodemap | ||
done | ||
if [ -z "${REDIS_PASSWORD}" ]; then | ||
echo yes | /opt/redis-stack/bin/redis-cli --cluster create `seq -f 127.0.0.1:%g ${START_PORT} ${END_PORT}` --cluster-replicas 1 | ||
else | ||
echo yes | opt/redis-stack/bin/redis-cli -a ${REDIS_PASSWORD} --cluster create `seq -f 127.0.0.1:%g ${START_PORT} ${END_PORT}` --cluster-replicas 1 | ||
fi | ||
tail -f /redis.log |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
version: "3.9" | ||
services: | ||
cluster: | ||
container_name: redis-cluster | ||
build: | ||
context: . | ||
dockerfile: Dockerfile | ||
ports: | ||
- "6372:6372" | ||
- "6373:6373" | ||
- "6374:6374" | ||
- "6375:6375" | ||
- "6376:6376" | ||
- "6377:6378" | ||
volumes: | ||
- "./redis.conf:/redis.conf:ro" | ||
|
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Redis Cluster config file will be shared across all nodes. | ||
# Do not change the following configurations that are already set: | ||
# port, cluster-enabled, daemonize, logfile, dir | ||
protected-mode no | ||
loadmodule /opt/redis-stack/lib/redisearch.so | ||
loadmodule /opt/redis-stack/lib/redisgraph.so | ||
loadmodule /opt/redis-stack/lib/redistimeseries.so | ||
loadmodule /opt/redis-stack/lib/rejson.so | ||
loadmodule /opt/redis-stack/lib/redisbloom.so |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
26 changes: 26 additions & 0 deletions
26
src/Command/Strategy/ContainerCommands/Functions/DumpStrategy.php
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?php | ||
|
||
/* | ||
* This file is part of the Predis package. | ||
* | ||
* (c) 2009-2020 Daniele Alessandri | ||
* (c) 2021-2023 Till Krüss | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
|
||
namespace Predis\Command\Strategy\ContainerCommands\Functions; | ||
|
||
use Predis\Command\Strategy\SubcommandStrategyInterface; | ||
|
||
class DumpStrategy implements SubcommandStrategyInterface | ||
{ | ||
/** | ||
* {@inheritDoc} | ||
*/ | ||
public function processArguments(array $arguments): array | ||
{ | ||
return $arguments; | ||
} | ||
} |
32 changes: 32 additions & 0 deletions
32
src/Command/Strategy/ContainerCommands/Functions/FlushStrategy.php
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<?php | ||
|
||
/* | ||
* This file is part of the Predis package. | ||
* | ||
* (c) 2009-2020 Daniele Alessandri | ||
* (c) 2021-2023 Till Krüss | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
|
||
namespace Predis\Command\Strategy\ContainerCommands\Functions; | ||
|
||
use Predis\Command\Strategy\SubcommandStrategyInterface; | ||
|
||
class FlushStrategy implements SubcommandStrategyInterface | ||
{ | ||
/** | ||
* {@inheritDoc} | ||
*/ | ||
public function processArguments(array $arguments): array | ||
{ | ||
$processedArguments = [$arguments[0]]; | ||
|
||
if (array_key_exists(1, $arguments) && null !== $arguments[1]) { | ||
$processedArguments[] = strtoupper($arguments[1]); | ||
} | ||
|
||
return $processedArguments; | ||
} | ||
} |
26 changes: 26 additions & 0 deletions
26
src/Command/Strategy/ContainerCommands/Functions/KillStrategy.php
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?php | ||
|
||
/* | ||
* This file is part of the Predis package. | ||
* | ||
* (c) 2009-2020 Daniele Alessandri | ||
* (c) 2021-2023 Till Krüss | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
|
||
namespace Predis\Command\Strategy\ContainerCommands\Functions; | ||
|
||
use Predis\Command\Strategy\SubcommandStrategyInterface; | ||
|
||
class KillStrategy implements SubcommandStrategyInterface | ||
{ | ||
/** | ||
* {@inheritDoc} | ||
*/ | ||
public function processArguments(array $arguments): array | ||
{ | ||
return $arguments; | ||
} | ||
} |
Oops, something went wrong.