feat(desktop): add redis gui foundation baseline
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
36
scripts/redis-fixture/seed.sh
Executable file
36
scripts/redis-fixture/seed.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
container_name="${REDIS_FIXTURE_CONTAINER:-redis-gui-smoke}"
|
||||
ttl_ms="${REDIS_FIXTURE_TTL_MS:-300000}"
|
||||
|
||||
if ! docker container inspect "$container_name" >/dev/null 2>&1; then
|
||||
echo "Redis fixture container not found: $container_name" >&2
|
||||
echo "Run scripts/redis-fixture/start.sh first." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker exec "$container_name" redis-cli FLUSHALL >/dev/null
|
||||
|
||||
docker exec "$container_name" redis-cli SET smoke:string "hello from redis gui foundation" >/dev/null
|
||||
docker exec "$container_name" redis-cli SET smoke:string:ttl "expires soon" >/dev/null
|
||||
docker exec "$container_name" redis-cli PEXPIRE smoke:string:ttl "$ttl_ms" >/dev/null
|
||||
docker exec "$container_name" redis-cli HSET smoke:hash field_a alpha field_b beta >/dev/null
|
||||
docker exec "$container_name" redis-cli RPUSH smoke:list red green blue >/dev/null
|
||||
docker exec "$container_name" redis-cli SADD smoke:set spring summer autumn >/dev/null
|
||||
docker exec "$container_name" redis-cli ZADD smoke:zset 10 bronze 20 silver 30 gold >/dev/null
|
||||
docker exec "$container_name" redis-cli XADD smoke:stream '*' level info message seeded >/dev/null
|
||||
|
||||
cat <<EOF
|
||||
Seeded Redis fixture: $container_name
|
||||
Target: 127.0.0.1:${REDIS_FIXTURE_PORT:-6380}
|
||||
Database: 0
|
||||
Keys:
|
||||
- smoke:string
|
||||
- smoke:string:ttl
|
||||
- smoke:hash
|
||||
- smoke:list
|
||||
- smoke:set
|
||||
- smoke:zset
|
||||
- smoke:stream
|
||||
EOF
|
||||
35
scripts/redis-fixture/start.sh
Executable file
35
scripts/redis-fixture/start.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
container_name="${REDIS_FIXTURE_CONTAINER:-redis-gui-smoke}"
|
||||
host_port="${REDIS_FIXTURE_PORT:-6380}"
|
||||
image="${REDIS_FIXTURE_IMAGE:-redis:7.4-alpine}"
|
||||
|
||||
if docker container inspect "$container_name" >/dev/null 2>&1; then
|
||||
running="$(docker inspect -f '{{.State.Running}}' "$container_name")"
|
||||
if [ "$running" = "true" ]; then
|
||||
echo "Redis fixture already running: $container_name on 127.0.0.1:$host_port"
|
||||
else
|
||||
docker start "$container_name" >/dev/null
|
||||
echo "Redis fixture started: $container_name on 127.0.0.1:$host_port"
|
||||
fi
|
||||
else
|
||||
docker run -d \
|
||||
--name "$container_name" \
|
||||
-p "${host_port}:6379" \
|
||||
"$image" \
|
||||
redis-server --save '' --appendonly no >/dev/null
|
||||
echo "Redis fixture created: $container_name on 127.0.0.1:$host_port"
|
||||
fi
|
||||
|
||||
attempt=0
|
||||
until docker exec "$container_name" redis-cli ping 2>/dev/null | grep -q '^PONG$'; do
|
||||
attempt=$((attempt + 1))
|
||||
if [ "$attempt" -ge 20 ]; then
|
||||
echo "Redis fixture did not become ready within 20 seconds." >&2
|
||||
exit 1
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "Redis fixture is ready."
|
||||
11
scripts/redis-fixture/stop.sh
Executable file
11
scripts/redis-fixture/stop.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
container_name="${REDIS_FIXTURE_CONTAINER:-redis-gui-smoke}"
|
||||
|
||||
if docker container inspect "$container_name" >/dev/null 2>&1; then
|
||||
docker rm -f "$container_name" >/dev/null
|
||||
echo "Removed Redis fixture container: $container_name"
|
||||
else
|
||||
echo "Redis fixture container does not exist: $container_name"
|
||||
fi
|
||||
Reference in New Issue
Block a user